oracle启动的四个状态
from: http://www.2cto.com/database/201306/219322.html
oracle启动的四个状态
官方文档
重要参考文档: 这个讲的很好
1:oracle启动文件的优先顺序:
1:spfileSID.ora
2:Default SPFILE -->spfile.ora
3: initSID.ora
4: DEFAULT PFILE-->
2:如何指定启动spfile文件
oracle只有启动pfile文件命令,如果想手动启动spfile文件。
可以通过以下设置:
在pfile文件中使用
spifle=$ORACLE_HOME/dbs/spfileabc.ora这个命令
ex: 有一个文件为:abc123.ora
在abc123.ora中有 有
spifle=$ORACLE_HOME/dbs/spfileabc.ora这个命令
然后我们启动时候使用:
startup pfile=$ORACLE_HOME/dbs/abc123.ora
这样oracle能够正常启动,启动时候会读取
pfile中的文件,因为:abc123.ora中有
spifle=$ORACLE_HOME/dbs/spfileabc.ora这个命令
所以还是启动spfile文件 即: spfileabc.ora
question: 谁能够启动oracle
数据库:
如果你是操作
系统的管理员,你能够启动和关闭数据库。
oracle是口令认证的,如果一个认证的用户具有了
SYSDBA,和 SYSOPER 权限 可以启动和关闭数据库。
3:oracle数据库的四种状态:
状态转换说明
shutdown状态: oracle数据库没有启动
NOMOUNT状态: SGA和后台进程已经启动
MOUNT状态: 通过参数读取了控制文件 ,拥有sysdba权限的可以进行一些数据的备份和恢复操作,其他用户还不能访问
OPEN状态; 其他用户正常访问
一:SHUTDOWN -->NOMOUNT
一个数据库实例是开始:
首先从spfile或者pfile中读取数据库参数文件:
然后分配SGA和创建后台进程。
相当于生产线和工人都到位了
但是没有开始生产,生产线上没有产品。
这个时候一些参数可以查到了:
show parameter db_name;
show parameter db_block_size;
[sql]
sql> startup nomount
ORACLE 例程已经启动。
Total System Global Area 431038464 bytes
Fixed Size 1333676 bytes
Variable Size 276825684 bytes
Database Buffers 146800640 bytes
Redo Buffers 6078464 bytes
一些参数查询:
[sql]
sql> show parameter db_name;
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
db_name string
orcl
sql> show parameter db_block_size;
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
db_block_size integer
8192
二:NOMOUNT---->MOUNT
就相当于把 数据库和实例建立关系。
首先根据初始化参数文件中的CONTROL_FILE参数找到相应的控制文件然后打开它们。
在控制文件中包含了数据库的数据文件和redo log文件信息。
这个时候数据库还没有打开,仍然处于关闭状态,这个时候普通的用户还不能
连接到数据库,只有数据库管理员可以进行一些备份恢复等工作。
三: MOUNT ----> OPEN
通过控制文件信息找到 联机数据文件和redo log 文件,
如果没有以上两个文件,数据库就会报错。如果这两个文件坏了,
数据库无法打开,这个时候可以通过sysdba权限进入mount挂载状态后,对
这两个数据文件进行恢复操作后再打开数据库。
数据库从nomount变成 mount状态语句:
ALTER DATABASE db_name MOUNT
STRATUP 命令解释 官方:
Keywords and Parameters
If you do not specify any options,then RMAN mounts and opens the database with the default server parameter file.
Syntax Element
Description
STARTUP
If you specify only STARTUP with no other options,then the instance starts,then mounts and open the database.
DBA
Restricts access to users with the RESTRICTED SESSION privilege.
FORCE
If the database is open,then FORCE shuts down the database with a SHUTDOWN ABORT statement before re-opening it.If the database is closed,then FORCE opens the database.
MOUNT
Starts the instance,then mounts the database without opening it
NOMOUNT
Starts the instance without mounting the database. If no parameter file exists,then RMAN starts the instance with a "dummy" parameter file. You can then run RESTORE SPFILE to restore a backup server parameter file.
PFILE ='filename'
Specifies the filename of the init.ora file for the target database. If this parameter is not specified,then the default init.ora filename is used.
startup RESTRICT 对不同用户权限的用户连接到oracle上进行了限制,
ALTER SYSTEM ENABLE RESTRICTED SESSION;
这样 没有 RESTRICT权限的用户就无法连接进来了。
所有登录的session都是在V$session表中可以查询到。
select saddr,sid,serial#,username from v$session;