docker部署oracle

oracle部署

創建oracle用戶

[root@stpass-15 ~]# useradd oracle
[root@stpass-15 oracle]# cd oracle [root@stpass-15 oracle]# mkdir dpdump

創建容器:
[root@stpass-15 oracle]# chown -R 1000:1000 dpdump
[root@stpass-15 oracle]# vi run

粘貼以下內容
#!/bin/bash
docker run --name=oracle -d --shm-size=2g \
--hostname=oracle_db \
-p 1521:1521 \
-p 8082:8080 \
-v /data/hoslink/oracle-docker/dpdump:/u01/app/oracle/admin/XE/dpdump \
-v /data/hoslink/oracle-docker/init:/init \
-v /data/hoslink/oracle-docker/network:/u01/app/oracle/product/11.2.0/xe/network \
 alexeiled/docker-oracle-xe-11g
[root@stpass-15 oracle]# chmod +x  run
[root@stpass-15 oracle]#./run

創建表空間和用戶

[root@stpass-15 oracle]# docker exec -it oracle bash
root@oracle_db:/# cd init
root@oracle_db:/init# sqlplus sys/oracle as sysdba;
SQL> @000-install.pdc

填入相應的內容回車,分別是:

  • xe
  • /u01/app/oracle/admin/XE/dpdump/
  • oracle

即可完成表空間和用戶的創建以及授權。

導入數據庫

root@oracle_db:/init# sqlplus sys/oracle as sysdba;
SQL> GRANT READ,WRITE ON DIRECTORY DATA_PUMP_DIR to system;
SQL> exit
root@oracle_db:/init# impdp system/oracle@xe directory=DATA_PUMP_DIR dumpfile=synergy20180306.dmp table_exists_action=replace schemas=synergy,ids logfile=synergy.log

解決WM_CONCAT函數沒有找到的問題

root@oracle_db:/init# sqlplus sys/oracle as sysdba;
SQL> @owmaggrb.plb

如果執行結果報錯,說找不到WMSYS用戶,那麼執行 @owmctab.plb, 再執行@owmaggrs.plb和@owmaggrb.plb。

修改密碼有效時間爲永久和system用戶密碼

root@oracle_db:/init# sqlplus sys/oracle as sysdba;
SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
SQL> alter profile default limit password_life_time unlimited;
SQL> commit;
SQL> select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME';
SQL> alter user system identified by springiscoming;
SQL> commit;
SQL> exit
root@oracle_db:/init# exit

數據庫導出(數據庫備份使用)

root@oracle_db:/init# expdp system/oracle@xe directory=DATA_PUMP_DIR content=METADATA_ONLY dumpfile=synergy20180306.dmp schemas=synergy,ids logfile=synergy.log
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章