数据库的启动
今天学习一下数据库最基本的操作技巧——数据库的启动。没什么特别需要说明的,非常基本,完全掌握就是了。
一、启动数据库
1、启动数据库的方法:
* 使用管理员权限登录SQLPLUS,用STARTUP命令启动
* 用Recovery Manager来执行STARTUP
* 使用Oracle Enterprise Manager图形界面启动
2、初始启动说明
① SQL> SQLPLUS /NOLOG
SQL> CONNECT / AS SYSDBA --连接到数据库
② STARTUP命令需要有初始化参数文件
* 可以使用STARTUP pfile = '...' 命令启动
* 没有指定pfile时,会自动读取SPFILE
* SPFILE默认文件夹:UNIX-$ORACLE_HOME/DBS;WINDOWS-$ORACLE_HOME/DATABASE
* 按一下次序搜索默认SPFILE:
spfile$ORACLE_SID.ora
spfile.ora
init$ORACLE_SID.ora
③ 可以创建一个初始化文件,然后在默认文件夹内创建只包含SPFILE参数的ora文件
* 将初始化参数文件设到 '/u01/oracle/dbs/test_spfile.ora'
* 新建文件 '/u01/oracle/dbs/spf_init.ora'
* test_spfile.ora中包含参数:SPFILE = /u01/oracle/dbs/test_spfile.ora
* 启动时STARTUP PFILE = /u01/oracle/dbs/spf_init.ora
* 可以在客户端读取服务器的初始化参数文件
3、启动模式:
① STARTUP:启动实例并打开数据库
--用于正常模式下
② STARTUP NOMOUNT:启动实例但不装载数据库
--用于数据库创建过程中
③ STARTUP MOUNT:启动且装载数据库,但不打开
--1、重命名数据库
--2、添加、取消或重命名重做日志文件
--3、允许和禁止重做日志存档选项
--4、执行完整的数据库恢复操作
④ STARTUP RESTRICT:启动中限制访问
ALTER SYSTEM DISABLE RESTRICT SESSION:再限制RESTRICT SEEEION权限
--1、执行数据库的导出或导入操作
--2、执行数据库装载操作(用SQL*Loader)
--3、暂时阻止一般的用户使用数据
--4、在某个移植过程和升级操作过程中
⑤ STARTUP FORCE:迫使实例启动
--1、SHUTDOWN NORMAL/IMMEDIATE/TRANSACTION命令不能关闭当前实例时
--2、启动实例遇到问题时
⑥ STARTUP OPEN RECOVER:启动中自动启动恢复进程
--已知需要介质恢复时使用
⑦ 分布数据库中,可以启动远程实例和数据库。
二、改变可用性
1、为实例装载数据库
ALTER DATABASE MOUNT;
2、打开关闭的数据库
ALTER DATABASE OPEN;
3、只读模式打开数据库
ALTER DATABASE OPEN READ ONLY;
ALTER DATABASE OPEN READ WRITE; --读写模式
4、限制打开数据库的访问
ALTER SYSTEM ENABLE RESTRICTED SESSION;
注:必须以受限模式打开实例
另注:若需要在启动服务时自动启动数据库,则在注册表ORA_SID_AUTOSTART值设置为TRUE。