oracle控制台命令
svrmgrl方式的ORACLE数据库启动和关闭
启动数据库
打开数据库的前提条件如下所示:
# su - ORACLE(取得ORACLE用户权限)
$ svrmgrl (进入ORACLE数据库服务器管理交互界面)
ORACLE Server Manager Release 3.1.7.0.0 - Production
Copyright (c) 1997, 1999, ORACLE Corporation. All Rights Reserved.
ORACLE8i Enterprise Edition Release 8.1.7.0.0 - Production
JServer Release 8.1.7.0.0 - Production
SVRMGR> connect internal(通过internal用户连接ORACLE数据库,如有口令需要输入口令,即connect internal/口令)
说明:
退出ORACLE数据库交互界面命令为:
SVRMGR> quit
1. 启动例程不装载数据库
SVRMGR> startup nomount
启动一个实例而没有安装(mount)数据库,这步操作一般在创建数据库和重新创建控制文件时才会用到,到这一步为止,数据库做的操作有:
·读初始化参数文件initSID.ora。
·创建SGA。
·启动后台进程。
·打开告警文件和跟踪文件。
2. 启动例程并装载数据库,但不打开。
SVRMGR> startup mount
为执行一些特定的维护操作,经常需要启动一个实例并安装(mount)数据库,但不打开数据库。例如,如下操作就需要启动数据库到这一步:
·为数据文件改名。
·增加、删除或改名重做日志文件。
·启动或停止数据库到归档模式。
·进行完整的数据库恢复。
mount一个数据库包括如下几步:
·把数据库与已经启动(nomount)的实例联系起来。
·定位并打开初始化参数CONTROL_FILE指定的控制文件(获取实例锁)。
·读控制文件获取数据文件和重做日志文件的名字和状态(此时,数据库并不检查这些数据文件和联机重做日志文件是否存在)。
3. 启动例程,装载并打开数据库
SVRMGR> startup open
数据库正常表明实例已经启动,并且数据库已经安装(mount)和打开,这时所有合法的数据库用户才可连到数据库,并执行典型的数据访问操作。打开一个数据库包括:
·打开联机数据文件。
·打开联机重做日志文件。
用此种方式打开数据库,则允许所有合法用户对数据库做联接并执行各种数据库存取操作。
这一步中,ORACLE检查所有的数据文件和联机重做日志文件是否可以被打开,并检查数据库的一致性。对于一些可以自动恢复的错误,后台进程SMON在数据库打开之前将执行恢复操作,对于那些不能自动恢复的错误,打开数据库将失败并报错。
4. 启动例程并限制对数据库访问
SVRMGR> startup restrict
用此种方式打开数据库,只允许管理员使用,而不允许一般用户访问,即只有具有create session权限和restricted session系统权限的用户才可以联接到数据库上(只有管理员才有此权限),利用该种方式启动,通常用于执行如下操作:
·进行结构维护,例如重建索引。
·进行数据库exp或imp。
·进行数据装入(sql * loader)。
5. 强制数据库启动
SVRMGR> startup force
在用Normal和Immediate选项无法成功关闭数据库,或启动时出错,通常用此种方式打开数据库。
关闭数据库
关闭一个数据库分以下三步:
(1) Closing the database
ORACLE首先把高速缓冲区和重做日志缓冲区中的内容分别写入数据文件和联机日志文件,然后关闭所有联机数据文件和日志文件,这时控制文件仍处于打开状态。
(2) Dismounting the database
从一个实例卸装数据库,之后ORACLE关闭控制文件,但实例依然存在。
(3) Shutdown the Instance
ORACLE关闭ALERT文件和跟踪文件,释放SGA,终止后台进程,彻底关闭数据库。
ORACLE在关闭数据库时有三个常用选项:normal、immediate、abort。三个选项的关闭过程如下所示:
# su - ORACLE(取得ORACLE用户权限)
$ svrmgrl
SVRMGR> connect internal
1. 在正常情况下关闭数据库
SVRMGR> shutdown normal
用该种方式关闭数据库,关闭进程取消所有用户访问数据库,等待直至所有用户完成请求并与服务器脱离,清除缓冲区和重做日志文件并更新数据文件和联机重做日志文件,打开文件锁,完成正在进行的事务,更新文件头,关闭线程、打开数据库实例锁,使控制文件和数据文件同步。简言之,使用normal选项关闭数据库,卸装数据库,并完全关闭实例。该选项是关闭数据库时经常建议的选项。
2. 立即关闭数据库
SVRMGR> shutdown immediate
在特定条件下,关闭数据库时可能要选择immediate选项。例如,DBA可能决定在初始化文件中增加PROCESSES参数,如果这需要立即完成,则DBA使用immediate选项。如果使用该选项关闭数据库,则ORACLE正在处理的当前SQL语句立即被终止,任何未提交的事务被回滚,数据库被关闭。使用这一选项的唯一缺点是ORACLE不等待当前用户断开与数据库的连接,但数据库是连续的,且在下次启动时不需要恢复。
3. 异常中止例程
SVRMGR> shutdown abort
当紧急情况发生时,可以用abort选项关闭数据库。如当某个后台进程死掉后,可能导致无法用normal或immediate选项关闭数据库,要用到abort选项。当使用abort选项关闭数据库时,当前SQL语句立即停止,且未提交的事务不回滚,下次启动时要进行实例恢复。
备注:
oracle805中,控制台命令:svrmrl