對於一台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返回速度