全面解析Oracle数据库中管理实例的方法
初始参数文件:
Oracle在启动实例时要读取初始参数文件。
参数文件里面的参数分为两种:显式的隐式的。
参数文件分为两种:静态参数文件pfile和永久参数文件spfile
pfile:
$ORACLE_HOME/dbs/initSID.ora
可以通过文本编辑器直接编辑,所做的修改在下次启动实例时生效。
spfile:
$ORACLE_HOME/dbs/spfileSID.ora
二进制文件,通过alter system命令来修改。
alter system set parameter = value [scope = memory | spfile | both]
可以通过pfile来生成spfile:
create spfile from pfile;
下面是我的Oracle系统中的初始参数文件:init.ora是示例文件,inittest.ora是pfile,spfiletest.ora是spfile.
[oracle@redhatoracle dbs]$ ls -l *test.ora init.ora
-rw-r--r-- 1 oracle oinstall 8385 Mar 9 2002 init.ora
-rw-r--r-- 1 oracle oinstall 987 Dec 15 20:14 inittest.ora
-rw-r----- 1 oracle oinstall 2560 Dec 15 11:11 spfiletest.ora
启动数据库:
nomount状态:只启动实例而不加载数据库,用于创建数据库或重建控制文件。启动实例时会在$ORACLE_HOME/dbs目录中按如下顺序搜索启动参数文件:spfileSID.ora,spfile.ora和initSID.ora。可以在startup命令后面通过pfile参数来手工指定启动参数文件。
mount状态:加载数据库但是不打开数据库访问,用于维护数据库。如重命名数据文件,启用或禁用日志归档模式,执行全数据库恢复。mount阶段加载数据库,与已启动的实例相关联,通过参数文件查找控制文件,通过控制文件查找数据文件和Redo日志。
open状态:正常加载,用户可访问数据库阶段。加载数据文件和Redo日志,必要时执行recover操作。
Startup命令:
startup pfile=$ORACLE_HOME/dbs/initdb01.ora;
startup nomount;
startup mount;
也可以使用alter database命令改变数据库的状态:
alter database db01 mount;
alter database db01 open read only;
Shudown命令:
shutdown normal:不再接受新的连接,待旧有会话都结束后将数据写入磁盘,做checkpoint,正常关闭文件。
shutdown transactional:当前事务完成时终止会话,将数据写入磁盘,做checkpoint,正常关闭文件。
shutdown immediate:立刻终止当前会话,不等待事务结束,对当前事务做回滚,做checkpoint,正常关闭文件。
shutdown abort:直接终止进程。(下次启动数据库时要做recover)
下面是操作实例:
[oracle@redhatoracle oracle]$ sqlplus /nolog
SQL*Plus: Release 9.2.0.4.0 - Production on Fri Dec 15 21:28:43 2006
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> conn / as sysdba
Connected to an idle instance.
SQL> startup nomount;
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
SQL> alter database gldb mount;
Database altered.
SQL> alter database gldb open;
Database altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>