数据库启动的不同状态

一、数据库启动的状态
1、先找到初始化文件(spfile或pfile),这时数据库处于nomount状态
2、根据初始文件找到控制文件(Control File),这时数据库处于mount状态
3、根据控制文件找到数据文件(Data File)、重做日志文件(Redo File),这时数据库处于open状态

二、关闭数据库的4个命令
1、shutdown immediate
不允许新的连接、不等待会话结束、不等待事务结束、做一个检查点并关闭数据文件。没有结束的事务是自动rollback的。启动时不需要对数据库进行实例恢复。此命令最常用,即使数据库还有事务在运行,还有人停留在数据库上,都可以关闭数据库。
2、shutdown abort
不允许新的连接、不等待会话结束、不等待事务结束、不做检查点且没有关闭数据文件。启动时数据库将自动进行实例恢复。这个很少使用,一般数据库在运行复杂的业务,而shutdown immediate命令不能关闭数据库,并且需要快速关闭数据库时使用。
3、shutdown transaction
不允许新的连接、不等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时数据库不需要实例恢复。很少使用,在数据库业务很重要时,需要等到事务处理完成才能关闭。
4、shutdown normal
不允许新的连接、等待会话结束、等待事务结束、做一个检查点并关闭数据文件。启动时数据库不需要实例恢复。很少使用,只有还有用户仪在数据库上,都不能正常关闭时使用。

三、数据库三个状态解析
1、nomount状态:一般在维护数据库时需要用到,比如对数据库重要参数的修改,恢复数据库的控制文件及数据时都需要用到该状态。
①把数据库启动到:startup nomount
②查看数据库实例状态:select instance_name,status from v$instance;
③寻找数据库初始化文件的位置:show parameter spfile
④根据spfile创建pfile文件:create pfile='c:\pfile.ora' from spfile;
⑤用初始化文件pfile来启动数据库:
shutdown immdiate
startup nomount pfile='c:\pfile.ora'
2、mount状态:在数据库恢复数据时需要用到,而数据库在配置数据库备库(Dataguard)时,数据库的备库处于mount状态
①从nomount状态更改为mount状态:alter database mount;
②查看空值文件的具体位置:select name from v$controlfile;
③查看空值文件中的内容:
alter database backup controlfile to trace as 'c:\ct1.trc';
④启动数据库到mount状态
shutdown immediate
startup mount
3、open状态:数据库已经正常运行,允许数据库用户访问
①从mount状态改为open状态:alter database open;
②查看数据库的重做日志位置:select member from v$logfile;

四、密码文件
1查看数据库是否允许用户远程登录数据库
show parameter remote_login_passwordfile
注:EXCLUSIVE表示允许,NONE表示不允许
2、如何禁止数据库用户远程登录数据库
alter system set remote_login_passwordfile=none scope=spfile;
startup force;

五、查询及说明表空间
select dt.tablespace_name as "表空间名称",
       dt.block_size/1024 as "数据块存储大小单位(KB)",
       dt.status as "表空间状态",
       dt.contents as "表空间内容",
       dt.logging as "是否有日志纪录"
 from dba_tablespaces dt;

①数据块存储大小单位(block_size):为Oracle数据库在系统硬盘中存储的最小单位,一般默认为8KB,如果需要存储一些大对象数据,一般设置成16KB
②表空间状态(status):ONLINE表示该空间处于联机状态,用户可以访问该表空间的数据;如果是OFFLINE,为脱机状态,用户不能访问该表空间的数据
③表空间的类型(contents):PERMANENT为该表空间的数据可以永久保存,UNDO一般为还原表空间的数据,相当于回收站,只能保存最近更改的数据,而TEMPORAY一般为临时表空间的数据,这一类的数据不会永久存储在系统的数据文件中,只是在查询或排序时,内存不够时借用该空间临时存放一下数据而已
④是否有日志记录(logging):重要需保存的表空间,一般都为logging状态,需要记录相关日志,像临时表空间或者不重要的表空间则不需要记录

六、查询及说明数据文件
select dt.tablespace_name as "表空间名称",
       dt.file_name as "数据文件路径",
       dt.bytes/1024/1024 as "数据文件大小(MB)",
       dt.autoextensible as "数据文件是否自动扩展",
       dt.maxbytes as "数据文件最大(MB)"
 from dba_data_files dt;
①数据库文件路径:是Oracle数据库的数据文件在系统所在的磁盘位置
②数据文件大小:可以看到每个数据文件现在使用了多大空间
③是否自动扩展:一般为了节省磁盘空间,刚开始的数据文件都设置的比较小,当数据不断增多时,数据文件会自动扩展,直至到达最大设定值
④数据文件最大值:即该数据文件最大的容量

七、查询及说明重做日志
select * from v$logfile;

①group#(组):可以看到数据库中共有3组重做日志
②status(状态):stale为已经把数据提交到数据库中,空白表示正在使用该文件
③member(成员):为每组的成员,并列出路径和名称

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29489498/viewspace-1103037/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29489498/viewspace-1103037/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值