姚强 2020-04-06
1)9i之前,只有静态参数文件pfile文件;
2) 9i开始,引入了动态参数文件spfile文件。
3) 默认的查找参数文件的路径:Windows下是%ORACLE_HOME%\database; Linux下是$ORACLE_HOME\dbs。
4) 11g中,启动数据库,Oracle按照spfileSID.ora、
5) spfile.ora、initSID.ora、Init.ora的顺序查找,其中SID是服务名,也叫Oracle系统标识符。
SHUTDOWN状态下,实例和数据库都关闭。
SQL> shutdown immediate 数据库已经关闭。 已经卸载数据库。 ORACLE 例程已经关闭。
在这种状态下,可以输入startup nomount进入到nomount状态下
NOMOUNT实例启动,包括读初始参数文件(注意初始参数文件的读取顺序)、分配物理内存、启动后台进程。可以执行
select * from v$bgprocess; select * from v$instance;
在这种状态下,可以执行alter database mount;进入到mount状态下。
MOUNT数据库装载完成,打开控制文件(control file),可以找到database结构信息,但是用户的表的内容不可读。可以执行
select * from v$controlfile; select * from v$database; select * from v$tablespace; select * from v$datafile;
在这种状态下,可以执行alter database open;进入到open状态下。
数据库打开并成功加载,可以访问用户表。
startup [ nomount | mount | open | force ] [ restrict ] [ pfile=filename ];
其中:startup force
:强制启动,可用于各种模式。startup restrict
:restrict模式会将数据库置于open模式,此时只有 restricted session权限的用户才能访问数据库。用于维护动作。维护完成后,禁用restricted session权限,以便普通用户的连接。
SHUTDOWN NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT
其中:
NORMAL 不允许新用户连接,等待已连接用户自己断开连接
TRANSACTIONAL 不允许新用户连接,等待已连接用户做完所有的事务,然后系统自动断开和他们的连接
IMMEDIATE 不允许新用户连接,不等待已连接用户做完所有的事务,回滚掉用户所做的事务,然后系统自动断开和他们的连接
ABORT 强制断开和所有用户的连接