ORACLE数据库基础(操作及维护)
1. ORACLE数据库的实体介绍
a) 数据库实例
b) 表空间
select * from dba_segments d;--表空间的大小,类型,所属
select * from v$logfile; --日志文件的类型,是否是online
select * from v$log;--日志文件的大小
select tablespace_name,status from dba_tablespaces;--表空间使用情况
select file_name, sum(e.bytes)/1024/1024 as MB
from dba_extents e join dba_data_files f on e.file_id=f.file_id
group by file_name; --查询数据文件所占大小
1、查询Oracle表空间状态
1.select tablespace_name,status from dba_tablespaces;
三八放假是法定的吗 2、更改Oracle表空间状态
1.alter tablespace book offline/online/read only/read write;
离线/在线/只读/读写
3、数据文件移动
1.select tablespace_name,file_name from dba_data_files;
2.alter tablespace book offline;
将要修改的文件移动到新目录下
1.alter tablespace book rename datafile '/u01/oradata/oracle8i/sales01.dbf' to '/u02/oradata/oracle8i/sales01.dbf';
4、修改数据文件的online/offline属性
archivelog模式下
1.alter database datafile '/u01/oradata/oracle8i/sales01.dbf' offline;
noarchivelog模式下
1.alter database datafile '/u01/oradata/oracle8i/sales01.dbf' offline drop;
5、数据字典表空间与本地化管理表空间的转化为
1.select tablespace_name,extent_management,allocation_type from dba_tablespace;
2.exec dbms_space_admin.tablespace_migrate_to_local('book')
系统表空间system和临时表空间temp不得转换
1.exec dbms_space_admin.tablespace_migrate_from_local('book')
6、删除表空间
1.drop tablespace student including contents;
including contents将表空间及实体删除
1.create table test(id number(3)) tablespace test_tablesapce;
c) 用户
d) 表
e) 列
f) 索引
g) 约束
h) 函数
i) 过程
j) 序列
k) 触发器
l) 之间的关系
2. ORACLE数据库的权限设置
a) 表空间只读,读写权限
SQL> select tablespace_name,status from dba_tablespaces;
SQL> alter tablespace demo read only;
alter tablespace demo read write;冬至祝福语简短精悍
b) 2017高考时间用户增删改查权限
grant dba to lxg;--授予DBA权限
grant unlimited tablespace to lxg;--授予不限制的表空间
grant select any table to lxg;--授予查询任何表
grant select any dictionary to lxg;--授予 查询 任何字典
grant unlimited tablespace to lxg;--授予不限制的表空间
grant select any table to lxg;--授予查询任何表
grant select any dictionary to lxg;--授予 查询 任何字典
grant unlimited tablespace to lxg;
grant select any table to lxg;
grant select any dictionary to lxg;
grant select any table to lxg;
grant select any dictionary to lxg;
c) DBA权限
grant dba to lxg;
3. ORACLE数据库的正常操作
a) 正常启动
正常启动数据库的选项是normal,这也是数据启动的缺省选项。以这种方式启动将启动一个实例(即instance,实例是指oracle的后台进程和SGA区),并把数据库装入(mount),然后打开数据库供用户使用。具体操作如下:
首先以oracle用户登入,su - oracle
1. 以nolog方式进入sqlplus
$sqlplus /nolog
sql>
2. 再做为sysdba连入
SQL>conn / as sysdba
3. 用startup命令启动
SQL>startup
(若启动文件名不是ORACLE缺省的文件名,则启动时应带启动目录与文件名)
SQL>startup pfile=<file-pathr/init-file>
b) 安装启动
SQL>startup mount
该方式启动数据库的的用途一般为:
为数据文件更名;
增加、删除或改名事物日志文件;
使事物日志归档模式选项有效或失效;
进行完整数据库的恢复操作
c) 非安装启动
波兰VS墨西哥SQL> startup nomount
该方式启动数据库的用途一般为:
创建一新的数据库
重建控制文件
d) 北京南站到六里桥正常关闭
首先以sysdba连入:
$sqlplus /nolog
$SQL>conn / as sysdba
SQL>shutdown normal(或只写shutdown)
这种方式下关闭数据库在关闭前检查所有的连接,并且发出命令后不允许再有新的连接,在等所有用户断开连接后关闭数据库。在此方式下关闭的数据库下次启动时不需要任何恢复过程。但根据经验,在生产环境下以这种方式关闭数据库需要很长时间,甚至根本关不掉数据库,因此一般不推荐使用这种方式关闭数据库。
e) 立即关闭
SQL>shutdown immediate;
这种方式下关闭数据库也不允许新的连接,但它并不等待已连接用户断开连接,而是由系统断开与用户的连接,然后回滚所有未提交的事务,接着关闭数据库。这种方式关闭数据库也算是正常关闭,下次启动时也不需要做恢复,而且这种方式关闭数据库通常比较快,因此建议关闭数据库时尽量使用这种方法。
f) 异常关闭
SQL>shutdown abort;
这种方式下关闭数据库系统不做任何的检查与回退操作而直接将数据库实例撤消并将数据文件关闭。用这种方法关闭数据库速度最快,但这种关闭方法不能保证数据库的一致性,下次启动数据库时有可能无法打开数据库,因此通常不建议使用这种方式关闭数据库。
4. ORACLE数据库的导入及导出
a) 导入
将D:daochu.dmp 中的数据导入 TEST数据库中。
imp system/manager@TEST file=d:daochu.dmp
imp aichannel/aichannel@HUST full=y file=file= d:datanewsmgnt.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
多地取消强制疫苗在后面加上 ignore=y 就可以了。
2.将d:daochu.dmp中的表table1导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
b) 导出
1.将数据库TEST完全导出,用户名system密码manager导出到D:daochu.dmp中
exp system/manager@TEST file=d:daochu.dmp full=y
2.将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:daochu.dmp owner=(system,sys)
3.将数据库中的表inner_notify、notify_staff_relat导出
exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)
4.将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面加上compress=y来实现。
5.通过PL/SQL Developer导出
5. Oracle数据库的报警和日志
理解报警日志文件
警告日志,是Oracle使用的一种基本警告机制,其作用是提醒数据库管理员注意数据库的错误、异常环境以及某些永久性动作(例如DDL导致的数据库结构改变等),每个事件都潜在地影响着数据库性能和可用性,其日期和时间都被记录在案,每个事件的起止时间也有相应地入口提供标示。一旦数据库产生了问题,警告日志是第一个可以到相关信息的
地方。报警日志文件一般记载了数据库的启动/关闭信息,归档信息,备份信息,恢复信息,常见错误信息,部分数据库修改记录等。一般令名规则为<SID>_Alert.log或Alert_<SID>.log,如某数据库的SID为test,则报警日志文件的名称为alert_test.log。
报警日志文件的路径是根据初始化参数background_dump_dest来决定的,如该参数值为 D:\Oracle\admin\test\bdump,那么,你就可以在该路径下到该文件
理解后台进程跟踪文件
跟踪文件在异常事件发生时由Oracle创建,通常伴随着警告日志中的错误信息而产生。警告日志包含了错误事件的概述,而随之产生的跟踪文件则记录了该错误事件的详细信息(如果错误事件很重要,就应记录其详细信息)。后台进程的跟踪文件名通常具有下列格式:<BGP_Name>_<SID>_<UNIX_PID>,这里<BGP_Name>是指后台进程(如DBWR或SNON)的名字, <SID>指可用环境ORACLE_SID的值,而<UNIX_PID>指后台进程的OS进程ID。UNIX平台上前台进程产生的跟踪文件的命名具有下列格式:ora_<SID>_<UNIX_PID>.trc。UNIX _PID可以通过查看ps -ef命令的输出结果确定。在Windows NT上,构成后台进程的线程的跟踪文件的命名具有下列格式:<SID><BGP_Nam
e>.trc ,这里SID是ORACLE_SID的值(该值可从ORACLE_SID注册表中获得),<BGP_Name>是构成后台进程的线程的真实名字(这个名字可以在v$bgprocess活动窗口中的Name列中获得)。在Windows NT上,前台进程的跟踪文件名具有下列格式:ORA00<nnn>.trc。这里<nnn>指v$process活动窗口中SPID列的十六进制值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论