1、如何判断Oracle实例是否启动?
方法一:通过查看windows中OracleService****服务是否启动来判断实例启动的状态。如当前本机的windows服务启动情况如下图所示。
可以看出OracleServiceBOOKSALES、OracleServiceHR这2个服务处于启动状态,表示有2个实例已启动。
方法二:使用lsnrctl status命令查看Oracle实例启动的情况
伦理片 http://www.dotdy.com/
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命令使得数据库处于打开状态
方法一:通过查看windows中OracleService****服务是否启动来判断实例启动的状态。如当前本机的windows服务启动情况如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/cb1a66e4d1d7428de516ff0cd68e3cee.png)
可以看出OracleServiceBOOKSALES、OracleServiceHR这2个服务处于启动状态,表示有2个实例已启动。
方法二:使用lsnrctl status命令查看Oracle实例启动的情况
![点击查看原始大小图片](https://i-blog.csdnimg.cn/blog_migrate/c42823063d8fe27bf08a6475b78c0b43.png)
伦理片 http://www.dotdy.com/
2、如果已经启动了多个实例,那么用sqlplus连接数据库实例,连接的是哪个实例?
如果已经启动了多个实例,用sqlplus连接实例时,连接的是当前实例。
![](https://i-blog.csdnimg.cn/blog_migrate/5e9a2208f58921997216f8b4167957ce.png)
上面的命令以操作系统认证的方式登录,即我已以管理员登录到了操作系统,就可以sysdba登录到数据库中,因此不需要输入用户名和密码,该命令也没有指定连接符,所以连接到当前实例。可以通过show parameter instance命令查看当前连接实例的信息,如下图所示,可以看出当前实例名为“hr”。
![](https://i-blog.csdnimg.cn/blog_migrate/f23802640469685b8b50f6691f12607a.png)
下面可通过conn命令建立新的连接,然后再通过show parameter instance命令查看当前实例。
![](https://i-blog.csdnimg.cn/blog_migrate/f50141d95c0e9ddb7b9f8bf1f6b5087b.png)
3、在Windows中如何查看Oracle默认实例?
在windows中用环境变量ORACLE_SID表示当前实例。如果启动了多个实例,则默认实例为最后安装的实例。我们可以在注册表中查看到ORACLE_SID的值。HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1
![](https://i-blog.csdnimg.cn/blog_migrate/25c57cfe857d5b977ff8b77aeda16d53.png)
4、如何设置当前实例?
如果要与一个以非默认的实例建立连接,可以在CMD窗口中先设置ORACLE_SID变量的值,然后再用sqlplus建立连接。注意设置值只对当前CMD窗口有效,具体过程如下图所示。
![](https://i-blog.csdnimg.cn/blog_migrate/1874dbcdbe52bcf02a21d64706c2f04d.png)
5、如何观察Oracle数据库启动过程?
第一步:使用shutdown immediate命令关闭当前实例
![](https://i-blog.csdnimg.cn/blog_migrate/cdce936db066e45d71bbf1c4e695fd0b.png)
然后用lsnrctl status查看实例启动的情况,如下图所示,因为当前实例是booksales,可以看出启动实例中没有booksales。
![](https://i-blog.csdnimg.cn/blog_migrate/959ee3c1adef246b6137b22c8cf54d6e.png)
第二步:使用startup nomount命令启动当前实例,启动到非挂载状态,即只启动Oracle实例,而不启动数据库,因此只需要参数文件即可。
![](https://i-blog.csdnimg.cn/blog_migrate/c17449089ad0bff1c0f3643cbd33c735.png)
使用lsnrctl status命令查看实例状态,如下图所示,booksales实例启动状态为blocked
![](https://i-blog.csdnimg.cn/blog_migrate/03d90f976f20f6ad62c75a955be10796.png)
第三步:使用ALTER database mount命令使得数据库启动到mount状态,此状态下表示创建实例并加载数据文件
![](https://i-blog.csdnimg.cn/blog_migrate/a8b2b2542973b686d08ee8ecffd514b3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b936c76d0f1a7468e5eb8a00306f43c6.png)
第四步:使用alter database open命令使得数据库处于打开状态
![](https://i-blog.csdnimg.cn/blog_migrate/4b247b05f5fe52e5a26444ce885c2dba.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f9f8801bc10c9b79d6f1918ebdba5388.png)