oracle的启动
oracle的启动大致分为三个部分:nomount、mount、open。
1.nomount状态
nomount是oracle启动的第一个状态。它读取了参数文件pfile,并向bdump目录下的alter_sid.log文件中写入启动的基本参数信息。它提供了oracle的内存环境并指明了oracle控制文件的位置。
在这个状态下我们可以看到oracle的实例、后台进程、内存环境
SQL>select * from v$instance
SQL>select * from v$bgprocess
SQL>select * from v$sga
在这个状态下我们可以创建数据库、可以创建控制文件。
2.mount状态
在mount状态下oracle打开了控制文件,并准确找到了数据库文件、日志文件等,数据库就是在这个时候被挂载上去的。在这个层面上我们可以进行一些物理层面的操作,我们还无法打开表空间之类的操作。例如:
SQL>select * from v$database
SQL>select * from v$tablespace
SQL>select * from v$datafile
SQL>select * from v$log
在这个状态下我们可以改变日志模式、文件重命名、数据库恢复。
前面的两部分并没有完全打开数据库,所以这个时候我们看到的只有数据库的内存信息,数据库结构信息。因为数据库还没有完全打开所以数据库是不能正常读写的,因此这时如果您查看数据库里面的表是查看不到的。
SQL>select * from test;这时反馈错误的信息。
3.open状态
数据库的打开有两种方式:普通模式即可读可写、只读模式。
SQL>alter database db01 open read only;这两种状态只是在打开数据库之前觉得,打开之后是不可能再改变的。
注意:当数据库是非正常关闭的情况下,数据库是无法打开到只读的模式下的;因为非正常关闭(断电、强制关闭)数据库打开以后是需要进行恢复的,如果数据库是只读的话就无法对数据库进行读写操作,会导致恢复失败打不开数据库。例如我们做个试验:
SQL>startup force pfile=’d:oracleadminorclpfileinit.ora’ mount
SQL>alter database open read only;-------这时系统就会出项错误信息。
Open a database in restricted mode打开一个数据库到严格模式当数据库打开到这个模式下的话,只有拥有restriced session权限的用户才能登陆到这个数据库上。默认情况下系统的特权用户都拥有这个权限。有两种方法:
1.startup restrict
2.使用alter system命令来修改
alter system enable restricted session;------在session下开启
alter system disable restricted session;--------在session下关闭restricted模式。想要让某个普通用户能够登录restrict系统,我们可以使用一个系统管理员给这个普通用户授权:
SQL>grant restricted session to kkman;
startup的使用
我们可以通过startup命令来设置我们想要的数据库的状态。
startup [nomount | mount | open]
startup force 强制重新启动。
startup force pfile=’d:oracleadminorclpfileinit.ora’ mount
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13062352/viewspace-614252/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13062352/viewspace-614252/