想研究一下Oracle資料庫,發現安裝Oracle太麻煩了,所以想省事兒,使用docker中的Oracle作為練習。
使用 sudo docker search Oracle 命令搜尋Oracle資料庫鏡像檔案,這裡發現已經有人發布了相關鏡像,連結:https://hub.docker.com/r/sath89/oracle-12c/,直接按照說明,使用pull命令下載鏡像。下載完成後如下所示:
下載鏡像之後,我們 需要參照作者的說明啟動資料庫,第一次啟動需要對資料庫進行配置,首先使用命令 sudo docker run -d -p 8080:8080 -p 1521:1521 sath89/oracle-12c 啟動鏡像,並映射相關連接埠,這裡是8080和1521連接埠
這是我們可以去查看docker的記錄檔:
當我們輸入docker logs -f 鏡像id後,會輸出這個鏡像操作的記錄檔,等待5分鐘左右,Oracle會啟動成功,並且沒有出現報錯。
這是,我們可以進入鏡像的bash對資料庫進行進一步的操作:
如圖所示,我們可以看到,使用docker的exec命令進入鏡像的bash,並且查看了鏡像啟動的連接埠資訊。
查看Oracle的service_names,轉到Oracle的HOME目錄下:
Cd $ORACLE_HOME
使用dba賬戶登入Oracle
到此為止,說明Oracle的docker鏡像安裝啟動完畢,接下來配置Oracle的用戶端。
下載pl/sql用戶端:https://www.allroundautomations.com/bodyplsqldevreg.html
下載Oracle用戶端:http://www.oracle.com/technetwork/topics/winx64soft-089540.html
安裝pl/sql用戶端,這個不需要特別配置,接下來配置Oracle用戶端.
將下載的Oracle用戶端檔案解壓,並放在特定目錄下,這裡以D盤為例。
1、建立ORACLE_HOME環境變數:
2、建立NLS_LANG環境變數,將值設定為:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
3、建立TNS_ADMIN環境變數,將值設定為admin目錄,這個admin目錄需要自己在Oracle用戶端的目錄下自己建立。
然後將D:\oraclient目錄添加到path環境變數下。
接下來,在建立的admin目錄下建立一個tnsnames.ora的檔案,寫入檔案配置:
MyDB= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST= 192.168.83.135)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = xe) ) )
host是伺服器位址,port是Oracle連接埠,這裡需要注意SERVICE_NAME,即是我們在前面查看到的service_name的值。
然後開啟plsql用戶端
填寫Oracle使用者名稱密碼進行登入,登入成功就可以進行資料庫操作了。