oracle導(dǎo)入線上數(shù)據(jù)的詳細(xì)指南

多租戶架構(gòu)允許oracle數(shù)據(jù)庫成為一個(gè)多租戶的容器數(shù)據(jù)庫,也就是CDB,container database,與之相對(duì)應(yīng)的,則是插入到這個(gè)容器里面的可插拔式數(shù)據(jù)庫,pluggable database
一個(gè)CDB可以包含0,1或者多個(gè)用戶創(chuàng)建的PDB。
一個(gè)PDB則是一個(gè)可插拔式的集合,它包含了用戶,用戶的對(duì)象,以及非用戶的對(duì)象,它對(duì)外看起來就相當(dāng)于一個(gè)non-CDB,也就是普通數(shù)據(jù)庫。在12C之前的所有數(shù)據(jù)庫都是non-CDB。
CDB里面的容器
一個(gè)容器既是一個(gè)PDB,也是一個(gè)root。
1、準(zhǔn)備好數(shù)據(jù)庫, 使用docker方式安裝oracle數(shù)據(jù)庫
docker run -d --name oracle --privileged -v /d/docker_env/oracle/db_data:/opt/oracle/oradata -p 5050:5050 -p 5500:5500 -p 1521:1521 scalified/oracle-database:12.1.0.2-ee

注意第一次拉取鏡像有點(diǎn)慢。
2、配置數(shù)據(jù)庫
創(chuàng)建本地?cái)?shù)據(jù)庫用戶名和密碼,以及表空間,進(jìn)入容器中
(2.1) docker exec -it bc261a5326c6 /bin/sh
(2.2) 修改tnsnames.ora文件, echo $ORACLE_HOME,找到文件位置
tnsnames.ora, $ORACLE_HOME\network\admin 下,


打開tnsnames.ora 查看默認(rèn)數(shù)據(jù)庫,配置環(huán)境變量,不然下面2.3代碼無法生效

export ORACLE_SID=ORCLCDB
(2.3)輸入以下代碼
sqlplus sys/change_on_install as sysdba
(2.4)創(chuàng)建新的pdb AEOLUSOA, 注意路徑是根據(jù)命令( select name from v$datafile;) 得出來,并非隨意捏造。
CREATE PLUGGABLE DATABASE AEOLUSOA ADMIN USER DB_OA_FZ_FJJSZX IDENTIFIED BY ****** STORAGE (MAXSIZE 100G) DEFAULT TABLESPACE TBS_DB_OA_FZ_FJJSZX DATAFILE '/opt/oracle/oradata/ORCLCDB/AEOLUSOA/AEOLUSOA01.dbf' SIZE 150M AUTOEXTEND ON PATH_PREFIX = '/opt/oracle/oradata/ORCLCDB/AEOLUSOA/' FILE_NAME_CONVERT = ('/opt/oracle/oradata/ORCLCDB/pdbseed/', '/opt/oracle/oradata/ORCLCDB/AEOLUSOA/');
(2.5)輸入以下代碼,啟動(dòng)PDB數(shù)據(jù)庫:
alter pluggable database AEOLUSOA open;
(2.6)防止每次docker重新啟動(dòng),需要多次配置
alter pluggable database AEOLUSOA save state;
(2.7)刪除不要的pdb(可選)
drop pluggable database AEOLUSOA;
(2.8)啟動(dòng)pdb,以下步驟一定要在自己pdb操作
alter session set container=AEOLUSOA ;
(2.9)授權(quán)用戶
grant imp_full_database to DB_OA_FZ_FJJSZX; grant SYSDBA to DB_OA_FZ_FJJSZX; grant all PRIVILEGES TO DB_OA_FZ_FJJSZX; grant imp_full_database to DB_OA_FZ_FJJSZX;
(2.10)創(chuàng)建表空間(可選),一定要跟線上一致不然,這步不做的話,默認(rèn)是system的表空間,導(dǎo)入數(shù)據(jù)需要用vi,修改dmp文件
create tablespace TBS_DB_OA_FZ_FJJSZX_AUTOFORM logging datafile '/opt/oracle/oradata/ORCLCDB/AEOLUSOA/TBS_DB_OA_FZ_FJJSZX_AUTOFORM .dbf' size 10240m autoextend on next 100m MAXSIZE unlimited extent management local; alter user DB_OA_FZ_FJJSZX_AUTOFORM quota unlimited on TBS_DB_OA_FZ_FJJSZX_AUTOFORM;
or
vi *.dmp :1,$s/TBS_DB_OA_FZ_FJJSZX/SYSTEM/g
(2.11)配置tnsname.ora文件,將下面字復(fù)制到tnsname.ora文件中
AEOLUSOA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = AEOLUSOA)
)
)
(2.12)數(shù)據(jù)庫遷移導(dǎo)入
線上備份
(1)、執(zhí)行服務(wù)器的備份腳本,如
set mySid=JSZXOA set myPath=D:/data/%date% set user1=DB_OA_FZ_FJJSZX set pass1=******* set user2=DB_OA_FZ_FJJSZX_AUTOFORM set pass2=******** md "%myPath%" exp '%user1%/%pass1%@%mySid%' file='%myPath%/%user1%.dmp' log='%myPath%/%user1%.log' exp '%user2%/%pass2%@%mySid%' file='%myPath%/%user2%.dmp' log='%myPath%/%user2%.log'
(2)、數(shù)據(jù)在D:\data\{導(dǎo)出日期}\中。
(3)、復(fù)制到本地
(4)、dmp文件復(fù)制到啟動(dòng)的容器中,注意e6a787fccdf2,要使用docker ps命令查看當(dāng)前docker啟動(dòng)的id
docker cp d:\data\2024-10-17\DB_OA_FZ_FJJSZX.dmp e6a787fccdf2:/opt/oracle
(5)數(shù)據(jù)導(dǎo)入
imp DB_OA_FZ_FJJSZX/DB_OA_FZ_FJJSZX@AEOLUSOA fromuser=DB_OA_FZ_FJJSZX touser=DB_OA_FZ_FJJSZX file=/opt/oracle/DB_OA_FZ_FJJSZX.dmp log=/opt/oracle/imp.log ignore=y
以上就是oracle導(dǎo)入線上數(shù)據(jù)的詳細(xì)指南的詳細(xì)內(nèi)容,更多關(guān)于oracle導(dǎo)入線上數(shù)據(jù)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Hibernate Oracle sequence的使用技巧
本文介紹了關(guān)于Hibernate中如何使用Oracle sequence的問題以及應(yīng)注意的事項(xiàng)。2009-06-06
常見數(shù)據(jù)庫系統(tǒng)比較 Oracle數(shù)據(jù)庫
常見數(shù)據(jù)庫系統(tǒng)比較 Oracle數(shù)據(jù)庫...2007-03-03
Oracle數(shù)據(jù)庫如何實(shí)現(xiàn)主鍵字段自增
這篇文章主要介紹了Oracle數(shù)據(jù)庫如何實(shí)現(xiàn)主鍵字段自增方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2026-03-03
Oracle監(jiān)聽口令及監(jiān)聽器安全詳解
這篇文章主要介紹了Oracle監(jiān)聽口令及監(jiān)聽器安全的解決方法,需要的朋友可以參考下2014-07-07
Oracle Max函數(shù)使用中出現(xiàn)的問題
在Oracle Max函數(shù)使用中,會(huì)出現(xiàn)一些問題,本文將介紹解決方法,需要的朋友可以了解下2012-11-11
Oracle通過sqlplus連接數(shù)據(jù)庫的方式
今天小編就為大家分享一篇關(guān)于Oracle通過sqlplus連接數(shù)據(jù)庫的方式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12
OraclePL/SQL單行函數(shù)和組函數(shù)詳解
OraclePL/SQL單行函數(shù)和組函數(shù)詳解...2007-03-03

