oracle導(dǎo)入線上數(shù)據(jù)的詳細(xì)指南
多租戶架構(gòu)允許oracle數(shù)據(jù)庫成為一個(gè)多租戶的容器數(shù)據(jù)庫,也就是CDB,container database,與之相對應(yīng)的,則是插入到這個(gè)容器里面的可插拔式數(shù)據(jù)庫,pluggable database
一個(gè)CDB可以包含0,1或者多個(gè)用戶創(chuàng)建的PDB。
一個(gè)PDB則是一個(gè)可插拔式的集合,它包含了用戶,用戶的對象,以及非用戶的對象,它對外看起來就相當(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)輸入以下代碼,啟動PDB數(shù)據(jù)庫:
alter pluggable database AEOLUSOA open;
(2.6)防止每次docker重新啟動,需要多次配置
alter pluggable database AEOLUSOA save state;
(2.7)刪除不要的pdb(可選)
drop pluggable database AEOLUSOA;
(2.8)啟動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ù)制到啟動的容器中,注意e6a787fccdf2,要使用docker ps命令查看當(dāng)前docker啟動的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ù)的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Oracle?VM?VirtualBox?Ubuntu設(shè)置共享文件夾方式
這篇文章主要介紹了Oracle?VM?VirtualBox?Ubuntu設(shè)置共享文件夾方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Oracle date 和 timestamp 區(qū)別詳解
這篇文章主要介紹了Oracle date 和 timestamp 區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下2017-03-03oracle正則表達(dá)式多項(xiàng)匹配時(shí)相似項(xiàng)有優(yōu)先級詳解
這篇文章主要給大家介紹了關(guān)于oracle正則表達(dá)式多項(xiàng)匹配時(shí)相似項(xiàng)有優(yōu)先級的相關(guān)資料,Oracle中使用正則表達(dá)式需先使用REGEXP_LIKE函數(shù)來匹配字符串,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06Oracle中使用DBMS_XPLAN處理執(zhí)行計(jì)劃詳解
這篇文章主要介紹了Oracle中使用DBMS_XPLAN處理執(zhí)行計(jì)劃詳解,文中包含大量實(shí)例,以及set autotrace命令對應(yīng)實(shí)現(xiàn)等內(nèi)容,需要的朋友可以參考下2014-07-07Oracle數(shù)據(jù)庫執(zhí)行計(jì)劃的查看與分析技巧
在 Oracle 數(shù)據(jù)庫中,執(zhí)行計(jì)劃能夠幫助我們深入了解 SQL 語句在數(shù)據(jù)庫內(nèi)部的執(zhí)行細(xì)節(jié),進(jìn)而優(yōu)化查詢性能、提升系統(tǒng)效率,執(zhí)行計(jì)劃是 Oracle 數(shù)據(jù)庫優(yōu)化器為 SQL 語句生成的一種執(zhí)行藍(lán)圖,本文給大家介紹了Oracle數(shù)據(jù)庫執(zhí)行計(jì)劃的查看與分析技巧,需要的朋友可以參考下2024-12-12Oracle數(shù)據(jù)庫自動備份腳本分享(超實(shí)用)
這篇文章主要給大家分享介紹了關(guān)于Oracle數(shù)據(jù)庫自動備份腳本的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12有關(guān)Oracle數(shù)據(jù)庫的備份情況
有關(guān)Oracle數(shù)據(jù)庫的備份情況...2007-03-03Oracle去重4種實(shí)現(xiàn)方式小結(jié)
這篇文章主要給大家介紹了關(guān)于Oracle去重4種實(shí)現(xiàn)方式的相關(guān)資料,在Oracle數(shù)據(jù)庫中有時(shí)候我們需要查詢多個(gè)列并去除重復(fù)值,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09