Mac下使用IDEA連接Docker中的Oracle

一、安裝Docker

  1. 這里我們使用Docker Toolbox來安裝Docker蛔翅。Docker Toolbox 下載地址

  2. 安裝就不需要我多說了煌张,安裝之后多出3個(gè)應(yīng)用程序。

    • 第一個(gè)是docker命令行界面倾芝。
    • 第二個(gè)是docker gui操作界面。
    • 第三個(gè)是 虛擬機(jī)箭跳。
  3. 這里我們啟動(dòng)Docker Quickstart Terminal該程序會(huì)為我們做以下事項(xiàng)晨另。

    1. 打開命令控制臺(tái)。

    2. 創(chuàng)建VirtualBox ISO虛擬機(jī)和證書ssh key衅码。

    3. 啟動(dòng)VirtualBox并運(yùn)行docker進(jìn)程拯刁。

    4. 創(chuàng)建default的碼頭。

    5. 注意:如果你沒有出現(xiàn)上圖藍(lán)色框中的內(nèi)容并且紅色框中什么都沒有逝段,那么說明初始化失敗了垛玻,這時(shí)關(guān)掉這個(gè)命令控制臺(tái),在重新啟動(dòng)一下Docker Quickstart Terminal就好了奶躯。

  4. 啟動(dòng)完畢之后帚桩,你就可以運(yùn)行docker命令了。下面運(yùn)行hello-world來校驗(yàn)是否安裝成功嘹黔。

    docker run hello-world

    • 出現(xiàn)圖上的情況說明Docker已經(jīng)成功安裝账嚎。
  5. 而如果你出現(xiàn)圖下這種情況的話,說明你是在Mac終端運(yùn)行的該命令儡蔓,解決方法有兩種郭蕉。

    1. 啟動(dòng)Docker Quickstart Terminal在該命令窗口執(zhí)行上述命令。
    2. 獲取default虛擬機(jī)的環(huán)境變量,在連接到default虛擬機(jī)之后執(zhí)行第四步就沒問題了喂江。

    docker-machine env default
    eval $(docker-machine env default)

       ![](http://upload-images.jianshu.io/upload_images/5344304-344a4b7869e15eb0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    

二召锈、配置Oracle加速器

  1. 安裝Oracle之前,我們可以給docker配置一個(gè)加速器获询。PS:配不配置都無所謂涨岁,不過配置后等會(huì)你下載Oracle速度應(yīng)該會(huì)快一點(diǎn)拐袜。

  2. 這里我使用的是阿里云提供的加速器。加速器地址

    • 點(diǎn)擊加速器梢薪,就可以看到你的專屬加速器地址了蹬铺。
  3. 我們可以通過修改daemon配置文件/etc/docker/daemon.json來使用加速器。PS:link是你的專屬加速地址秉撇。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["link"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

三甜攀、安裝Oracle

  1. 執(zhí)行該命令下載Oracle鏡像。

    docker pull alexeiled/docker-oracle-xe-11g

  2. 啟動(dòng)Oracle鏡像畜疾,并命名Oracle赴邻。

    docker run -h "oracle" --name "oracle" -d -p 49160:22 -p 49161:1521 -p 49162:8080 alexeiled/docker-oracle-xe-11g

  3. 查看Oracle是否成功安裝印衔。

    docker ps


    • 49160:是連接ssh對(duì)應(yīng)的端口啡捶。
    • 49161:是連接sqlplus對(duì)應(yīng)的端口。
    • 49162:是連接oem對(duì)應(yīng)的端口奸焙。
  4. 成功安裝后我們?cè)囋囘B接Oracle瞎暑。

    docker exec -it CID /bin/bash

    • 這里的CID是你自己的CONTAINER ID,不知道自己的CID的請(qǐng)查看第三步与帆。

      * 仔細(xì)看了赌,在執(zhí)行紅色框中的命令后,藍(lán)色區(qū)域的變化玄糟。

  5. 進(jìn)入Oracle中的root用戶后勿她,在連接sqlplus

    • Oracle有兩個(gè)用戶syssystem默認(rèn)密碼都是oracle阵翎。

    • 這里我用sys賬戶登錄逢并。

      1. 首先進(jìn)入sqlplus

      sqlplus
      2. 執(zhí)行上述命令后,會(huì)提示你輸入賬號(hào)和密碼郭卫,這里有個(gè)注意的地方砍聊!直接上圖講解。
      >


      3. 上圖第4點(diǎn)另外還有個(gè)注意的地方贰军,就是第一次進(jìn)入sqlplus時(shí)玻蝌,會(huì)提示這個(gè)信息,大意就是密碼將在7天內(nèi)過期词疼。
      ERROR: ORA-28002 : the password will expire within 7 days
      * 出現(xiàn)上述情況的原因在于Oracle11gdefault profile中設(shè)定了180 days俯树。PS:有人肯定會(huì)問這不是180天嗎跟7天有什么關(guān)系,在這里不作詳細(xì)解釋贰盗。
      * 具體解決方案等會(huì)使用Intellij IDEA 連接后解決许饿。PS:主要是好操作。


三童太、使用 Intellij IDEA 連接 Oracle 數(shù)據(jù)庫(kù)

  1. 隨便創(chuàng)建一個(gè)項(xiàng)目米辐。

  2. 然后連接Oracle數(shù)據(jù)庫(kù)胸完。

  3. 配置。


    * 這里注意Port端口是49161翘贮。
    * Host通過docker-machine ip命令獲取赊窥。
    * 最后點(diǎn)擊Test Connection 出現(xiàn)上圖顯示則代表成功連接上Oracle。

  4. 現(xiàn)在來解決關(guān)于密碼7天過期的問題狸页。

    1. 首先檢查該用戶的profile是哪個(gè)锨能,一般都是DEFAULT

      SQL SELECT username,PROFILE FROM dba_users;


      2. 查看該DEFAULT的密碼有效期配置芍耘。

    SQL SELECT * FROM dba_profiles d WHERE d.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';



    3. 將密碼有效期由180天改成無期限址遇。

     > SQL ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;    
    
Paste_Image.png
4. 到這里就已經(jīng)搞定,但是這只是代表了后面用別的用戶登錄不會(huì)出現(xiàn)`ORA-28002`錯(cuò)誤,但之前我們用`sys`用戶登錄該用戶密碼依然會(huì)在7天后過期斋竞,所以只需要我們?cè)谛薷囊淮蚊艽a行了倔约。

    > alter user sys identified by 密碼
5. 眼尖的人在第一步發(fā)現(xiàn)我解鎖了`HR`用戶和`SCOTT`用戶,既然都給你們看了坝初,就順便說下怎么解鎖和創(chuàng)建吧浸剩!
    1. 解鎖`HR`用戶
        * 首先查看用戶名和用戶狀態(tài)
        
            >SQL SELECT username,account_status FROM dba_users ORDER BY username;       


* 然后解鎖HR用戶

         > SQL ALTER USER hr ACCOUNT UNLOCK ;
    2. 創(chuàng)建`SCOTT`用戶
        * 首先創(chuàng)建用戶
        
            > SQL CREATE USER  scott IDENTIFIED  BY tiger;
        * 然后授權(quán)
            
            >SQL GRANT CONNECT ,RESOURCE ,DBA TO scott;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市鳄袍,隨后出現(xiàn)的幾起案子绢要,更是在濱河造成了極大的恐慌,老刑警劉巖拗小,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件重罪,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡哀九,警方通過查閱死者的電腦和手機(jī)剿配,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來勾栗,“玉大人惨篱,你說我怎么就攤上這事∥Х” “怎么了砸讳?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)界牡。 經(jīng)常有香客問我簿寂,道長(zhǎng),這世上最難降的妖魔是什么宿亡? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任常遂,我火速辦了婚禮,結(jié)果婚禮上挽荠,老公的妹妹穿的比我還像新娘克胳。我一直安慰自己平绩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布漠另。 她就那樣靜靜地躺著捏雌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪笆搓。 梳的紋絲不亂的頭發(fā)上性湿,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音满败,去河邊找鬼肤频。 笑死,一個(gè)胖子當(dāng)著我的面吹牛算墨,可吹牛的內(nèi)容都是我干的宵荒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼米同,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼骇扇!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起面粮,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎继低,沒想到半個(gè)月后熬苍,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袁翁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年柴底,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片粱胜。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡柄驻,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出焙压,到底是詐尸還是另有隱情鸿脓,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布涯曲,位于F島的核電站野哭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏幻件。R本人自食惡果不足惜拨黔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望绰沥。 院中可真熱鬧篱蝇,春花似錦贺待、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至瞻润,卻和暖如春喘垂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绍撞。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工正勒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人傻铣。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓章贞,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親非洲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸭限,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容