Oracle启动和关闭(10g)

来源:互联网 发布:任务管理器修复软件 编辑:程序博客网 时间:2024/05/22 02:14
查询数据库当前的状态:


>select OPEN_MODE from v$database;
oracle not available   -------  oracle没启动实例
oracle not mounted     -------  oracle在nomount阶段
oracle mounted         -------  oracle在mount阶段
oracle read write      -------  oracle在open阶段


1.sqlplus


启动实例阶段  nomount  --------------  >startup [force] [pfile=xxx] nomount;


查参数文件错误 spfilesid.ora---spfile.ora---initsid.ora

查看使用的参数文件 >show parameter spfile  不为空即以spfile启动,否则是pfile

分配内存

记录信息到alert文件和跟踪文件

#tail -f /u01/oracle/admin/orcl/bdump/alert_orcl.log

启动后台进程

查看数据库是否启动  #ps -ef|grep ora_


【本阶段设置参数】
[startup restrict 启动到受限制会话,不允许别人连接的情况下对数据库进行操作]



装载数据库阶段  db mount  ------------------  >alter database mount;

关联数据库和当前的实例

定位并打开参数文件中指定的控制文件
控制文件 >show parameter control_file;

读取控制文件获取数据文件和重做日志文件的名称和状态,但不进行是否存在的检查

【本阶段可以操作数据库物理操作:alter database,建库删库,恢复数据库;命名数据文件,启用禁用日志】


打开数据库阶段 ---------------   >alter database open;

判断数据文件和日志文件是否存在,是否打开,检查数据库的一致性

打开联机数据文件和日志文件

【本阶段对数据库数据进行操作】



关闭数据库阶段 ---------------   >shutdown [normal|transactional|immediate|abort]

将缓冲区告诉缓存中的更改及重做日志缓冲区高速缓存中的条目写入数据文件和联机重做日志文件

关闭数据文件和重做日志文件

卸载数据库

关闭控制文件

关闭实例

alter文件和跟踪文件关闭

sga回收、后台进程终止


【shutdown [normal|transactional|immediate|abort]】

 aitn允许建立新连接xxxx等待到当前会话结束xxxv等待当前事务处理结束xxvv强制执行坚持点操作并关闭文件xvvv

abort不是一致性关闭


2.dbstart & dbshut


vi /etc/oratab 中数据库最后的字段是Y,才能通过dbstart和dbshut控制

vi $ORACLE_HOME/bin/dbstart 中ORACLE_HOME_LISTNER的值为$ORACLE_HOME时,启动监听



附:oracle开机启动

head -n 6 /etc/init.d/network >/etc/init.d/oracle10g

vi /etc/init.d/oracle10g

ORACLE_HOME=/u01/oracle/10gif [ !-f $ORACLE_HOME/bin/dbstart ]thenecho "oracle cannot start"exitfiif [ ! -f $ORACLE_HOME/bin/lsnrctl ]thenecho "lsnrctl cannot start"exitficase "$1" in'start')echo "starting oracle 10g ...."su - oracle -c "$ORACLE_HOME/bin/dbstart"#su - oracle -c "$ORACLE_HOME/bin/emctl start dbconsole" ------>start  oem;;'stop')echo "stopping oracle 10g ...."#su - oracle -c "$ORACLE_HOME/bin/emctl stop dbconsole" ------>stop  oemsu - oracle -c "$ORACLE_HOME/bin/dbshut";;*)echo "usage $0: start|stop";;esac

chmod a+x /etc/init.d/oracle10g

chkconfig oracle10g on