docker 安装 oracle12,Centos7下利用docker安装oracle12c
實(shí)戰(zhàn)在windows局域網(wǎng)下可以進(jìn)行連接,并執(zhí)行sql語(yǔ)句:
執(zhí)行結(jié)果
具體的步驟如下:
1、在centos7下安裝docker
[root@localhost /]# yum install docker
2、啟動(dòng)docker
[root@localhost /]# systemctl start docker.service
3、查找docker鏡像
可以在dockerhub中查找oracle12c的鏡像,一般訪問(wèn)dockerhub出現(xiàn)無(wú)法連接的時(shí)候可以多刷新瀏覽器試一下。
也可以使用docker search oracle的命令搜索鏡像
docker hub鏡像
docker search命令
4、下載docker鏡像
這次安裝使用的是sath89/oracle-12c鏡像,獲取命令如下:
[root@localhost data_temp]# docker pull docker.io/sath89/oracle-12c
等待下載完成之后可以使用docker images查看鏡像是否安裝成功。
5、運(yùn)行docker鏡像
1)鏡像下載完成后,創(chuàng)建容器:
mkdir /usr/local/data_temp
chmod 777 /usr/local/data_temp
創(chuàng)建一個(gè)文件目錄,用于掛載到容器內(nèi),做oracle數(shù)據(jù)備份時(shí)數(shù)據(jù)存放的位置,保證備份數(shù)據(jù)不丟失。
docker run -d --name oracle12c -p 1521:1521 -v /usr/local/data_temp:/home/oracle/data_temp sath89/oracle-12c
其中,oracle12c是名稱,-p是端口映射,-v是將宿主機(jī)的/usr/local/data_temp 目錄映射到容器內(nèi)的 /home/oracle/data_temp內(nèi)。
2)進(jìn)入容器,
docker ps? ? ? ? ? ? ## 查看容器的id號(hào),復(fù)制一下
docker exec -it xxxxxxxx /bin/bash? ? ? ? ? ? ? ## xxxxxxx就是上一部查看的id號(hào)
3) 查看oracle狀態(tài),修改system用戶密碼。
source ~/.bash_profile? ? ? ? ? ? ? ? ? ? ? ? ? ## 加載一下用戶環(huán)境變量,進(jìn)入容器后,自動(dòng)是oracle用戶
sqlplus /nolog? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ## 使用sqlplus 工具,進(jìn)去命令行
SQL> connect /as system? ? ? ? ? ? ? ? ? ? ? ? ?## 使用system 連接oracle,密碼oracle
SQL> select status from v$instance;? ? ? ? ? ? ## 查看oracle現(xiàn)在的狀態(tài) ,狀態(tài)為 OPEN 則正常,表示已開(kāi)啟狀態(tài)。
SQL> alter user system identified by oracle;? ? ## 修改用戶 system 的密碼為 oracle ,可以自定義
4). 然后就是創(chuàng)建表空間,創(chuàng)建用戶,并授權(quán)。
創(chuàng)建表空間核用戶,這個(gè)可以使用工具連接到oracle數(shù)據(jù)庫(kù)上進(jìn)行創(chuàng)建,也可以手動(dòng)命令行進(jìn)行創(chuàng)建。注意依然是在sysdba權(quán)限下操作,命令如下:
SQL> select name from v$tempfile;? ? ## 查詢臨時(shí)表空間的路徑
查詢臨時(shí)表空間
## 下面這句,創(chuàng)建表空間,名:test ,數(shù)據(jù)文件路徑復(fù)制臨時(shí)表空間數(shù)據(jù)文件路徑然后改一下文件名就行了,大小:1G, 自動(dòng)增長(zhǎng):50M 。 參數(shù)根據(jù)自己的需求自行修改
SQL> create tablespace test datafile '/u01/app/oracle/oradata/xe/test.dbf' size 1G reuse autoextend on next 50M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
SQL> select tablespace_name from dba_tablespaces? ? ## 查看所有表空間,看看是否有剛才創(chuàng)建的
SQL> create user test identified by testpasswd default tablespace TEST temporary tablespace TEMP;? ? ## 創(chuàng)建用戶,test01,密碼:testpass,設(shè)置默認(rèn)表空間為剛才創(chuàng)建的 test, 臨時(shí)表空間設(shè)為默認(rèn)的 TEMP。
SQL> select username from dba_users? ? ## 查看用戶名,可以看到是否有剛才我們創(chuàng)建的用戶名
SQL> grant connect,dba,exp_full_database,imp_full_database to test01 with admin option;? ## 授權(quán)用戶 test01,擁有連接,管理員,導(dǎo)入,導(dǎo)出權(quán)限,并可以傳遞權(quán)限。(根據(jù)需求自己定義權(quán)限)
8. 導(dǎo)入數(shù)據(jù),導(dǎo)出數(shù)據(jù)。
還記得之前自定義的directory文件目錄嗎?第6步中設(shè)置的。 只需要將需要導(dǎo)入的數(shù)據(jù)文件,放入這個(gè)目錄。就可以使用 impdp命令導(dǎo)入數(shù)據(jù)了。用expdp命令導(dǎo)出的數(shù)據(jù),也可以設(shè)置放在此文件目錄中,由于這個(gè)目錄是最初從宿主機(jī)上掛載來(lái)的,所以,這些導(dǎo)入導(dǎo)出的數(shù)據(jù),將不會(huì)隨容器關(guān)閉而丟失,可以持久化保存數(shù)據(jù)。
導(dǎo)入,導(dǎo)出命令如下:? ?注意,這里退出sqlplus,回到oracle用戶下,操作:
## 導(dǎo)入數(shù)據(jù),登陸用戶為剛才創(chuàng)建的用戶,實(shí)例為鏡像的實(shí)例xe,數(shù)據(jù)文件為第6步創(chuàng)建的DATA_TEMP,導(dǎo)入文件為BPM.EXPDP,用戶為test01到test01,這些需要自行修改,導(dǎo)入的用戶和當(dāng)時(shí)導(dǎo)出的用戶最好保持一直。
impdp test/test@xe?table_exists_action=replace? dumpfile=BPM.EXPDP logfile=BPM_20190302.log REMAP_SCHEMA=test:test schemas=test
## 導(dǎo)出數(shù)據(jù),導(dǎo)出文件名為:BPM.EXPDP, 路徑為: DATA_TEMP, 用戶為test01
expdp test/test@xe dumpfile=BPM.EXPDP? schemas=test reuse_dumpfiles=y? version=12.1.0.2.0
參考:https://blog.csdn.net/weixin_41004350/article/details/79168739
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的docker 安装 oracle12,Centos7下利用docker安装oracle12c的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: win32键盘输入python_pyth
- 下一篇: Centos7.x 安装 CDH 6.x