一、Oracle11g读取参数文件的顺序
Oracle9i之前的版本,只有静态参数文件pfile文件。9i之后的版本,引入了动态参数文件spfile文件。
Windows下默认查找参数文件的路径:%ORACLE_HOME%\database
Linux下默认查找参数文件的路径:$ORACLE_HOME\dbs
11g中,启动数据库,按照spfileSID.ora、spfile.ora、initSID.ora、Init.ora的顺序查找。其中SID是服务名,也叫Oracle的系统表示符。
二、Oracle的四种状态
1、SHUTDOWN:
实例和数据库都关闭。
实例包含内存和后台进程。内存包含PGA(程序全局区)和SGA(系统全局区)。后台进程包含PMON(进程监控进程)、SMON(系统监控进程)、DBWR(数据写入进程)、LGWR(日志写入进程)、CKPT(检查点进程)等。
数据库指数据文件。
可以执行:
startup nomount;
关闭数据库可以是数据进入SHUTDOWN状态
//关闭数据库的命令
shutdown immediate;
//数据库在SHUTDOWN状态下进入NOMOUNT状态
startup nomount
2、NOMOUNT:
实例启动,包括读初始参数文件、分配物理内存、启动后台进程。
可以执行:
//查看SGA的分配信息
show sga
//查看后台进程
select * from v$bgprocess;
select * from v$instance;
//改变数据库的状态为MOUNT
alter database mount;
3、MOUNT
数据库装载完成,打开控制文件(control file),可以找到database结构信息,但是用户的表的内容不可读。
可以执行:
//查看控制文件
select * from v$controlfile;
select * from v$database;
select * from v$tablespace;
select * from v$datafile;
//改变数据库状态为OPEN
alter database open;
4、OPEN
数据打开并成功加载,可以访问用户表。
三、startup命令
语法:
startup 【nomount|mount|open|force】【restrict】【pfile=文件名】;
startup force:强制启动,可用于各种模式。
startup restrict:将数据库设置为OPEN模式,此时只有restricted session权限的用户才能访问数据库。用于维护动作。维护完成后禁用restricted session权限,以便普通用户的链接。
spfile文件是二进制文件,不易于人工编辑和读取,pfile文件是文本文件,可以人工读取和编辑。
//根据spfile文件创建pfile文件
create pfile='d:\pfileORCL.ora' from spfile;
四、Oracle的关闭
语法:
SHUTDOWN NORMAL|TRANSACTIONAL|IMMEDIATE|ABORT
NORMAL:不允许新用户连接,等待已连接用户自己断开连接。
TRANSACTIONAL:不允许新用户连接,等待已连接用户做完所有事物,然后系统自动断开和他们的连接。
IMMEDIATE:不允许新用户连接,不等待已连接的用户做完所有的事物,回滚掉用户所做的事物,然后系统自动断开和他们的连接。
ABORT:强制断开和所有用户的连接。