天天看點

建立研發庫建立研發庫

建立研發庫

一、伺服器空間不足時需要清理無用表空間,需要先備份:

查詢占用磁盤空間:

SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024*1024)), 0) ts_size

FROM dba_tablespaces t, dba_data_files d

WHERE t.tablespace_name = d.tablespace_name

GROUP BY t.tablespace_name;

注:需要清理的表空間一定要與相關研發負責人确認是否可以清理!

1、先導出檔案;

expdp zzbank/[email protected] TABLESPACES=ZZBANK directory=DUMPDIR dumpfile =zzbank_20210420.dmp logfile=expdp_test1.log;

2、壓縮檔案;

tar -czvf 70.168_zzbank_20210420_expdp.dmp.tar.gz zzbank_20210420.dmp      

3、存放資料庫備份:

位址:192.168.70.202 root/joyin!2345 /home/backup

指令:scp   70.168_zzbank_20210420_expdp.dmp.tar.gz [email protected]:/home/backup

4、删除原有表空間及資料檔案,釋放磁盤空間;

DROP TABLESPACE  ZZBANK  INCLUDING CONTENTS AND DATAFILES;

二、複制測試庫建立研發庫

1、登入對應測試伺服器;

伺服器資訊:伺服器詳細資訊

2、查詢測試伺服器所需的導出檔案路徑:

(主要是用來存放expdp指令導出的資料檔案,需要用directory_name替換expdp指令裡的directory參數)

SELECT privilege, directory_name, DIRECTORY_PATH FROM user_tab_privs t, all_directories d WHERE t.table_name(+) = d.directory_name ORDER BY 2, 1;

3、登入測試資料庫所在伺服器;

4、切換oracle 使用者;

su oracle

4、填寫下面資料泵導出指令并執行;

--按表空間導出

expdp qdabstest/[email protected] TABLESPACES=ABSTEST directory=ABSBANKNEW dumpfile =qdabstest_20210420.dmp logfile=expdp_test1.log;

注:如果報expdp指令不存在,執行

source ~/.bash_profile

5、expdp指令執行完畢,找到檔案存放位址(第2步裡的路徑);

6、從測試伺服器轉移檔案到目标研發伺服器;

scp /home/oracle/movedata/dmp/qdabstest_20210420.dmp [email protected]:/home/oracle/app/oracle/oradata/dump

注:過程中需要輸入研發庫使用者密碼

7、在PL/SQL、Navicat等資料庫聯接工具中,連接配接目标伺服器192.168.70.168建立使用者及表空間:

create tablespace qdabs_dev logging datafile '/home/oracle/app/oracle/oradata/orcl/qdabs_dev.DBF' size 200m autoextend on next 50m maxsize unlimited;

drop user qdabs_dev cascade;

create user qdabs_dev identified by qdabs_dev ;

alter user qdabs_dev identified by qdabs_dev default tablespace qdabs_dev ;

grant dba to qdabs_dev ;

--空間不夠,增加資料檔案

ALTER TABLESPACE qdabs_dev ADD DATAFILE

'/home/oracle/app/oracle/oradata/orcl/qdabs_dev02.DBF' SIZE 50M

AUTOEXTEND ON NEXT 5M MAXSIZE unlimited;

或登入目标伺服器建立使用者及空間

教程:https://blog.csdn.net/guofanggang/article/details/106052440

8、登入目标伺服器192.168.70.168

9、root使用者下打開檔案存放位址(scp指令傳送的路徑),并修改檔案所屬使用者(防止執行impdp指令時,oracle使用者對檔案無權限)

chown oracle:oinstall /home/oracle/app/oracle/oradata/dump/qdabstest_20210420.dmp

10、切換oracle 使用者;

su oracle

11、在目标伺服器執行插入;

impdp qdabs_dev/qdabs_dev directory=DUMPDIR dumpfile=qdabstest_20210420.dmp remap_schema=qdabstest:qdabs_dev remap_tablespace=ABSTEST:qdabs_dev;

注:如果報impdp 指令不存在,執行

source ~/.bash_profile

繼續閱讀