【Oracle数据库DBA必备基本技能】
Normal 需要等待所有的用户断开连接
Immediate 等待用户完成当前的语句
Transactional 等待用户完成当前的事务
Abort 不做任何等待,直接关闭数据库
normal 需要在所有连接用户断开后才执行关闭数据库任务,所以有的时候看起来好象命令没有运行一样!在执行这个命令后不允许新的连接
immediate 在用户执行完正在执行的语句后就断开用户连接,并不允许新用户连接。
transactional 在拥护执行完当前事物后断开连接,并不允许新的用户连接数据库。
abort 执行强行断开连接并直接关闭数据库。
startup
不带参数,启动数据库实例并打开数据库,以便用户使用数据库,在多数情况下,使用这种方式!
nomount,只启动数据库实例,但不打开数据库,在你希望创建一个新的数据库时使用,或者在你需要这样的时候使用!
mount,在进行数据库更名的时候采用。这个时候数据库就打开并可以使用了!
1)首先知道控制文件,数据文件,以及日志文件的所在目录以及表空间相关使用情况,会优化Top级别SQL语句
select * from v$logfile
select * from v$log
select * from v$datafile
select * from v$controlfile
2)知道警告日志文件的路径
show parameter background_dump_dest ;
或者
select * from v$parameter where name like '%background_dump_dest%'
3)知道数据库是否归档以及数据库名字
select * from v$database
4)了解SGA分配
select * from v$parameter where name like '%sga%'
5)观察系统性能以及相应的等待事件
6)查看缓冲池的命中率
select sum(pinhits)/sum(pins) * 100 from v$librarycache
7)查看排序部分(磁盘排序和内存排序)
select * from v$sysstat where name like '%sort%'
8)等待事件
select * from v$session_wait
select * from v$session_event
select * from v$system_event
9)事物回退率
select * from v$sysstat where name like '%user commits%' or name like '%transaction rollbacks%'
select * from dba_rollback_segs
select * from v$waitstat
select * from v$transaction
10)数据文件损坏或者丢失如何恢复
11)日志文件损坏或者丢失如何恢复
alter system switch logfile
12)控制文件损坏如何恢复
13)Rman备份