Oracle数据库启动与关闭

启动

启动过程分析

数据库启动经历如下三个状态:
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;

判断实例启动状态

一、看服务

看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;

切换实例

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

关闭

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值