Oracle 常用指令 & SQL - sqlplus 登入篇 (Login section)

Oracle 登入相關

-- 本機登入sysdba角色,執行的帳號需要有dba權限

sqlplus / as sysdba

-- 遠端登入資料庫 (需要編輯 tnsnames.ora 的連線資訊,以對應 tnsname)

sqlplus username/password@tnsname

-- 手動帶入遠端登入資料庫資訊

sqlplus username/password@IP:Port/oracle_sid

Example:
sqlplus hr/hr@10.10.10.10:1521/orcl

-- 強制登入本機instance (無法執行任何sql,但可以執行 shutdown instance & 執行 oradebug)

sqlplus -prelim / as sysdba

-- sqlplus 環境設定 & 顯示設定

set linesize <n> : 用來設定一行的長度, set linesize 180 表示一行輸出的長度為 180 。
set pagesize <n> : 用來設定輸出一頁有幾行。
set timing on / off : 用來設定是否顯示 SQL 語法的執行時間。
set echo on / off : 在執行腳本時,用來設定是否將腳本的命令顯示出來。
set head on / off : 用來設定是否顯示欄位名稱。
set feedback on / off : 例如執行一段 select 查詢 ,最後 SQLPLUS 都會顯示出查詢了多少個 rows ,透過腳本執行時,可使用feedback on / off 來設定是否顯示出這一段文字。
set markup html on : 設定輸出為 HTML 格式。
set serveroutput on : 顯示執行PL/SQL透過dbms_output.put_line()出來的資訊
set colsep '|'; 查詢顯示欄位分隔符號

col column_name format a12 : 設定欄位文字顯示長度 12
col column_name format 999,999,999 : 設定顯示數字型態格式

-- sqlplus 常用命令

desc : 顯示表結構 (ex: desc v$session )

host 或 ! : 執行作業系統命令 (ex: host ls -l 或 ! ls -l )

edit (ed) : 編輯上一次執行成功/失敗的 sql 內容 (ex: ed )

copy from : 複制遠端 table的 資料 (ex: copy from hr/hr@orcl create emp using select * from employees; )

spool : 將 sqlplus 執行的過程記錄下來
(ex:
spool file.txt
...
spool off
)

張貼留言

0 留言