Home  >  Article  >  Database  >  Oracle之sqlplus / as sysdba;

Oracle之sqlplus / as sysdba;

WBOY
WBOYOriginal
2016-06-07 17:33:303154browse

对于一台Oracle服务器下,安装了多个实例,当执行sqlplus / as sysdba时,连接的是哪个实例呢?其实,当执行sqlplus / as sysdba

对于一台Oracle服务器下,,安装了多个实例,当执行sqlplus / as sysdba时,连接的是哪个实例呢?

其实,当执行sqlplus / as sysdba时,此时用户名和密码是可以随便输入的,也可以如现在这样为空,不输入。本质上在于此时验证的根本不是密码文件,而是通过操作系统进来的,这时候连接的数据库的SID由操作系统环境变量$ORACLE_SID决定,查看方式为echo V$ORACLE_SID.此SID的验证,可以在sqlplus / as sysdba进去后,执行数据库命令查看:select t.instance_name from v$instance  t.

对于此SID对应的数据库的更详细的环境信息, 可以在$ORACLE_HOME/network/admin/tnsnames.ora里进行查看。

当Oracle数据库的sys用户密码忘记的时候,可以通过操作系方式:sqlplus / as sysdba进入数据库,然后执行alter user sys identified by xxx来修改sys用户密码。

对于执行sqlplus / as sysdba,要求操作用户在DBA用户组,如oracle用户可以执行此命令,而其他普通用户执行此命令时,会报权限不足的错误。

对于$ORACLE_SID值的修改,bash shell模式下,在.bash_profile文件里,加上export ORACLE_SID=xxx,然后使得修改生效:source .bash_profile即可。这样sqlplus / as sysdba,连接的就是.bash_profile文件里配置的$ORACLE_SID的值。

相关阅读:

rlwrap - 解决Linux下SQLPLUS退格、上翻键乱码问题

SQLPLUS spool 到动态日志文件名

Oracle SQLPLUS提示符设置

通过设置SQLPLUS ARRAYSIZE(行预取)加快SQL返回速度

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn