Oracle数据库启动过程

本文深入解析Oracle数据库启动的三个关键阶段:NOMOUNT、MOUNT 和 OPEN,详细阐述了每个阶段的工作原理及操作步骤,包括如何通过命令行进行数据库的停止、启动至不同状态,并在各阶段检查实例状态。重点强调了控制文件在数据库启动和维护中的作用,以及如何通过控制文件确保数据库一致性。此外,文章还介绍了只读方式打开数据库的方法,并提供了数据库启动命令的基本用法和参数,帮助读者理解数据库启动的完整流程。
启动数据库的三个台阶
NOMOUNT
MOUNT
OPEN
 深入了解Oracle 数据库启动的每个台阶的工作原理,数据库排错,恢复,备份,全靠你的基础知识是否扎实!
 

SQL> conn sys/sys as sysdba              --最高级用户连接到数据库

SQL> Shutdown immediate;                     --先停止数据库

SQL> Startup nomount;                    --启动数据库到第一个台阶

SQL> select instance_name,status from v$instance;      --查看实例的状态

显示为started

启动数据库到第一个台阶nomount状态做了如下的工作。

1.读参数文件

2.分配内存

3.启动后台进程

4.初始化部分v$视图(内存相关的)

SQL> select value from v$spparameter where name='control_files';

将数据库带到mount状态
SQL> Alter database mount;

Mount数据库的过程是读参数文件中描述的控制文件,将控制文件读入到内存中,mount之后,就是将一个没有意义的数据库实例和一个数据库发生了关联。实例在nomount状态下是空壳。没有任何数据库发生关系,。mount的意思是将一个实例与指定的数据库挂接上。mount是读控制文件,控制文件中有数据文件和日志文件的信息。

SQL> select instance_name,status from v$instance;

显示为mounted

打开数据库

SQL> Alter database open;

SQL> select instance_name,status from v$instance;

显示为open

读控制文件中描述的数据文件

验证数据文件的一致性,如果不一致,使用日志文件将数据库文件恢复到一致的状态。

数据库open后,普通用户才可以访问数据库

用户的表才为可见

只读方式open数据库

SQL> Alter database open read only;

SQL> 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强制启动数据库,等于强制停止数据库再启动数据库。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12798004/viewspace-1136239/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12798004/viewspace-1136239/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值