日期:2014-05-16  浏览次数:20300 次

Oracle数据库四种状态、启动与关闭

网上的学习资料很多,尽管我下决心要去专研oralce,所能找到的学习资料依然数不胜数,比较流行的完全开源的视频《韩顺平——玩转oralce》几乎已看完了,一边看一边做笔记。只剩下几个关于pl/sql编程方面的几个,暂时不去看了。韩老师的特点是通俗易懂,但对于有一定经验的人来说未免有些啰嗦,信息量不大。看他的视频主要目的是把基础在此夯实一下。关于oracle方面的东西实在是太多,要记的东西太多,有些东西觉得自己学过会用,但就是当使用的时候想不起来或者记错,这就是基础不牢固的表现,很多oracle大牛(ACE)都觉得,把基础打牢了,后面的学习才会非常快,才有可能在三到五年的时间成为高级DBA。当然,这个基础绝不是仅仅会写几个sql语句,或者会某些操作就可以了,还要大量阅读oralce的官方文档,还要脚踏实地一步一个脚印的读书和实验。

万事开头难,现在的我就是出于刚刚出发的阶段,虽然困难,但凭着坚定的毅力,我一定会坚持下去,三到五年的时间,一定要做出个名堂出来。现在信息技术太发达,各种技术更新太快,作为一个普通的程序员,想要跟上某一项技术或者时刻想着追求新技术,那几乎是没可能的。工作还不到两年,算是基本确定了自己将来要走的路,就是oralce。多门通不若一门精,在技术的海洋里,要找出一个适合自己的,并且很有发展前途的技术来做,这样的程序员才不会等到30岁再去感叹苦逼,感叹芳华已尽,灵感不在,无奈转行。看那些oralce ACE 和ACE Director 大都是从03年以后开始考虑做DBA的,但10年之前都取得了重大的成功,他们的自传和采访录里,都提到:自己不是天才,不具备十分的聪明才智,但对oralce感兴趣,并且意志坚定不屈不挠,一直坚持下来成就今天的自己。特别是杨廷琨先生,他好像是博士,网上关于他的资料不多,但他的blog在oralce界可是大大的有名,一天一篇,很少间断,至今已写了3000多篇了吧,这份坚持就不是一般人做得到的,有了这样的坚持,什么事情战胜不了,一个小小的oralce而已,也不过是人发明的,也不过就是几十年而已。学习是我们程序员的特长,坚持是我多年锻炼身体磨练出的意志,论聪明或许不及那些天才们,但学oracle完全足够了。现在的问题就是,相信自己,坚持下去。

今天学习了王二暖的视频,oralce的启动与关闭,在此做一些记录,以免时过境迁之后忘记了。

首先,oracle具有四种状态:shutdown(完全关闭),nomount(未加载),mount(已加载),open(完全打开),这四种状态加载方式通过命令行来操作比较好。以下是详细介绍:

shutdown :完全关闭状态 关闭命令是shutdown immediate(立即关闭)


注意:数据库的关闭顺序与数据库的加载顺序相反。

nomount:在这个状态下,oracle会打开参数文件,分配SGA并打开后台进程。


在这种状态下,可以查询后台进程和实例信息。如:

select * from v$bgporcess;

select * from v$instance;

v$parameter、v$sga、v$process、v$session、v$instance等等

mount:在mount状态下,oralce会在nomount的基础上,根据control_files的设置来打开控制文件。在nomount的基础上,进入此状态的命令是:alter database mount


在此状态下:可以执行的命令有:

select * from v$tablespace;命名空间

select * from v$datafile;数据文件

select * from v$database;数据库信息

v$controlfile、v$database、v$datafile、v$logfile

open: 这个状态表示数据库完全打开,在mount的基础上,使用命令alter database open,在mount的基础上根据控制文件的记录打开所有的数据文件和重做日志。


此状态下,就是完全打开的状态,可以进行权限范围内的所有操作。

注意:

1,在shutdown 状态,可以通过使用startup nomount |mount|open|force |restrict 直接跳到某个状态。force是强制进入open状态(无论当前什么状态),restrict是指进入open状态但只有具备了restricted session 权限的用户才可以登录。如果使用startup不加参数,那么直接就是进入open状态。

2,如果使用alter database ****才启动oracle ,必须按照顺序启动,即:nomount-->mount-->open。不能越级,不能反方向。