dbstart 和 dbshut 的使用;以及使用 sqlplus 或 svrmgrl启动和关闭数据库。
dbstart 和 dbshut 的使用
dbstart 用于启动数据库实例 dbshut 用于关闭数据库实例 这两个脚本命令
都需要以 oracle 用户执行 假设控制文件/etc/oratab 有如下两个描述项
cams:/u01/app/oracle/product/8.1.7:Y
oid:/u01/app/oracle/product/8.1.7:N
那么以 oracle 用户执行 dbstart 系统会试图启动 cams 数据库实例 但不会
试图启动 oid 数据库实例
2.2 使用 sqlplus 或 svrmgrl启动和关闭数据库
2.2.1 启动数据库
使用 sqlplus 启动数据库的操作如下
1 以 oracle 用户执行命令
$ sqlplus /nolog
进入到 sqlplus 命令交互状态 提示符为"SQL>"
2 在 sqlplus 命令交互状态下执行以下 sqlplus 命令
connect /as sysdba
3 在 sqlplus 命令交互状态下执行启动数据库的命令
startup
注意
如果在你的机器上存在多个实例 例如有两个实例 cams 和 oid 这时用上
述操作启动数据库时所启动的数据库实例要取决于环境变量 ORACLE_SID
的值 因为在/etc/profile 文件中设置有一行
export ORACLE_SID=cams
因此 cams 是缺省的实例 上述操作都是启动 cams 实例 如果需要启动 oid
实例 只需执行以下环境变量设置命令
export ORACLE_SID=oid
将环境变量 ORACLE_SID 的值设置为 oid 然后再继续执行上述启动数
据库的操作就可以了
& 说明
需要进一步说明的是 启动数据库的命令 即 startup 在执行过程中会依次
经历三个步骤 1 启动实例 2 装配数据库 将实例与指定数据库关联
3 打开数据库 通常启动数据库时 这三个步骤都是必需的 但在有些特殊
应用场合要求只执行前一个步骤或前两个步骤 对应的命令如下
startup nomount Oracle 启动实例 即分配相关内存并启动后台进程
但不装配数据库 该命令通常用于创建一个新数据库或创建新的控制文件的
情形
startup mount Oracle 启动实例并装配数据库 但不打开数据库 该
命令通常用于执行特定维护操作的场合 如 给数据文件更名 启用或禁用
归档日志 数据库的完全备份等
使用 svrmgrl Server Manager 启动数据库与使用 sqlplus 启动数据库类似
具体操作如下
(1) 以 oracle 用户执行命令
$ svrmgrl
进入到 Server Manager 命令交互状态 提示符为"SVRMGR>"
(2) 在 Server Manager 命令交互状态下执行以下 Server Manager 命令
SVRMGR> connect internal
(3) 在 Server Manager 命令交互状态下执行启动数据库的命令
SVRMGR> startup
另外:
数据库启动过程:
1. 启动实例:oracle instance =SGA +Processes
读取参数文件。 Init.ora
分配SGA区。
启动后台进程。
2. 数据库安装: Database mounted
控制文件 init.ora
3. 打开数据库: Database opened
打开全部数据文件和全部日志文件'控制文件。
参数文件?控制文件?数据文件和日志文件
4. 几个启动命令:
svrmgr> startup 正常启动。启动上面全部1,2,3项
svrmgr> startup mount 启动1,2项
在此可修改归档模式
可使用Alter database命令
可查询全部V$**数据字典
可做数据库恢复
例:
svrmgr>Alter database open read only;
- -(整个数据库以只读方式打开)
svrmgr>Alter database open read write;
- -(整个数据库以读写方式打开)(缺省方式)
svrmgr> startup nomount 启动1项
可以创建一个新的数据库
创建控制文件。
5. 在open 下可以使用的命令:
启动多个数据库:
svrmgr> startup pfile =第一个参数文件名及路径;
svrmgr> startup pfile =第二个参数文件名及路径;
6. 强制和限制性数据库启动命令:
强制数据库启动命令:(如上面所写只启动一部分的情况)
svrmgr> startup force;
限制数据库启动命令:
svrmgr>startup RESTRICT; - -只有DBA用户可以连接
关闭数据库
使用 sqlplus 关闭数据库的操作如下
(4) 以 oracle 用户执行命令
$ sqlplus /nolog
进入到 sqlplus 命令交互状态 提示符为"SQL>"
(5) 在 sqlplus 命令交互状态下执行以下 sqlplus 命令
SQL> connect /as sysdba
(6) 在 sqlplus 命令交互状态下执行关闭数据库的命令
SQL> shutdown
使用 svrmgrl Server Manager 关闭数据库与使用 sqlplus 关闭数据库类似
具体操作如下
(1) 以 oracle 用户执行命令
$ svrmgrl
进入到 Server Manager 命令交互状态 提示符为"SVRMGR>"
(2) 在 Server Manager 命令交互状态下执行以下 Server Manager 命令
SVRMGR> connect internal
(3) 在 Server Manager 命令交互状态下执行关闭数据库的命令
SVRMGR> shutdown
另外
数据库关闭命令:
svrmgr> shutdown +
nomal; 正常退出。在所有用户已退出情况下使用
immediate; 立即关机。中断所有用户,并回退所有未保存命令。(推荐使用)
abort; 异常关机。只关闭实例,是一种危险关机。
transactional; 事物终结后关机。等待所有用户完成提交后关机。