sqlplus連接oracle數據庫(連接本地oracle數據庫和連接遠程的oracle數據庫)
雖然我們現在平時都是使用PLSQL Developer這個軟件工具了,但是我們還是要了解sqlplus
想要成功連接本地的oracle數據庫,首先要確保本地的這2個服務是處於啟動狀態
(重要)OracleOraDb11g_home1TNSListener (oracle的監聽器服務)
(重要)OracleServiceORCL (oracle的數據庫服務)
如下圖是連接本地oracle數據庫
scott是oracle數據庫中預設的一個用戶,我們一般把scott用戶的密碼設置為tiger,原因是scott是一個人名,scott這個人是oracle公司的第一個員工,據說,據說scott這個人為oracle公司做出比較大貢獻,所以oracle公司的老板為了紀念他,所以在oracle數據庫中設置了scott這個用戶,而scott這個家伙養了一直寵物貓,這只貓的名字就叫tiger(老外真有意思,居然把貓取名叫tiger,果然夠霸氣)
注意:如果scott用戶被鎖了,可以先解鎖,解鎖完后再修改一下scott的密碼
開始-->運行-->cmd
輸入 :sqlplus /nolog 回車
輸入 :connect / as sysdba 回車
用戶解鎖 : alter user scott account unlock 回車
修改密碼:alter user scott identified by tiger
如下圖:
win鍵 + R再輸入cmd
輸入 :sqlplus /nolog 回車
輸入 :connect / as sysdba 回車或者conn / as sysdba 回車
用戶解鎖 : alter user system account unlock; 回車(注意:語句末尾要記得加;分號)
修改密碼:alter user system identified by system;(注意:語句末尾要記得加;分號)還有一點要注意:修改密碼時,密碼的第一個字符不能是數字
conn是connect的縮寫,兩者效果完全一樣
sqlplus連接上oracle數據庫后,可以用conn來切換/轉換用戶。connect和conn一樣,只不過conn是connect的縮寫
oracle數據庫中有2個文件很重要
listener.ora
tnsnames.ora
文件所在的目錄是D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN(注
意:每個人的oracle數據庫安裝目錄是不同的)
測試數據庫是否連通,可以使用命令tnsping 主機字符串
tnsping可以測試與遠端數據庫服務連接是否正常
比如:
tnsping orcl 注意這里的orcl表示主機字符串,就是tnsnames.ora文件中的那個名字
tnsping LINK192.168.117.66 注意LINK192.168.117.66表示主機字符串,就是tnsnames.ora文件中的那個名字
連接遠程數據庫,有2種寫法,如下圖
寫法1
sqlplus 用戶名/密碼@192.168.117.66:1521/orcl 注意端口號后面跟的orcl表示數據庫的服務名
寫法2
sqlplus 用戶名/密碼@//192.168.117.66:1521/orcl 注意端口號后面跟的orcl表示數據庫的服務名
還有一種寫法,就是在@后面寫主機字符串,如下圖
接下來,我們說正事,使用sqlplus怎么連接本地oracle數據庫和怎么連接遠程oracle數據庫
使用sqlplus怎么連接本地oracle數據庫
先使用cmd命令進入dos窗口
1.sqlplus 用戶名/密碼 比如:sqlplus system/system
也可以sqlplus 用戶名/密碼@本機ip地址:端口號/本地數據庫服務名 比如:sqlplus system/system@127.0.0.1:1521/orcl或者
sqlplus system/system@localhost:1521/orcl
注意:這里的orcl是數據庫服務名
注意:sqlplus system/system和sqlplus system/system@127.0.0.1:1521/orcl和sqlplus system/system@localhost:1521/orcl是等價的,都是連接本地oracle數據庫
注意如果是sys用戶登錄,在密碼后面一定要加as sysdba子句,如下
2.sqlplus /nolog
sqlplus /nolog這句話的意思就是僅僅打開sqlplus這個軟件界面,但是不登錄數據庫(nolog表示不進行登錄,僅僅是進入sqlplus軟件界面而已,就相當於僅僅打開QQ的登錄界面,但是不登錄QQ)
如果沒有/nolog參數,sqlplus會提示你輸入用戶名和密碼,如下圖
3.指定登錄身份sqlplus 用戶名/密碼 as sysdba比如sqlplus system/system as sysdba
4.指定主機字符串,比如sqlplus scott/tiger@LINK192.168.117.66或者sqlplus scott/tiger@orcl
注意:如下圖orcl和LINK192.168.117.66是主機字符串的名字,該名字可以隨便取,可以理解成這是一個別名,通過這個別名去連接真正的遠程的數據庫
比如sqlplus scott/tiger@LINK192.168.117.66
這里的orcl和LINK192.168.117.66其實可以理解成主機字符串,其實就是一個別名,通過這個別名去連接真正的IP,我這里的orcl和LINK192.168.117.66設置的還是我本地127.0.0.1的地址,所以還是表示連接我本地的oracle數據庫,如果想連接遠程的oracle數據庫,你們自己改一下ip地址和端口號和服務名,改成遠程數據庫的IP地址和遠程數據庫的端口號和遠程數據庫的服務名即可
使用sqlplus怎么連接遠程oracle數據庫
1.使用具體的ip地址
sqlplus 用戶名/密碼@遠程數據庫的IP地址:遠程數據庫的端口號/遠程數據庫的服務名
比如sqlplus system/system@127.0.0.1:1521/orcl或者sqlplus system/system@192.168.117.88:1521/orcl
因為我這里沒有88的地址,肯定是連接不上,我這里只是演示一下,怎么通過具體的ip地址的方式來連接遠程數據庫
2.使用主機字符串
tnsnames.ora文件中,如果我們想多配置幾個主機字符串,那我們可以手動拷貝一個主機字符串,然后手動改一下主機字符串的名字和IP地址和服務名和端口號,如下:標紅的就是需要改動的,可以根據你自己的需要來改。
LINK192.168.117.88 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.117.88)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
tnsnames.ora文件中的LINK192.168.117.88,類似於一個別名,通過這個別名,我們可以遠程連接到192.168.117.88這台服務器上的oracle數據庫
注意:LINK192.168.117.88是主機字符串的名字,該名字可以隨便取,可以理解成這是一個別名,通過這個別名去連接真正的遠程的數據庫
使用主機字符串來連接遠程數據庫,如下圖
因為我這里沒有88的地址,肯定是連接不上,我這里只是演示一下,怎么通過主機字符串的方式來連接遠程數據庫
PLSQL Developer軟件也是去讀取tnsnames.ora這個文件,如下圖
當然啦,我們也可以在文本框中手動輸入具體的IP地址和端口號和數據庫服務名,如下圖
還有一點順便說一下,如果我們使用sqlplus登錄了數據庫,但是我們想在不退出的情況下,切換用戶或者是切換成其他遠程的數據庫?
切換成其他遠程的數據庫
使用conn
使用conn 用戶名/密碼@遠程數據庫IP:遠程數據庫端口號/遠程數據庫服務名
切換成其他用戶
順便說一下,sqlplus 用戶名/密碼這種方式連接數據庫,會暴露密碼,如下圖
而直接寫sqlplus這種方式,不會暴露密碼,如下圖