Oracle数据库的关闭、用户管理及对象创建维护指南
1. 数据库关闭方法
数据库关闭并非总是简单直接,不同场景下需选择合适的关闭方法,以下是几种常见的关闭方式:
1.1 SHUTDOWN
这是首选的关闭方法,使用 SHUTDOWN
命令时,系统会等待每个用户自行注销或被强制终止会话,之后再关闭数据库。不过,通常很少出现只有 SYS
用户连接到数据库的情况。使用此方法时,Oracle 会等待除你之外的所有用户注销后才继续执行关闭操作。若不想等待所有用户注销,可手动终止每个用户会话,之后 Oracle 会执行关闭操作。
终止用户会话可使用 ALTER SYSTEM KILL SESSION ‘SID,SERIAL#’
命令,该命令会终止用户会话并强制回滚当前事务。但存在一个问题, PMON
可能需要较长时间(数小时甚至数天)才能移除会话,即便用户状态显示为 KILLED
,用户仍处于登录状态,正常关闭操作无法继续。
使用此方法能确保“干净”关闭,即所有文件头都会更新。若要进行冷备份,建议使用此方法。若有大量用户登录,可先采用更激进的关闭选项,关闭后正常启动数据库,再进行常规关闭,以保证干净关闭。
正常关闭示例如下:
SQL> shutdown;
Database closed.
Database dismounted.
ORACLE instance shut down.