热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

【oracle笔记】启动、关闭数据库以及查看数据库状态

数据库的启动分三个阶段,nomount,mount,open,此处也分三个阶段来查看数据库的状态。数据库启动的三阶段1.nomount阶段创建实例instancenomount阶段,oracle主要完成5件事a.查找参数文件,oracle会在$ORACLE_HOMEdbs目录下依次查找下面的参数文件,如

数据库的启动分三个阶段,nomount,mount,open,此处也分三个阶段来查看数据库的状态。 数据库启动的三阶段 1. nomount阶段创建实例instance nomount阶段,oracle主要完成5件事 a.查找参数文件,oracle会在$ORACLE_HOME/dbs/目录下依次查找下面的参数文件,如

数据库的启动分三个阶段,nomount,mount,open,此处也分三个阶段来查看数据库的状态。


数据库启动的三阶段

1. nomount阶段创建实例instance

nomount阶段,oracle主要完成5件事

a.查找参数文件,oracle会在$ORACLE_HOME/dbs/目录下依次查找下面的参数文件,如果其中某个存在,就会使用它。spfile是二进制文件,不能直接编辑,init(pfile)是文本文件可以直接编辑。

1.spfile$ORACLE_SID.ora

2.spfile.ora

3.init$ORACLE_SID.ora

b.读取参数文件确定初始化参数的值

c.根据初始化参数分配SGA内存区

d.启动后台进程

e.打开alert_$ORACLE_SID.log 文件和 trace追踪文件,把启动过程中的参数和执行的操作写入alert文件

在启动的时候可以手动指定使用PFILE

SQL> STARTUP PFILE=/u01/app/oracle/product/10.2.0/dbs/init.ora

2.mount模式

实例通过加载数据库将数据库和实例关联起来。mount阶段,oracle根据参数文件中的CONTROL_FILES参数找到控制文件,从控制文件中读取数据库名称、确定数据文件,以及在open时访问的online redo log files,此时实例没有打开数据库的物理文件,即数据文件和重做日志文件。用户在mount状态仍无法与数据库建立连接或会话。

如果控制文件复用副本丢失、损坏,oracle会报错,需要进行控制文件恢复,修改参数文件、手动创建控制文件、或者替换丢失或损坏的控制文件。

3.open模式

只有将数据库设置为打开后,用户才可以与数据库建立连接和访问数据库。oracle会分步打开物理文件

a.打开除了撤销表空间以外,所有online在线表空间的数据文件

b.打开undo tablespace撤销表空间

c.打开online redo log file重做日志文件

如果open阶段发现有数据文件或重做日志文件丢失、损坏而不可用,或者数据文件不一致,oracle会报错,此时需要进行media recovery介质恢复。


查看数据库的状态

在nomount, mount模式,无法连接数据库,可以通过查看动态视图和lsnrctl 查看数据库的状态。

如果数据库没有启动,lsnrctl状态

[oracle@localhost dbs]$ lsnrctl status
……
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

启动数据库

[oracle@localhost dbs]$ sqlplus / as sysdba
SQL> startup nomount

查看动态视图

SQL> select status from v$instance;

STATUS
------------
STARTED

SQL> select open_mode from v$database;
select open_mode from v$database
                      *
ERROR at line 1:
ORA-01507: database not mounted
查看lsnrctl status
[oracle@localhost dbs]$ lsnrctl status
……
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
  Instance "orcl", status BLOCKED, has 1 handler(s) for this service...
Service "orcl_XPT" has 1 instance(s).
  Instance "orcl", status BLOCKED, has 1 handler(s) for this service...
The command completed successfully








加载数据库

SQL> alter database mount;

Database altered.
SQL> select status from v$instance;

STATUS
------------
MOUNTED

SQL> select open_mode from v$database;

OPEN_MODE
----------
MOUNTED


查看lsnrctl status

[oracle@localhost dbs]$ lsnrctl status …… Services Summary... Service "PLSExtProc" has 1 instance(s). Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service... Service "orcl" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... Service "orcl_XPT" has 1 instance(s). Instance "orcl", status READY, has 1 handler(s) for this service... The command completed successfully


打开数据库

SQL> alter database open; SQL> select status from v$instance; STATUS ------------ OPEN SQL> select open_mode from v$database; OPEN_MODE ---------- READ WRITE


查看lsnrctl statas

[oracle@localhost dbs]$ lsnrctl status
……
Services Summary...
Service "PLSExtProc" has 1 instance(s). 
    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s). 
    Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s). 
    Instance "orcl", statusREADY, has 1 handler(s) for this service...
Service "orcl_XPT" has 1 instance(s). 
    Instance "orcl", statusREADY, has 1 handler(s) for this service...
The command completed successfully

.


参考: http://download.oracle.com/docs/cd/E11882_01/server.112/e16508/startup.htm#CEGJEJDD









关闭数据库

与数据库启动相对应,关闭数据库也分3个步骤:1)关闭数据库oracle将redo log buffer写入online redo log中,将database buffer cache中的dirty块写入datafile,然后关闭所有datafile和online redo file。2)卸载数据库instance卸载database,关闭control file。3)关闭实例终止所有后台进程和服务器进程,回收内存空间。关闭数据库有4种方式:shutdown [ normal | transaction | immediate | abort ]1)shutdown normal是默认方式。如果对数据库的关闭没有时间限制,可以采用,oracle会执行以下操作: a.阻止用户建立新的连接 b.等待当前连接的用户主动断开连接 c.一旦所有用户都断开连接,则关闭数据库 d.2)shutdown immediate如果要求在尽可能短的时间内关闭数据库,可以采用此种方法。oracle会执行以下操作: a.阻止用户建立新的连接 b.回滚所有未提交的事务。 c.终止所有用户的连接,关闭数据库。 d. 3)shutdown transaction如果要求在尽量短的时间内关闭数据库,同时还要保证所有当前事物可以提交,则可以采用shutdown transaction命令关闭数据库。oracle会执行以下操作: a.阻止用户建立新的连接 b.等待用户回滚或提交当前未提交的事务,然后立即断开用户连接 c.关闭数据库 d. 4)shutdown abort如果前三种方法无法关闭数据库,或者数据库出现严重错误时,只能采取shutdown abort方式关闭数据库。这种方式等同于突然切断电源,会造势部分数据信息丢失。下次启动数据库时,oracle会自动执行instance recovery(roll forward和rollback)。shutdown abort时oracle会执行以下操作: a.阻止用户建立新的连接 b.立即结束正在执行的SQL语句 c.任何未提交的事务不被回滚 d.中断所有的用户连接,立即关闭数据库

e.数据库实例重启后需要instance recovery










        
推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文详细介绍了如何使用libpq库与PostgreSQL后端建立连接。通过探讨PQconnectdb()函数的工作原理及其在实际应用中的使用方法,帮助读者理解并掌握建立高效、稳定的数据库连接的关键步骤。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文介绍了如何在具备多个IP地址的FTP服务器环境中,通过动态地址端口复用和地址转换技术优化网络配置。重点讨论了2Mb/s DDN专线连接、Cisco 2611路由器及内部网络地址规划。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 创建第一个 MUI 移动应用项目
    本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ... [详细]
  • 梦幻西游挖图奇遇:70级项链意外触发晶清诀,3000W轻松到手
    在梦幻西游中,挖图是一项备受欢迎的活动,无论是小宝图还是高级藏宝图,都吸引了大量玩家参与。通常情况下,小宝图的数量保证了稳定的收益,但特技装备的出现往往能带来意想不到的惊喜。本文讲述了一位玩家通过挖图获得70级晶清项链的故事,最终实现了3000W的游戏币逆袭。 ... [详细]
  • 本文探讨了 RESTful API 和传统接口之间的关键差异,解释了为什么 RESTful API 在设计和实现上具有独特的优势。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
author-avatar
看电影天堂4
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有