我想知道sqlplus如何在連接語句「sqlplus /」中使用用戶名和密碼。「sqlplus /」如何工作
如何更改配置,如果我想用不同的用戶連接「sqlplus /」。它可能看起來很尷尬,但在我的腳本「sqlplus /」是harcoded,我們不能改變這一點。只是我想用不同的用戶使用相同的命令連接。
我想知道sqlplus如何在連接語句「sqlplus /」中使用用戶名和密碼。「sqlplus /」如何工作
如何更改配置,如果我想用不同的用戶連接「sqlplus /」。它可能看起來很尷尬,但在我的腳本「sqlplus /」是harcoded,我們不能改變這一點。只是我想用不同的用戶使用相同的命令連接。
從Oracle文檔:
/
表示在使用操作系統驗證默認登錄。在默認登錄中,SQL * Plus通常會嘗試使用用戶名OPS $ name登錄您,其中name是您的操作系統用戶名。請注意,前綴「OPS $」可以設置爲任何其他字符串。
例如,您可能希望將您的INIT.ORA參數文件中的設置更改爲LOGONname或USERIDname。有關操作系統認證的信息,請參見「Oracle9i數據庫管理員指南」。
因此,它使用您的操作系統詳細信息來構建您的Oracle用戶名,這意味着您可能無法設置任意名稱。
用於指定前綴的Oracle初始化參數爲OS_AUTHENT_PREFIX
,其默認值爲OPS$
。
有一件事你可能做的,如果你不能改變它調用SQLPLUS,是插入你自己 sqlplus的腳本,在Oracle的前一個路徑,沿(不徹底的測試)行腳本:
#!/bin/bash
if [[ "$1" != "/" ]] ; then
$ORACLE_HOME/bin/sqlplus "[email protected]"
exit
fi
shift
$ORACLE_HOME/bin/sqlplus $MY_ORA_USER/$MY_ORA_PWD "[email protected]"
然後這將是您的腳本調用的那個,它會檢查第一個參數,看它是否是簡單的/
。如果不是,它會使用相同的參數調用真實的sqlplus
。
否則,它將用由MY_ORA_*
環境變量形成的用戶/密碼替換/
。
SQLPLus啓動後,您是否允許運行自己的命令?然後你可以使用SQL> connect「user/passw @ db」 – Rene
即使'sqlplus'是硬編碼的,你也可以創建一個名稱相同的包裝器,並把它放在'PATH'中。 – tripleee