Chinaunix首页 | 论坛 | 博客
  • 博客访问: 783926
  • 博文数量: 434
  • 博客积分: 11187
  • 博客等级: 上将
  • 技术积分: 5221
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 01:00
文章分类

全部博文(434)

文章存档

2016年(2)

2013年(1)

2012年(115)

2011年(195)

2010年(32)

2009年(89)

分类: Oracle

2010-12-02 15:27:24

启动数据库的三个台阶nomoutn, mount, open
一、将数据库启动到nomount状态:
$sqlplus /nolog
SQL> conn sys/sys as sysdba;
SQL> startup nomount;
SQL> select instance_name,status from v$instance;
INSTANCE_NAME    STATUS
---------------- ------------
orcl             STARTED

SQL> select value from v$spparameter where name='control_files';
VALUE
-----------------------------------------------------------------
/oracle/oradata/orcl/control01.ctl
/oracle/oradata/orcl/control02.ctl
/oracle/oradata/orcl/control03.ctl
启动数据库到第一个台阶nomount状态做了如下的工作:
1.读参数文件 2.分配内存 3.启动后台进程 4.初始化部分v$视图。

二、将数据库启动到mount状态:
SQL> alter database mount;
Database altered.

SQL> select instance_name,status from v$instance;
INSTANCE_NAME    STATUS
---------------- ------------
orcl             MOUNTED

mount 数据库的过程是读参数文件中描述的控制文件,校验控制文件的正确性,将控制文件的内容读入到内存。

三、打开数据库:
SQL> alter database open;
Database altered.
SQL> select instance_name,status from v$instance;
INSTANCE_NAME    STATUS
---------------- ------------
orcl             OPEN

读控制文件中描述的数据文件,验证数据文件的一致性,如果不一致,使用日志文件将数据库文件恢复到一致的状态。数据库open后,普通用户才可以访问数据库,用户的表才可见。

四、只读方式open数据库:
SQL> alter database open read only;
Database altered.

SQL> select open_mode from v$database;
OPEN_MODE
----------
READ ONLY

默认read only 为read write

想改read only为 read write 必须重启动数据库。

只打startup 而不加任何参数的时候,默认是到open,等于startup open;

命令startup force 强制启动数据库,等于强制停止数据库在启动数据库。
阅读(1315) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~