您好,欢迎访问一九零五行业门户网

Oracle之sqlplus / as sysdba;

对于一台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返回速度
其它类似信息

推荐信息