startup a database
nomount:读初始参数文件,分配物理内存,启动instance 启动backgroud process,透过参数文件定位control file 等的路径,而且instance
启动的时候会去读写alterfile 如果alter file 不存在的话就自己建一个alter file
Test删除alter file
sql>shutdown immediate
sql>startup nomount
在bdump下可见生成了alterfile
可以访问到的table
1.sql>select * from v$instance;
2.sql>select * from v$bgprocess;
3 sql>select * from v$sga
但是:select * from v$database就不可以
mount: 读control file 打开control file并且可以确认到database 的一些结构信息但是user的信息没法读到因为database 没有open
sql>alter database mount;
可以访问到
1。sql〉select * from v$database;
2。sql>select * from v$tabbalespace;
3. sql>select * from v$datafile;
4. sql>select * from v$log;
5。sql>select * from scott.emp;出错
open:all files opened 同时确认db状态如果必要的话smon后台进程会对系统进行recovery 例如db shutdown abort 后的处理,依据交易量
的不同这种open的时间不同
sql>alter database open;
sql>select * from scott.emp;
可用了
总结:nomount ----startup instance
used to create db and create controlfile;
mount ----open controlfile
used to change log mode, rename file ,db recovery...
startup [nomount|mount|open] pfile=***
restrict
recover
force
几个状态可以组合
force 忽略正在runnig的情况强制在restart一下
exp:
sql>startup force pfile=pathinit.ora mount;
sql>alter database open;
The alter database command
在启动database 的时候有两种状态可选A ,Read/write B.Read only
这两种状态只是在启动过程的时候才能决定,一但这个database已经启动就不可能在这两种状态间转换
exp:
sql>startup force pfile=pathinit.ora mount;
sql>alter database open read only ;
error --ora-16005数据库需要恢复
因为在startup force mount 后open 数据库的时候需要recovery
sql〉alter database open;可正常
sql〉alter dabatabase read only;
error ora-02231 缺少或无效的alter database 选项
/
启动到restrict:限制一些有特权的用户可以访问db其他用户不具有
可以在启动过程中实现restrict 功能如:startup restrict 也可以在启动后用alter system enable restricted session;实现
exp:
在一个sqlplus
sql〉connect scott/tiger
已连线
在另一个sqlplus
sql>alter system enable restricted session;(有sysdba权限的用户)
后
在一个sqlplus
sql>connect scott/tiger
erro ora-01035 Oracle only available to users with restricted session privilege
在另一个sqlplus (即有sysdba的user)
sql>grant restricted session to scott;
现在scott就可以登陆oracle了
disable restricted session 的command
sql>alter system disable restricted session;
以后就正常了
/
read only 模式的功能
sql>startup mount
sql>alter database open read only;
1.在这种状态的时候只能做查询不能改变数据,
2.同时可以做基于local 管理的表空间的磁盘排序,
3.可以完成数据文件的online offline 但是不能对tablespace 实现online offline
4.适用于offline 数据文件和表空间的recovery
exp:
sql>select * from scott.emp;
OK
sql>update scott.emp set emp=445 where emp=kkk
error ora-01552非系统表空间‘users'无法使用系统回退段
sql>alter database datafile test offline;
sql>c /off/on/
sql>run
OK
sql>alter tablespace users offline;
error ora-16000打开数据库以进行只读访问
待续...
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/202861/viewspace-796042/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/202861/viewspace-796042/