学习笔记二

startup and shutdown dababase[@more@]

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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值