SQLPLUS登录以及切换Oracle数据库实例和⽤户
最近刚接触了Oracle数据库,刚⼊门的时候,经常都是使⽤SQL Developer进⾏数据库实例以及⽤户的登录,很少使⽤SQLPLUS来对数据库进⾏操作,但是数据库服务器通常是运⾏在Linux环境之下,通过sqlplus对数据库进⾏管理,因此,对于sqlplus如何对数据库进⾏管理与开发还是很重要的。
⼀开始我使⽤sqlplus登录Oracle数据库的时候,碰到了许多问题,我想,这应该也是很多初学者经常会遇到的问题,接下来我就简单介绍⼀下,如何通过sqlplus登录数据库实例以及进⾏实例之间的切换还有⽤户之间的切换。
⾸先,⾄少要确保以下⼏个服务已经打开:
这张图中已经显⽰了我电脑中所有Oracle服务,其中,当我们要通过sqlplus来登录数据库实例时,必须确保监听服务已经打开,即上图中的OracleOraDB12Home1TNSListner服务,否则,在登录时就会报Ora-12560的错误:
即如上图所⽰,实际上,也可以通过命令⾏来启动监听服务,这就涉及到监听配置⽂件a的配置,这⾥就不详细介绍,感兴趣的可以参考以下博客:
与此同时还要打开你所想要连接的数据库实例后台进程服务,即OracleSeviceSID_NAME,SID_NAME为数据库实例名称。
上述两个服务必须打开,才能够通过SQLPLUS连接到你想要连接的数据库实例。
启动SQLPLUS时,可以在sqlplus命令后直接指定⽤户名和⼝令,这时系统不会提⽰输⼊⽤户名和⼝令,⽽是直接登录到数据库服务器,格式是:⽤户名/⼝令。例如:
sqlplus C##HOTEL/123456
连接成功的话会显⽰已连接。
如果在⼀台计算机创建了多个数据库实例,为了登录到正确的数据库,在进⼊SQLPLUS之前,先要设置环境变量ORACLE_SID,将它的值设为你所想要登录的数据库实例的SID,⼀般和数据库实例同名,(值得注意的是,你想连接的数据库实例后台服务器服务必须打开,即OracleSeviceSID_NAME,如果不打开,那么即边设置了环境变量,连接的时候也会报错Ora-12560)。
⽰例如下(我打开了OracleSeviceHSD和OracleSeviceSample两个数据库实例的后台服务进程,可以看到⼀开始登录时没有指定数据库,登录上的是HSD,修改了ORACLE_SID的值后,登录上了SAMP
LE):
然后重新设置ORACLE_SID为SAMPLE后,再次以SYS⽤户登录当前默认数据路实例,然后使⽤show parameter instance_name命令,发现登录的数据库实例已经变成了SAMPLE:
在默认情况下,SQLPLUS和Oracle服务器位于同⼀台计算机上,启动SQLPLUS时,它将⾃动登录到本机的数据库服务器上。如果SQLPLUS和Oracle服务器不在同⼀台计算机上,那么在登录时还要指定所使⽤的⽹络服务名。例如
sqlplus C##HOTEL/123456@netsvr
其中netsvr是已经定义的⽹络服务名,这时SQLPLUS和Oracle将通过Oracle Net进⾏通信,⽆论采⽤哪种⽅式,登录成功后及那个出现SQLPLUS的提⽰符“SQL>”。
退出SQLPLUS时,在提⽰符之后输⼊quit或exit命令就可以了,如果要在不退出SQLPLUS的情况下断开与数据库服务器的连接,那么输⼊disconnect命令即可,若要重新连接,或者在已经连接了⼀个⽤户的情况的下以另⼀个⽤户的⾝份连接,则使⽤conn命令,使⽤格式如下:
conn username/passwordoracle登录命令
如果是sys⽤户,后⾯还要加上as sysdba或者as sysoper,如果是远程登录,还要再⽤户名和⼝令之后输⼊⽹络服务名。
下⾯实我切换⽤户的⽰例(可以看到⼀开始登录的⽤户为C##HOTEL,切换的⽤户为C##USER01):
如何获取帮助信息?
命令格式为SQL>help 你所想要查的帮助命令
例如输⼊help conn,下⾯就会显⽰出conn命令的详细信息与使⽤⽅式:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。