当前位置:   article > 正文

Oracle数据库启动与关闭_oracle从mount到open命令

oracle从mount到open命令

启动

启动过程分析

数据库启动经历如下三个状态:
nomount—mount—open。

nomount

启动实例:
1)查找参数文件,先查找spfile,如果没有,查找pfile;
2)启动后台进程;
3)分配内存;
4)打开告警日志文件和跟踪文件。
操作:使用startup nomount命令启动当前实例,启动到非挂载状态,即只启动Oracle实例,而不启动数据库,因此只需要参数文件即可
在这里插入图片描述
使用lsnrctl status命令查看实例状态:orcl实例启动状态为blocked。

mount

启动实例后,orcale数据库会按照参数文件中control_file参数的设置,找到所有控制文件,再确定所存控制文件都完好,并且内容一致后,将控制文件的内容加载到内存,并且从控制文件中获取所有的数据文件和日志文件的名称及其位置,但不做一致性检查。
操作:使用alter database mount命令使得数据库启动到mount状态,此状态下表示创建实例并加载数据文件。
在这里插入图片描述
使用lsnrctl status命令查看实例状态:orcl实例状态为ready。

open

oracle需要检查所有的数据文件和日志文件的状态,如果这些文件的实际状态和控制文件的记录一致,则打开数据库,允许普通用户连接数据库,并执行各种操作。
操作:使用alter database open命令使得数据库处于打开状态。

总结

startup相当于依次执行以下三个命令:

SQL>startup nomount;
SQL>alter database mount;
SQL>alter database open;
  • 1
  • 2
  • 3

判断实例启动状态

一、看服务

看windows中OracleServiceXXXX服务是否启动来判断实例启动的状态。

二、用命令

用lsnrctl status命令查看Oracle实例启动的情况。

查看默认实例

windows中用环境变量ORACLE_SID表示当前实例。如果启动了多个实例,则默认实例为最后安装的实例。可以在注册表中查看ORACLE_SID的值,注册表位置(Oracle10g):
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraDb11g_home1

多实例连接

查看当前实例

同一服务器有多个实例且均已启动,若登录时不指定数据库实例,一般采用环境变量ORACLE_SID,系统默认的ORACLE_SID值为最后安装的实例
sqlplus不指定数据库实例连接:sqlplus / as sysdba
上面的命令以操作系统认证的方式登录,即已经使用管理员身份登录到了操作系统,就可以使用sysdba身份登录到数据库中,因此不需要输入用户名和密码。该命令没有指定连接标识符,所以连接到当前实例(默认实例)
通过以下命令查看当前连接实例信息:

SQL>show parameter instance;
SQL>show parameter instance_name;
SQL>select * from v$instance;
  • 1
  • 2
  • 3

切换实例

要与一个非默认的实例建立连接,可以在命令行窗口中先设置ORACLE_SID变量的值,然后再用sqlplus建立连接。注意设置值只对当前命令行窗口有效:set ORACLE_SID=XXXX;

关闭

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/85859
推荐阅读
相关标签
  

闽ICP备14008679号