实验46:启动数据库的三个台阶nomount,mount,open


实验46:启动数据库的三个台阶nomount,mount,open该实验的目的是细化启动数据库的三个步骤,彻底的明白还要等到学习完冷备份之后.
启动数据库到nomount状态的条件如下.如果你是非windows操作系统就没有注册表,而有环境变量.
服务中的OracleService必须启动
服务的名称和注册表中的oracle_sid相匹配
存在正确的密码文件和参数文件
有足够的内存
参数文件中描述的路径必须存在
数据库产品软件安装正确
conn sys/sys as sysdba
Shutdown abort;
Startup nomount;
select instance_name,status from v$instance;

启动数据库到第一个台阶nomount状态做了如下的工作.
1.读参数文件
2.分配内存
3.启动后台进程
4.初始化部分v$视图
将数据库带到mount状态
select value from v$spparameter where name='control_files';
Alter database mount;
Mount数据库的过程是读参数文件中描述的控制文件,校验控制文件的正确性,将控制文件的内容读入到
内存,mount是挂接的意思,是操作系统中的概念.一旦mount之后,就是将一个没有意义的实例和一个
数据库发生了联系.因为实例是空壳.没有任何数据库和该实例发生关系,我们可以理解为实例是水泵,放
到哪个水塘里就会抽取哪里的数据,实例是通用的.mount的意思是将一个通用的水泵放入到指定的水塘.
mount是读控制文件,控制文件中有数据文件和日志文件的信息.
select instance_name,status from v$instance;
打开数据库
Alter database open;
读控制文件中描述的数据文件
验证数据文件的一致性,如果不一致,使用日志文件将数据库文件恢复到一致的状态.
数据库open后,普通用户才可以访问数据库
用户的表才为可见
只读方式open数据库
Alter database open read only;
select OPEN_MODE from v$database;
默认的open方式为read write
想改read only为read write 必须重新启动数据库
我们现在回想一下数据库启动的三个台阶,我们先读的是参数文件,参数文件可以有我们来编写.读完参数
文件后又读了控制文件,控制文件描述了数据文件和日志文件的信息,如果控制文件丢失可以重新建立,最
后是读数据文件.数据文件里才存放了我们的数据.数据库将启动分为三个台阶,目的是我们可以准确的知
道哪里有问题,迅速的排除.有点象老鼠拖木钎,大头在后面.由最开始的一个1k的参数文件,最后到几个t
的大型数据库.当我们只打startup而不加任何参数的时候.默认是到open,等于startup open;
SQL> startup
ORACLE instance started.
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 75498852 bytes
Database Buffers 88080384 bytes
Redo Buffers 2945024 bytes
Database mounted.
Database opened.
我们从屏幕显示的结果可以清楚的看出,有三个台阶.
还有一个命令是startup force强制启动数据库,等于强制停止数据库再启动数据库.

你可能感兴趣的:(oracle,工作,数据库,windows,database,System)