欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle之sqlplus / as sysdba;

程序员文章站 2022-05-10 09:26:43
...

对于一台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返回速度