您的位置:首页 > 数据库 > Oracle

oracle 启动的步骤

2015-11-30 17:41 651 查看
startup 启动三步

startup nomount ;
alter database mount;
alter database open;

startup nomount : 启动实例

1.读参数文件
2.分配内存
3.启动后台进程
4.初始化部分v$视图

startup mount :挂载
alter database mount;
control_files =决定控制文件的个数和位置
控制文件:记录数据库中数据文件,日志文件的位置信息,检查点信息
实例通过控制文件的描述 挂载到相应的库上
启动到nomount状态后,oracle就可以从参数文件中获得控制文件的位置信息。在mount数据库的过程中,oracle需要加载并锁定控制文件。

open: 校验

根据控制文件中记录的信息找到数据文件,日志文件检查点等信息, 进行检查点以及完整性校验 ,如果不一致或文件丢失就需要恢复。
alter database open read[wrote|only]: 两者的切换只能重启
1. nomount : 参数文件
2. mount :控制文件
3. open :数据文件

oracle 在open的过程中,进行校验有以下两项:

第一次检查数据文件头中检查点计数(checkpoint cnt)是否和控制文件中检查点计数(checkpoint cnt)一致。此步检查用以确认数据文件是来自同一版本,而不是从备份中恢复而来(因为checkpoint
cnt不会被冻结,会一直被修改)
如果检查点计数检查通过,则进行第二次检查。第二次检查数据文件头的开始scn和控制文件中记录的scn是否一致,如果一致就不需要对该数据文件进行恢复,对每个数据文件完成检查后,打开数据库,锁定数据文件,同时将每个数据文件的结束scn设置为无穷大。

[root@zw_test_26_75 orcl]# mv zw.dbf zw.dbf.b

数据库在启动的时候,在open阶段,oracle才会检查这个文件的存在性,如果文件不存在,就会报错;

SQL> startup nomount;
ORACLE instance started.

Total System Global Area 1603411968 bytes
Fixed Size 2253664 bytes
Variable Size 989858976 bytes
Database Buffers 603979776 bytes
Redo Buffers 7319552 bytes
SQL> alter database mount;

Database altered.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file
ORA-01110: data file 5: '/u01/app/oracle/oradata/orcl/zw.dbf'

注意:仅在open阶段oracle才尝试打开并锁定数据文件。

----------------------------------------------------------------------

关闭数据库几种方式:
shutdown abort : 相当于拔电源(nomount状态,abort没问题)
shutdown immediate : 断掉连接,存盘,结束进程;事物rollback
shutdown transactional : 等待所有的事物结束,等待事物commite,或 rollback;
shutdown normal : 等待所有的会话结束
shutdown startup force : 相当于拔掉电源,再重启

oracle 没有主动提交的事物都是非法的事物

如果修改了pfile,或 spfile : 推荐 一步一步的重启
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: