Oracle 多实例启动相关问题

1、如何判断Oracle实例是否启动?
方法一:通过查看windows中OracleService****服务是否启动来判断实例启动的状态。如当前本机的windows服务启动情况如下图所示。



可以看出OracleServiceBOOKSALES、OracleServiceHR这2个服务处于启动状态,表示有2个实例已启动。
方法二:使用lsnrctl status命令查看Oracle实例启动的情况




2、如果已经启动了多个实例,那么用sqlplus连接数据库实例,连接的是哪个实例?
如果已经启动了多个实例,用sqlplus连接实例时,连接的是当前实例。



上面的命令以操作系统认证的方式登录,即我已以管理员登录到了操作系统,就可以sysdba登录到数据库中,因此不需要输入用户名和密码,该命令也没有指定连接符,所以连接到当前实例。可以通过show parameter instance命令查看当前连接实例的信息,如下图所示,可以看出当前实例名为“hr”。



下面可通过conn命令建立新的连接,然后再通过show parameter instance命令查看当前实例。



3、在Windows中如何查看Oracle默认实例?
在windows中用环境变量ORACLE_SID表示当前实例。如果启动了多个实例,则默认实例为最后安装的实例。我们可以在注册表中查看到ORACLE_SID的值。HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1



4、如何设置当前实例?
如果要与一个以非默认的实例建立连接,可以在CMD窗口中先设置ORACLE_SID变量的值,然后再用sqlplus建立连接。注意设置值只对当前CMD窗口有效,具体过程如下图所示。



5、如何观察Oracle数据库启动过程?
第一步:使用shutdown immediate命令关闭当前实例




然后用lsnrctl status查看实例启动的情况,如下图所示,因为当前实例是booksales,可以看出启动实例中没有booksales。


第二步:使用startup nomount命令启动当前实例,启动到非挂载状态,即只启动Oracle实例,而不启动数据库,因此只需要参数文件即可。



使用lsnrctl status命令查看实例状态,如下图所示,booksales实例启动状态为blocked



第三步:使用ALTER database mount命令使得数据库启动到mount状态,此状态下表示创建实例并加载数据文件








第四步:使用alter database open命令使得数据库处于打开状态







猜你喜欢

转载自xiebh.iteye.com/blog/2239001