Mac電腦通過docker安裝oracle暮胧,并導(dǎo)入數(shù)據(jù)

一锐借、Mac中Docker的部署

? ? ?首先,你需要在Mac中部署Docker往衷,也就是安裝Docker钞翔。安裝Docker分了兩種途徑,一種是通過terminal終端并下載相關(guān)依賴包進(jìn)行安裝席舍,另一種是通過下載dmg格式的安裝包直接對(duì)Docker進(jìn)行安裝布轿。我推薦使用第二種方式來安裝Docker,本片博文也是基于此種方式進(jìn)行的講解来颤,希望各位熟知汰扭。因?yàn)榈谝环N安裝Docker的方式會(huì)讓我們自己再配置一些Docker的基本配置,對(duì)于不懂的小白來說福铅,不太現(xiàn)實(shí)萝毛。

? ? Docker桌面版本提供了用戶GUI界面的支持,使用戶對(duì)Docker的相關(guān)配置直接通過界面即可滑黔,不過是英文的笆包,不用再寫其他和配置有關(guān)的命令,部分截圖如下:

? ? ? 安裝成功之后會(huì)在Mac中顯示出Docker的Logo略荡。

? ? ? 同時(shí)會(huì)在Mac頂部菜單欄中出現(xiàn)Docker的Logo庵佣,點(diǎn)擊它,如下圖:


? ? ?在成功安裝完Docker桌面版之后汛兜,Docker會(huì)默認(rèn)啟動(dòng)并默認(rèn)開機(jī)啟動(dòng)巴粪,當(dāng)你在菜單欄中發(fā)現(xiàn)Docker Desktop is running時(shí),說明你的Docker桌面版已經(jīng)安裝成功了,我們進(jìn)行接下來的操作肛根。

二衡创、通過Docker來安裝Oracle11g

? ? ? (1)Docker是一個(gè)容器,在容器內(nèi)部存在很多鏡像文件晶通,通過具體的鏡像文件可以運(yùn)行具體的容器璃氢。要想在Docker中安裝Oracle鏡像,我們首先應(yīng)該在Docker的遠(yuǎn)程倉庫中進(jìn)行搜索狮辽,因?yàn)镈ocker沒有自帶Oracle相關(guān)鏡像一也,命令如下(根據(jù)你Mac的實(shí)際情況決定是否要加sudo):

? ? ? ? sudo docker search docker-oracle-xe-11g

? ? ? ? 為什么選擇該Oracle鏡像,因?yàn)樵撶R像是我在安裝了兩三個(gè)Oracle鏡像之后發(fā)現(xiàn)的占用內(nèi)存最小喉脖,功能最全椰苟,安裝簡便的鏡像,前前后后我換了兩三個(gè)鏡像树叽,碰到過5.7GB的舆蝴,碰到過4.2GB的,只有這個(gè)是2.7GB的题诵,而且功能還全洁仗。搜索結(jié)果如下:

? ? ? 我們選擇第一個(gè)STAR最多的一個(gè)鏡像進(jìn)行安裝,拉取鏡像命令如下:

? ? ? ? ? sudo docker pull deepdiver/docker-oracle-xe-11g



? ? ? ?因?yàn)槲乙呀?jīng)安裝過了,所以這里就不再展示了,只需要等待鏡像下載完畢就可深碱。待鏡像下載完畢之后,我們需要將該鏡像轉(zhuǎn)成容器并使用該容器她奥,命令如下:

? ? ? ? ? sudo docker run -d -p 1521:1521 --name oracle11g deepdiver/docker-oracle-xe-11g


? ? ? 值得注意的就是將容器內(nèi)部的1521端口映射到宿主機(jī)中的1521端口,這樣一來就能在宿主機(jī)中通過Navicat等數(shù)據(jù)庫可視化管理工具進(jìn)行連接了怎棱。在這步完成之后哩俭,我們需要進(jìn)到容器內(nèi)部對(duì)已經(jīng)安裝的Oracle進(jìn)行簡單配置。

? ? (2)在Oracle容器中簡單配置你的Oracle數(shù)據(jù)庫并通過Navicat進(jìn)行連接

? ? ? ? ?進(jìn)入容器內(nèi)部的命令如下:

? ? ? ? ?sudo docker exec -it? 你的容器Id(可通過docker ps命令獲得)? /bin/bash

? ? ? ? ?通過sqlplus進(jìn)入Oracle:

? ? ? ? ?sqlplus system/oracle?

? ? ? ? 依次進(jìn)行如下操作:

? ? ? ? ? ? ? 查看數(shù)據(jù)庫用戶名和密碼:

? ? ? ? ? ? ? ? ? select username,password from dba_users;

? ? ? ? ? ? ? 當(dāng)然拳恋,你可以通過已經(jīng)存在的用戶名和密碼來登錄數(shù)據(jù)庫凡资,推薦使用新創(chuàng)建的用戶來進(jìn)行數(shù)據(jù)庫的登錄,sql如下:

? ? ? ? ? ? ? ? ?create user cqj(用戶名) identified by password(密碼)

? ? ? ? ? ? ? ?創(chuàng)建完之后诅岩,可以通過如下sql進(jìn)行驗(yàn)證:

? ? ? ? ? ? ? ? ?select * from all_users;? ? ?

? ? ? ? ? ? ? ?在創(chuàng)建完新用戶之后讳苦,需要對(duì)該用戶進(jìn)行授權(quán),該用戶具有什么權(quán)限都是通過自己指定的吩谦,這也是為什么推薦使用自定義用戶登錄數(shù)據(jù)庫的原因鸳谜,sql如下:

? ? ? ? ? ? ? ? grant connect,resource to CQJ(這里需要將用戶名大寫,否則授權(quán)不成功)

? ? ? ? ? ? ? ? connect表示具有連接數(shù)據(jù)庫的權(quán)限式廷;resource表示具有操作數(shù)據(jù)庫的權(quán)限

? ? ? ? ? ? ? ?至此咐扭,所有需要配置的數(shù)據(jù)庫配置都已經(jīng)配置完畢,可以通過Navicat進(jìn)行連接了,如下圖所示:


? ? ? 幾個(gè)需要注意的地方:

? ? ? ? ? ? ? 主機(jī)就是localhost或127.0.0.1

? ? ? ? ? ? ? 端口為docker內(nèi)部Oracle容器映射到宿主機(jī)的端口蝗肪,上述命令有將袜爪,我的是映射到1521端口

? ? ? ? ? ? ? 選擇服務(wù)名進(jìn)行連接,并且該版本Oracle數(shù)據(jù)庫的服務(wù)名為XE(唯一)

? ? ? ? ? ? ? 角色選擇默認(rèn)就行

? ? ? ? ? ? ? 用戶名和密碼就是我們?cè)谏鲜鰟?chuàng)建的用戶名和密碼

? ? ? 在配置完上述內(nèi)容之后薛闪,點(diǎn)擊連接測試辛馆,即可連接成功:


至此,所有的操作都已經(jīng)完成了豁延,趕快在你的Mac上使用Oracle吧j几荨!

三诱咏、用sys用戶登錄

1.用sys超級(jí)管理員用戶登錄

? ? ?sqlplus / as Sysdba;

2.創(chuàng)建oracle數(shù)據(jù)庫邏輯目錄?

? ? ?create directory datadump as '/datadump';

3.創(chuàng)建cqj用戶并授權(quán)(上面已經(jīng)創(chuàng)建過苔可,此步驟在這里省略)?

? ? ?create user cqj identified by cqj; ? grant dba to cqj;

4.給cqj用戶對(duì)datadump文件的讀寫權(quán)限?

? ? ?grant write,read on directory datapump to cqj;

四、在docker容器中創(chuàng)建目錄并將dmp文件備份到容器中

1.在容器中創(chuàng)建目錄datadump

? ? mkdir datadump

2.將dmp文件備份到datadump目錄下 ??

? ? sudo docker cp /Users/XXX/Desktop/cqj_20191231.dmp ?993746984ba6(容器的id袋狞,可通過docker ps查詢):/datadump/cqj.dmp

3.導(dǎo)入成功后焚辅,查看一下文件的詳細(xì)信息?

? ?ls -l

如果該文件不是oracle dba操作的權(quán)限,可進(jìn)行修改

在root賬戶登錄下: chown oracle:dba cqj.dmp

4.導(dǎo)入數(shù)據(jù)泵命令

impdp cqj/cqj directory=datadump dumpfile=cqj.dmp transform=segment_attributes:n table_exists_action=replace logfile=cqj.log

5.如果導(dǎo)入的表太大苟鸯,擔(dān)心表空間不夠的時(shí)候同蜻,可以適當(dāng)?shù)脑黾颖砜臻g

先查詢一下該用戶使用的哪個(gè)表空間

-- 查看當(dāng)前用戶的缺省表空間

select * from user_users;

因?yàn)槲沂褂玫谋砜臻g是SYSTEM,所以倔毙,增大表空間的命令如下:

ALTER TABLESPACE?SYSTEM(表空間) ?ADD DATAFILE ?'/u01/app/oracle/oradata/XE

/system2.dbf'(文件存放位置) ?SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE 30720M;


查看數(shù)據(jù)庫表空間使用情況:

SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,SPACE-NVL(FREE_SPACE,0) "USED_SPACE(M)",

ROUND((1-NVL(FREE_SPACE,0)/SPACE)*100,2) "USED_RATE(%)",FREE_SPACE "FREE_SPACE(M)"

FROM

(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS

FROM DBA_DATA_FILES

GROUP BY TABLESPACE_NAME) D,

(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) FREE_SPACE

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME order by TABLESPACE_NAME) F

WHERE? D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)

UNION ALL? --if have tempfile

SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",BLOCKS SUM_BLOCKS,

USED_SPACE "USED_SPACE(M)",ROUND(NVL(USED_SPACE,0)/SPACE*100,2) "USED_RATE(%)",

NVL(FREE_SPACE,0) "FREE_SPACE(M)"

FROM

(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES)/(1024*1024),2) SPACE,SUM(BLOCKS) BLOCKS

FROM DBA_TEMP_FILES

GROUP BY TABLESPACE_NAME) D,

(SELECT TABLESPACE_NAME,ROUND(SUM(BYTES_USED)/(1024*1024),2) USED_SPACE,

ROUND(SUM(BYTES_FREE)/(1024*1024),2) FREE_SPACE

FROM V$TEMP_SPACE_HEADER

GROUP BY TABLESPACE_NAME) F

WHERE? D.TABLESPACE_NAME = F.TABLESPACE_NAME(+);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
禁止轉(zhuǎn)載埃仪,如需轉(zhuǎn)載請(qǐng)通過簡信或評(píng)論聯(lián)系作者乙濒。
  • 序言:七十年代末陕赃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子颁股,更是在濱河造成了極大的恐慌么库,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件甘有,死亡現(xiàn)場離奇詭異诉儒,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)亏掀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門忱反,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人滤愕,你說我怎么就攤上這事温算。” “怎么了间影?”我有些...
    開封第一講書人閱讀 162,577評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵注竿,是天一觀的道長。 經(jīng)常有香客問我,道長巩割,這世上最難降的妖魔是什么裙顽? 我笑而不...
    開封第一講書人閱讀 58,176評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮宣谈,結(jié)果婚禮上愈犹,老公的妹妹穿的比我還像新娘。我一直安慰自己闻丑,他們只是感情好甘萧,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著梆掸,像睡著了一般扬卷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上酸钦,一...
    開封第一講書人閱讀 51,155評(píng)論 1 299
  • 那天怪得,我揣著相機(jī)與錄音,去河邊找鬼卑硫。 笑死徒恋,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的欢伏。 我是一名探鬼主播入挣,決...
    沈念sama閱讀 40,041評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼硝拧!你這毒婦竟也來了径筏?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤障陶,失蹤者是張志新(化名)和其女友劉穎滋恬,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抱究,經(jīng)...
    沈念sama閱讀 45,319評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡恢氯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鼓寺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片勋拟。...
    茶點(diǎn)故事閱讀 39,703評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖妈候,靈堂內(nèi)的尸體忽然破棺而出敢靡,到底是詐尸還是另有隱情,我是刑警寧澤州丹,帶...
    沈念sama閱讀 35,417評(píng)論 5 343
  • 正文 年R本政府宣布醋安,位于F島的核電站杂彭,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏吓揪。R本人自食惡果不足惜亲怠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望柠辞。 院中可真熱鬧团秽,春花似錦、人聲如沸叭首。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽焙格。三九已至图毕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間眷唉,已是汗流浹背予颤。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冬阳,地道東北人蛤虐。 一個(gè)月前我還...
    沈念sama閱讀 47,711評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像肝陪,于是被迫代替她去往敵國和親驳庭。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評(píng)論 2 353

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