[Oracle]sqlplus 啟動參數說明

來源:互聯網
上載者:User

標籤:

[Oracle]sqlplus 啟動參數說明

# su - oracle [grid]

用法 1: sqlplus -H | -V

-H[ELP]:
顯示 SQL*Plus 命令的文法和用法,然後返回控制到作業系統中。
-V[ERSION]:
顯示 SQL*Plus 的版本號碼,然後返回控制到作業系統中。


用法 2: sqlplus [ [<option>] [{logon | /nolog}] [<start>] ]

<option> is: [-C <version>] [-L] [-M "<options>"] [-R <level>] [-S]

  -C <version> :
  設定 SQL*Plus 命令相容版本。<version> 的格式為“x.y[.z]”。例如, -C 10.2.0

  -L[OGON]:
  指定如果首次串連不成功則不要再次提示輸入使用者名稱和口令。這個選項可用於作業系統指令碼中,可防止當資料庫伺服器沒有運行時再次提示輸入串連資訊。這個選項在 SQL*Plus 圖形使用者介面中不可用
  
  -M[ARKUP] "<options>":
  可使用本選項從查詢或指令碼產生完全標準的獨立的 Web 頁面。
  可使用 SQLPLUS -MARKUP HTML ON 或 SET MARKUP HTML ON SPOOL ON 產生標準的 Web 頁。SQL*Plus 將使用 <HTML> 和 <BODY> 標籤自動產生完整的 HTML 頁。在執行 SPOOL OFF 命令或退出 SQL*Plus 時,假離線檔案中的 HTML 標籤會被關閉。
  在使用 -MARKUP 時,-SILENT 和 –RESTRICT 命令列選項也很有用。
  可使用 SET MARKUP HTML ON SPOOL OFF 產生可嵌入到現有 Web 頁中的 HTML 輸出。通過這種方式產生的輸出中沒有 <HTML> 和 <BODY>標籤。
  用 MARKUP HTML ON 可把 HTML 輸出產生到 <PRE> 標籤中或者 HTML 表格中。輸出到表格中時將自動使用標準的HTML <TABLE>、<TR> 和 <TD> 標籤來編碼查詢結果的行和列。當 HTML 選項被設為 ON時預設行為就是輸出到 HTML 表中。可通過設定 PREFORMAT ON 來使用 <PRE> 標籤產生輸出。
  使用 SHOW MARKUP 命令可查看 MARKUP 選項的狀態。
  SQLPLUS –MARKUP 命令和 SET MARKUP 命令具有相同的選項和功能。
    
  注意:markup_option 子句可能需要用引號括起來。
        
  HTML [ON|OFF]:
  HTML 是必需有的 MARKUP 參數,它用於指定產生 HTML 類型的輸出。HTML 的選擇性參數 ON 和 OFF 用於指定是否產生 HTML 輸出。預設是OFF。
  MARKUP HTML ON 使用指定的 MARKUP 選項產生 HTML 輸出,或者,在使用 SET MARKUP 的情況下則用當前會話中先前的 SET MARKUP HTML 命令設定的選項。
  在會話期間,可根據需要把 HTML 設為 ON 或 OFF。預設是 OFF。
  可使用 SQL*Plus 命令 SPOOL filename 把產生的輸出寫入到假離線檔案中。詳細資料請參考下面的SPOOL {ON|OFF}
          
  HEAD text:
  通過 HEAD text 選項可指定 <HEAD> 標籤中的內容。預設情況下,text是:
   <TITLE>SQL*Plus Report</TITLE>
  如果 text 中包括空格,則必須把它放到引號中。SQL*Plus 不會檢測 text 的 HTML 有效性,因此必須確保所輸入的文本對 <HEAD> 標籤是有效。通過這個選項可為特定瀏覽器或者特殊需要定製輸出。
          
  BODY text:
  通過 BODY text 選項可為 <BODY> 標籤指定屬性。預設情況下沒有任何屬性。如果text 中包括空格,則必須把它放到引號中。SQL*Plus 不會檢測text 的 HTML 有效性,因此必須確保所輸入的文本對 <BODY> 標籤是有效。通過這個選項可為特定瀏覽器或者特殊需要定製輸出。
    
  TABLE text:
  通過 TABLE text 選項可為 <TABLE> 標籤指定屬性。可使用 TABLE text 選項設定 <TABLE> 標籤的屬性,例如 BORDER、CELLPADDING、CELLSPACING 和 WIDTH。預設情況下 <TABLE> 的 WIDTH 屬性設定為 90%,而 BORDER 屬性設定為 1。
  如果 text 中包括空格,則必須把它放到引號中。SQL*Plus 不會檢測 text 的 HTML 有效性,因此必須確保所輸入的文本對 <TABLE> 標籤是有效。通過這個選項可為特定瀏覽器或者特殊需要定製輸出。
          
  ENTMAP {ON|OFF}:
  ENTMAP ON 或 OFF 指定了 SQL*Plus 是否用 HTML 實體 &lt;、&gt;、&quot; 和 &amp; 來分別替換特殊字元 <、>、" 和 &。預設情況下 ENTMAP 設為 ON。
  在會話期間可根據需要把 ENTMAP 設為 ON 或 OFF。例如,設為 OFF時,SQL*Plus 螢幕輸出是:
   SQL>SELECT DEPARTMENT_ID, CITY
   1 FROM EMP_DETAILS_VIEW
   2 WHERE SALARY = 12000;
  而設為 ON 時,SQL*Plus 螢幕輸出是:
   SQL&gt; SELECT DEPARTMENT_ID, CITY
      2 FROM EMP_DETAILS_VIEW
      3 WHERE SALARY = 12000;
  如果沒有映射實體,網頁瀏覽器可能會把資料看作無效的 HTML 並且隨後的輸出都不能正常顯示。使用 ENTMAP OFF 可以編寫自己的 HTML 標籤來定製輸出。
  <HEAD> 和 <BODY> 標籤中的實體不會被映射,因此必須確保在MARKUP HEAD 和 BODY 選項中使用了有效實體。
  注意:只有在 HTML 選項或 SPOOL 選項設為 ON 時 ENTMAP 才起作用

  SPOOL {ON|OFF}:
  SPOOL ON 或 OFF 指定 SQL*Plus 是否把 <HTML>、<BODY> 和</BODY>、</HTML> 標籤分別寫入到 SPOOL filename 命令建立的每個檔案的開始和結束處。預設是 OFF。
  可在會話期根據需要把 SPOOL 設為 ON 或 OFF。
  注意:
    必須理解SET MARKUP HTML SPOOL 選項和 SQLPLUS SPOOL filename 命令的區別。
    SET MARKUP HTML SPOOL ON 選項用於把 <HTML> 標籤寫入到假離線檔案中。而只有在使用了 SQLPLUS SPOOL filename 命令後才會建立假離線檔案。
        
    當發布 SPOOL filename 命令時,SQL*Plus 會把幾個 HTML 標籤寫入到假離線檔案中。所寫入的標籤和它們的預設內容是:
      <HTML>
      <HEAD>
      <TITLE>SQL*Plus Report</TITLE>
      <META name="generator" content="SQL*Plus 9.0.1">
      </HEAD>
      <BODY>
        
    當發布 EXIT、SPOOL OFF 或 SPOOL filename 命令時,SQL*Plus 把下面的標籤附加到檔案中並關閉檔案:
      </BODY>
      </HTML>
    可使用 HEAD 和 BODY 選項指定 <HEAD> 標籤內容和 <BODY> 的屬性。
          
  PRE[FORMAT] {ON|OFF}:
  PREFORMAT ON 或 OFF 指定 SQL*Plus 把輸出寫入到 <PRE> 標籤中還是寫到 HTML 表格中。預設值是 OFF,因此預設情況下輸出被寫入到了HTML 表格中。在會話中可根據需要把 PREFORMAT 設為 ON 或 OFF。
  注意:
    要使用 <PRE> 標籤產生輸出報表必須設定 PREFORMAT ON。例如:
    SQLPLUS -M "HTML ON PREFORMAT ON"
    SET MARKUP HTML ON PREFORMAT ON    
        
  MARKUP 用法說明:
    現存的沒有明確設定 PREFORMAT ON 的指令碼將在 HTML 表格中產生輸出。如果要在<PRE> 標籤中產生輸出,則必須設定 PREFORMAT ON。
    當在 HTML 表格中產生輸出時,一些 SQL*Plus 命令會具有不同的行為。那些用于格式化報表的命令對於 Web 表格式的報表可能具有不同意義。
    PAGESIZE 是 HTML 表格的行數,而不是資料行數。HTML 表格的每一行可以包含多個資料行。TTITLE、BTITLE 和欄位標題每 PAGESIZE 行重複一次。
    如果 WRAP 設為 ON,LINESIZE 會對比較長的資料產生影響。根據資料的長度,它們可能會被顯示成多行而 網頁瀏覽器可能會把分行符號解釋為一個空格。
    TTITLE 和 BTITLE 可被輸出到行中的三個位置:左、中和右,並且最大行寬被設定為瀏覽器視窗的 90%。由於這些元素在 Web 報表中被處理的方式不同,它們可能和報表中的主輸出資料不能夠對齊。TTITLE 和 BTITLE中的實體映射和 MARKUP 命令中指定的 ENTMAP 設定相同。
    如果在輸出中使用標題,SQL*Plus 將在標題後使用一個新的 HTML 表格顯示資料。根據每列中資料寬度的不同,在瀏覽器中顯示的每張表格的列寬可能也不同。
    在 HTML 報告中只有當 PREFORMAT 設定為 ON 時,SET COLSEP 和 RECSEP才產生輸出。      
        
  -R[ESTRICT] <level> :
  允許使用者禁用幾個可以和作業系統互動的命令。這與使用 Product User Profile(PUP)表來禁用命令相類似。然而,若使用本選項禁用命令,則即使沒有串連到伺服器這些命令也會被禁用並且一直保持到退出 SQL*Plus。
  如果沒有使用 –R 選項,那麼所有的命令都可使用,除非已在 PUP 表中被禁用。
  最高限制層級為 -R 3,如果使用了 -R 3,那麼 LOGIN.SQL 不會被讀取,而GLOGIN.SQL 會被讀取但是其中使用的被限制的命令將失敗。
  各限制層級禁用的命令如下:
    命令    Level 1  Level 2  Level 3
    EDIT    disabled disabled disabled
    GET               disabled
    HOST    disabled disabled disabled
    SAVE         disabled disabled
    SPOOL         disabled disabled
    START,@,@@            disabled
    STORE         disabled disabled

  -S[ILENT]:
  設定靜默方式,禁止顯示所有的 SQL*Plus 資訊和提示訊息,包括命令提示字元、命令的回顯和正常啟動 SQL*Plus 時顯示的歡迎資訊。如果省略了使用者名稱或密碼 SQL*Plus 會提示輸入它們,但提示資訊是不可見的。可在其它的程式中用靜默方式來調用 SQL*Plus。
  在 CGI 指令碼或作業系統指令碼中用 SQLPLUS –M 命令建立 Web 格式的報表時靜默選項是一個很有用的模式。在使用靜默選項時 SQL*Plus 的歡迎和提示資訊都不會在報表中出現。

<logon> is: {<username>[/<password>][@<connect_identifier>] | / }
       [AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value]

  指定資料庫帳戶使用者名稱, 口令和串連標識符。如果沒有串連標識符, SQL*Plus 將串連到預設資料庫
  
  / 表示使用作業系統驗證時的預設登入。使用預設登入時不能輸入 <connect_identifier>,SQL*Plus 會嘗試使用使用者名稱 OPS$name進行登入,其中name 是作業系統使用者名稱。注意,首碼“OPS$”可以被設定為任何其它的字串。例如,可以在 INIT.ORA 參數檔案中把它改為LOGONname 或 USERIDname。

  子句 AS SYSDBA, AS SYSOPER 和 AS SYSASM 選項指定以資料庫管理員特權進行串連。也可使用 / 和 /NOLOG 來進行特權串連。如果使用這個選項,在大多數作業系統中必須把命令參數放在引號中,例如:
   sqlplus "/ as sysdba"
   sqlplus "system/password as sysoper"

  <connect_identifier> Oracle 串連標識符。其確切的文法依賴於 Oracle 安裝時所使用的網路通訊協議。可以是 Oracle 網路服務名或者簡單串連方式。

   @[<net_service_name> | [//]Host[:Port]/<service_name>]
    <net_service_name> Oracle 網路服務名,如果不輸入,預設為環境變數 $ORACLE_SID 的值
    
    Host 目標資料庫主機名稱或者IP地址
    Port 目標資料庫監聽連接埠,如果不輸入,預設為1521
    <service_name> 目標資料庫服務名

  /NOLOG 選項僅啟動 SQL*Plus 不串連到資料庫。要執行任何 SQL 命令,必須首先執行 CONNECT 命令建立一個有效串連。當希望用 SQL*Plus 指令碼來提示輸入使用者名稱、密碼或資料庫時,可使用 /NOLOG。這時指令檔中的第一行不會被假定為包含一個登入資訊。

  EDITION 指定會話版本的值。

  
<start> is: @<URL>|<filename>[.<ext>] [<parameter> ...]
  指定要執行的指令檔的名稱和參數。可調用位於本地檔案系統或 Web 服務器中的指令碼。
  SQL*Plus 把參數傳遞給指令碼,就像使用 SQL*Plus 的 START 命令執行檔案一樣。如果沒有指定副檔名,將使用 SET SUFFIX 命令定義的尾碼。預設值是 .sql

注意:
  當 SQL*Plus 啟動並串連資料庫後,一些本地 SQL 檔案可能會被執行例如“$ORACLE_HOME/sqlplus/admin/glogin.sql”檔案和使用者工作目錄中的“login.sql”檔案 。

 

範例:

僅啟動 SQL*Plus 不登入到資料庫
$ sqlplus /nolog

以預設管理員登陸
$ sqlplus / as sysdba

以資料庫賬戶登入
$ sqlplus
$ sqlplus username
$ sqlplus [email protected]
$ sqlplus [email protected]//host/sid
$ sqlplus [email protected]//host:port/sid
$ sqlplus username/password
$ sqlplus username/[email protected]
$ sqlplus username/[email protected]//host/sid
$ sqlplus username/[email protected]//host:port/sid
$ sqlplus username as sysdba
$ sqlplus [email protected] as sysdba
$ sqlplus [email protected]//host/sid as sysdba
$ sqlplus [email protected]//host:port/sid as sysdba
$ sqlplus username/password as sysdba
$ sqlplus username/[email protected] as sysdba
$ sqlplus username/[email protected]//host/sid as sysdba
$ sqlplus username/[email protected]//host:port/sid as sysdba

登入資料庫並執行 SQL*Plus 指令檔
$ sqlplus username/[email protected] @/home/oracle/createdb
$ sqlplus username/[email protected] @/home/oracle/createdb.sql
$ sqlplus username/[email protected] @/home/oracle/createdb.sql 10 10 30 40

 

[Oracle]sqlplus 啟動參數說明

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.