達夢DIsql
DIsql工具是一款類似於SQL*Plus的工具,這裡介紹如何啟動DIsql併成功登入到資料庫、如何遠端登入到其他資料庫、如何使用以及如何退出DIsql。
啟動DIsql
為了使用DIsql,必須首先要啟動DIsql。DIsql工具可以廣泛用於各種作業系統,如WINDOWS、LINUX等。啟動之後,當出現“SQL>”符號時,使用者就可以利用DM提供的SQL語句和資料庫進行互動操作了,需要注意的是,在DIsql中SQL語句應以分號“;”結束。對於執行語句塊,建立觸發器,儲存過程,函式,包,模式等時需要用“/”結束。
1.1在WINDOWS系統中啟動DIsql
WINDOWS環境下,有兩種啟動DIsql的方式。第一種是啟動安裝軟體後生成的程式選單,第二種是啟動安裝目錄下自帶的DIsql工具。
1.1.1程式選單啟動
如果在WINDOWS環境中安裝了DM資料庫產品,那麼可以在應用選單中找到SQL互動式查詢工具,直接雙擊即可啟動。然後使用LOGIN或CONN命令登入到指定資料庫。LOGIN或CONN命令下文有詳細介紹。以LOGIN為例,登入到IP地址為10.18.30.190的機器上,使用者名稱和密碼為:SYSDBA/SYSDBA,埠號為5236。其他全部敲回車,採用預設輸入。密碼不會回顯到螢幕上。
disql V7.1.6.48-Build(2018.03.01-89507)ENT SQL> login 服務名:10.18.30.190 使用者名稱:sysdba 密碼: 埠號:5236 SSL路徑: SSL密碼: UKEY名稱: UKEY PIN碼: MPP型別: 是否讀寫分離(y/n):n 協議型別: 伺服器[10.18.30.190:5236]:處於普通開啟狀態 登入使用時間 :380.428(ms) SQL>
也可以全部直接回車,採用預設輸入,登入到本地DM資料庫。預設值請參考下文LOGIN命令
1.1.2自帶DIsql工具啟動
DIsql工具位於DM資料庫安裝目錄的bin子目錄下,例如DM資料庫的安裝目錄為E:\dmdbms,則DIsql位於E:\dmdbms\bin\DIsql.exe。雙擊啟動,然後輸入使用者名稱、密碼,就可登入到本地DM資料庫例項。密碼不會回顯到螢幕上。也可以全部直接回車,採用預設輸入,預設值為SYSDBA/SYSDBA。
disql V7.1.6.48-Build(2018.03.01-89507)ENT 使用者名稱:sysdba 密碼: 伺服器[LOCALHOST:5236]:處於普通開啟狀態 登入使用時間: 58.363(毫秒) Connected to: DM 7.1.6.48 SQL>
如果後續操作想登入到其他DM資料庫例項,可使用LOGIN或CONN命令。
SQL> conn sysdba/sysdba@10.18.30.190:5236 伺服器[10.18.30.190:5236]:處於普通開啟狀態 登入使用時間: 23.443(毫秒)
1.2命令列啟動DIsql
命令列啟動DIsql適用於任何作業系統平臺。
1.2.1命令列啟動
從命令列啟動DIsql並登入到資料庫。在命令列工具中找到DIsql所在安裝目錄D:\dmdbms\bin,輸入DIsql和登入方式後回車。登入方式在下一節詳細介紹。登入介面如下:
windows平臺
C:\Users\Administrator>E: E:\>cd dmdbms\bin E:\dmdbms\bin>disql sysdba/xxzx@10.18.30.190:5236 伺服器[10.18.30.190:5236]:處於普通開啟狀態 登入使用時間: 17.195(毫秒) disql V7.1.6.48-Build(2018.03.01-89507)ENT Connected to: DM 7.1.6.46 SQL>
Linux平臺
[dmdba@cs1 bin]$ ./disql sysdba/xxzx@10.18.30.190:5236 Server[10.18.30.190:5236]:mode is normal, state is open login used time: 10.709(ms) disql V7.1.6.46-Build(2018.02.08-89107)ENT Connected to: DM 7.1.6.46 SQL>
1.2.2 DIsql登入方式
DIsql的登入方式。
語法如下:
DIsql [ [<option>] [<logon> | /NOLOG] [<start>] ] <option>::=HELP|-H|-S <logon>::=<username>[/<password>][*<MPP_TYPE>][@<server>][:<port>][?{UDP|TCP}] [#<sslpath>@ssl_pwd] <start>::=<`執行指令碼>|<start執行指令碼>|<直接執行語句> <`執行指令碼>::=`<file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}] <start執行指令碼>::=START <file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}] <直接執行語句>::= -E “<SQL語句>{;<SQL語句>}” 文中語法符號規定:<>內的內容是必選項; []內的內容是可選項;{}內的內容可以出現一次或多次 |為或者;::=為定義符。後文語法用法與此相同。
DIsql登入方式引數介紹
HELP|-H|-S
HELP或-H表示顯示DIsql版本資訊和幫助資訊;-S表示設定DIsql介面為隱藏模式,隱藏命令的<SQL>識別符號。
[dmdba@cs1 bin]$ ./disql -h disql V7.1.6.46-Build(2018.02.08-89107)ENT DISQL usage1:disql -h show disql version and help message DISQL usage2:disql [ [<option>] [{logon | /nolog}] [<start>] ] <option>:-S set no show model, hidden disql flag <logon> : {<username>[/<password>][*<MPP_TYPE>][@<connect_identifier>] | /} [AS <SYSDBA|SYSSSO| SYSAUDITOR|AUTO>] <connect_identifier> :{[<SERVER>][:<PORT>][?{UDP|TCP|IPC|RDMA}][#<sslpath>][@<sslpwd>]} if ipv6 address,[] is needed. For example [fe80::1e6f:65ff:fed1:3724%6] <start> : `<filename>[<parameter> ...] run disql bash /NOLOG option can run disql, while not connected to DM server
<username> 指定資料庫的使用者名稱。預設使用者名稱為SYSDBA。 <password> 指定資料庫的密碼。預設密碼為SYSDBA。輸入密碼時,如遇到特殊字元需要特別處理。特殊字元包括關鍵字元和雙引號等。特殊字元的處理見下文。 <MPP_TYPE> 指MPP型別。MPP 型別是MPP登入屬性,此屬性的設定對非MPP系統沒有影響。此屬性的有效值為GLOBAL和LOCAL,預設為GLOBAL。GLOBAL表示MPP環境下建立的會話為全域性會話,對資料庫的操作在所有節點進行;LOCAL表示MPP環境下建立的會話為本地會話,對資料庫的操作只在本地節點進行。 <server> 指定伺服器的IP地址或是在dm_svc.conf中配置的網路服務名。dm_svc.conf的配置請參考《DM7系統管理員手冊》的2.1.1節。例如:在dm_svc.conf中配置服務名dmrac_svc =(192.168.0.38:5236, 192.168.0.38:5237)。然後就可以使用服務名登入了: DIsql SYSDBA/SYSDBA@dmrac_svc使用服務名的好處是第一個IP連不通,會自動連線下一個。 UDP|TCP 指定使用UDP協議或TCP協議。預設為TCP。例如:DIsql SYSDBA/SYSDBA@localhost:5236?UDP [#<sslpath>@ssl_pwd] 通訊加密中客戶端證書存放的地址和客戶端證書金鑰。各使用者只能使用自己的證書,例如SYSDBA賬戶只能使用\bin\CLIENT_SSL\SYSDBA下的證書和密碼,如果證書沒有密碼可以用預設或任意數字代替。例如:DIsql SYSDBA/SYSDBA@192.168.0.38:5236#D:\dmdbms\bin\client_ssl\SYSDBA@12345 預設為不加密。 /NOLOG 表示啟動DIsql 而不登入到伺服器。此時可以進行DIsql的顯示設定和本地變數操作。如果沒有/NOLOG選項必須登入伺服器,不帶引數的時候提示輸入使用者名稱和密碼,此時的使用者名稱和密碼用法參考<logon>。且登入三次失敗後退出DIsql。 <start> 執行DIsql指令碼檔案。 例如,假設a.sql是路徑為“c:\”的任意指令碼檔案:DIsql -S SYSDBA/SYSDBA@192.168.0.80:5236 `c:\a.sql。如果在linux環境下使用,<start>外需要加上單引號,如:'`" < file_path >"'。 <file_path> 執行DIsql指令碼檔案的絕對路徑。 <PARAMETER_VALUE> 傳給<file_path>指令碼檔案中本地變數的引數值,將其中的引數內容傳給變了&1,&2,&3…以此類推。 <直接執行語句> 使用-E引數,將在執行DIsql時直接執行後續的一條或多條SQL語句。例如:DIsql SYSDBA/SYSDBA -e "SELECT TOP 1 * FROM SYSOBJECTS; SELECT TOP 1 * FROM V$CMD_HISTORY"。 <password>中特殊字元的處理方法,不同作業系統,處理方法不同。 1.不同作業系統 WINDOWS系統 DIsql的關鍵字元,DIsql的要求對連線串的特殊字元需要使用雙引號括起來”aaaa/aaaa”, 作業系統的要求需要再在最外加雙引號和轉義”””aaaa/aaaa”””。例如:使用者名稱為user01,密碼為aaaa/aaaa,那麼連線串要寫成:DIsql user01/”””aaaa/aaaa””” 空格,需要使用雙引號括起來作為一個整體(這是作業系統的要求)。例如:使用者名稱為user01,密碼為aaaa aaaa ,那麼連線串要寫成:DIsql user01/”aaaa aaaa”雙引號,DIsql要求對雙引號需要使用雙引號括起來,同時雙引號需要轉義”aaaa””aaaa”;作業系統要求再對雙引號轉義和最外層加雙引號”””aaaa””””aaaa”””。例如:使用者名稱為user01,密碼為aaaa”aaaa ,那麼連線串要寫成:DIsql user01/”””aaaa””””aaaa”””。 LINUX系統 LINUX環境下,密碼中的特殊字元處理過程既要考慮作業系統的要求,又要考慮DIsql的要求。首先,作業系統的要求。 bash的引號設計為:在單引號中,所有的特殊字元都失去其特殊含義;在雙引號中,特殊字元包括:美元符($)、反引號(`)、轉義符(\)、感嘆號(!)。如果密碼中沒有單引號的,應該都只有外面加單引號就可以解決了;如果密碼只有單引號,那麼可以將單引號用雙引 號括起來;如果既有單引號又有美元符($)、反引號(`)、轉義符(\)、感嘆號(!)四個特殊字元,那麼在特殊字元之前全部加\轉義就好了。 例如: 'aaaa\aaaa' 傳給disql為aaaa\aaaa。 "aaaa'aaaa" 傳給disql為aaaa'aaaa。 "aaa'\$aaaa" 傳給disql為aaa'$aaaa。 其次,在作業系統要求的基礎上,增加DIsql對關鍵字和雙引號的要求。 DIsql的關鍵字元,DIsql的要求對連線串的特殊字元需要使用雙引號括起來。例如:密碼為aaaa\aaaa,使用雙引號括起來“aaaa\aaaa”,因為此密碼中不含有單引號,根據作業系統的要求直接在最外面加單引號。例如:使用者名稱為user01,密碼為aaaa/aaaa,那麼連線串要寫成:./DIsql user01/’”aaaa/aaaa”’。 雙引號,DIsql要求對雙引號需要使用雙引號括起來,同時雙引號需要轉義。例如:密碼為aaa”\aaaa,那麼根據DIsql的要求加雙引號同時轉義為”aaa””\aaaa”,因為沒有單引號,根據作業系統的要求直接加單引號。例如:使用者名稱為user01,密碼為aaa”\aaaa,那麼連線串要寫成:./DIsql user01/’”aaa””\aaaa”’。 單引號,根據作業系統的要求,只能將單引號放入雙引號中。例如:使用者名稱為user01,密碼為aaaa'aaaa,那麼連線串要寫成:./DIsql user01/”aaaa'aaaa”。 單引號+作業系統下的特殊字元,根據作業系統的要求,因為單引號只能放在雙引號內,同時雙引號中還有一些特殊字元不能被識別需要加反斜槓轉義。例如: 使用者名稱為user01,密碼為aaa'$aaaa,使用雙引號括起來,同時對$加反斜槓轉義。那麼連線串要寫成:./DIsql user01/”aaa'\$aaaa”。 單引號+雙引號,根據作業系統的要求,單引號需要放在雙引號中,在雙引號中表示雙引號則使用反斜槓轉義雙引號。例如: 使用者名稱為user01,密碼為aaa”'aaaa,根據DIsql的要求雙引號作為特殊字元,需要使用雙引號在括起來,同時使用雙引號對雙引號轉義”aaa””'aaaa”;同時考慮作業系統的要求,因為含有單引號,只能將整個密碼放入雙引號中,同時對雙引號使用反斜槓轉義,那麼連線串要寫成:./DIsql user01/”\”aaa\”\”'aaaa\””。 2.如何轉義雙引號 1) DIsql的要求使用雙引號對雙引號內的雙引號轉義。 2) WINDOWS命令列,使用雙引號或者反斜槓對雙引號內的雙引號轉義。 3) LINUX命令列,使用反斜槓對雙引號內的雙引號轉義。 <start>命令中:<`執行指令碼>既可以在DIsql啟動時使用,也可以在進入DIsql介面之後使用。而<start執行指令碼>只能在進入DIsql介面之後才能使用。 2切換登入 使用者進入DIsql介面後,如果想切換到其他DM資料庫例項。有兩種實現方式:一是使用LOGIN命令;二是使用CONN命令。登入到遠端資料庫,必須在服務名處使用IP地址或網路服務名。 2.1 LOGIN /LOGOUT 1. LOGIN登入主庫建立會話
disql V7.1.6.48-Build(2018.03.01-89507)ENT SQL> login 服務名:10.138.130.190 使用者名稱:sysdba 密碼: 埠號:5236 SSL路徑: SSL密碼: UKEY名稱: UKEY PIN碼: MPP型別: 是否讀寫分離(y/n):n 協議型別: 伺服器[10.138.130.190:5236]:處於普通開啟狀態 登入使用時間 :26.018(ms)
服務名:資料庫服務名或IP地址。LOCALHOST表示本地伺服器。預設為LOCALHOST。
使用者名稱和密碼:預設均為SYSDBA,密碼不回顯。
埠號:預設為5236。
SSL路徑和SSL密碼:用於伺服器通訊加密,不加密的使用者不用設定,預設為不設定。
UKEY名稱和UKEY PIN碼:供使用UKEY的使用者使用,普通使用者不用設定,預設為不使用。
MPP 型別:參見上一節<MPP_TYPE>,MPP型別是MPP登入屬性,此屬性的設定對非MPP系統沒有影響。此屬性的有效值
為GLOBAL和LOCAL,預設為GLOBAL。
是否讀寫分離(y/n):預設n。如果輸入y,會提示:讀寫分離百分比(0-100)。使用者根據需要輸入相應的百分比,如果
輸入的百分比不合法,那就相當於沒有設定。
登入成功後會顯示登入時間。
2. LOGOUT從登入主庫登出會話
LOGOUT命令從登入主庫登出會話。斷開連線而不退出DIsql
SQL> logout
2.2 CONN[ECT] /DISCONN[ECT]
1. CONN[ECT] 連線
CONN[ECT]命令與login命令相似,增加的功能是,可以在命令之後直接跟<username>[/<password>][*<MPP_TYPE>]
[@<server>],或者跟<username>,然後按照DIsql提示輸入<password>來連線。
語法如下:
CONN[ECT] <username>[/<password>][*<MPP_TYPE>] [@<server>]
或者
CONN[ECT] <username>
<password>:密碼。如果密碼中有特殊字元,需要特別處理。特殊字元指密碼串中含有的關鍵字元(/@:#*[]) 或雙引號"。具體處理如下:
關鍵字元,需要用雙引號括起連線串中的密碼串。例如:使用者名稱user01,密碼為aaaa/aaaa,那麼連線串要寫成:
conn user01/"aaaa/aaaa"。
雙引號,需要用雙引號括起連線串中的密碼串,同時雙引號還需要用雙引號"或反斜槓/轉義。例如:使用者名稱user01,密碼為aaaa"aaaa ,那麼連線串要寫成conn user01/"aaaa""aaaa"。
使用CONN[ECT]命令建立新會話時,會自動斷開先前會話。
SQL> conn sysdba/xxzx7817600@10.18.30.190:5236 Server[10.18.30.190:5236]:mode is normal, state is open login used time: 10.735(ms)
2. DISCONN[ECT] 斷開連線
DISCONN[ECT]:斷開連線而不退出DIsql。與logout功能一樣。
SQL> disconnect not connected
3使用DIsql
以一個簡單的查詢例子來說明如何使用DIsql。只需要輸入一條SQL語句,回車即可。DIsql將SQL語句傳送給DM資料庫伺服器並顯示伺服器返回的結果。SQL語句如何書寫請參考《DM7_SQL語言使用手冊》。
SQL> select top 5 name,id from sysobjects; LINEID NAME ID ---------- ---------- ----------- 1 SYSOBJECTS 0 2 SYSINDEXES 1 3 SYSCOLUMNS 2 4 SYSUSER$ 3 5 SYSCONS 4 used time: 2.961(ms). Execute id is 2096.
4退出DIsql
使用EXIT/QUIT命令,退出DIsql。
語法如下:
EXIT|QUIT
SQL> exit [dmdba@cs1 bin]$
DIsql與SQL*Plus有很多類似,對於有Oracle學習經驗的從業者來說還是很容易上手的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2158733/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 達夢資料庫Disql用法詳解之Disql啟動與登入資料庫SQL
- 達夢資料庫Disql用法詳解之Disql命令列命令用法介紹資料庫SQL命令列
- G014-ORACLE-ASK O SQL*PLUS / 達夢DiSQL / 高斯ZSQL 命令列翻頁OracleSQL命令列
- G004-DM-ASK-01 達夢資料庫 DiSQL 連線方法及別名字串配置資料庫SQL字串
- 達夢安裝
- 【達夢】Docker安裝達夢資料庫 dm8Docker資料庫
- 達夢遷移工具之MySQL資料庫遷移到達夢MySql資料庫
- DBeave如何連線達夢資料庫,設定達夢驅動,真酷資料庫
- 搭建達夢DSC叢集
- 達夢dsc+dw部署
- 達夢DMDSC叢集搭建
- 達夢資料庫安裝資料庫
- 達夢資料庫開發資料庫
- 初識達夢資料庫資料庫
- 達夢SQL優化方法statSQL優化
- 達夢資料庫學習資料庫
- DM7使用disql管理備份SQL
- 達夢資料庫基礎知識(三)達夢資料庫記憶體結構資料庫記憶體
- 達夢列儲存表(HUGE Table)
- 達夢dmfldr資料快速載入
- 達夢dmfldr載入大欄位
- Redhat 7 下安裝達夢7Redhat
- 效能優化之達夢AWR使用優化
- 學習達夢hint注入筆記筆記
- 達夢資料庫學習心得資料庫
- 達夢資料庫日常運維資料庫運維
- 達夢資料庫基礎---表資料庫
- 達夢資料庫備份恢復資料庫
- 達夢7資料庫初始化資料庫
- 達夢7同構(DM-DM)DBLINK
- 達夢7異構(DM-Oracle) DBLINKOracle
- 達夢資料庫之初步測試資料庫
- 達夢8分析core檔案
- 達夢7在Linux平臺安裝Linux
- 達夢資料庫DCP培訓心得資料庫
- 配置達夢資料庫同構DBLINK資料庫
- 達夢資料庫學習筆記資料庫筆記
- 《塞爾達傳說:織夢島》做了場跨越20年的美夢