日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle 还原dmp时_报错的值太大,基于oracle数据库的CLOUD备份恢复测试

發(fā)布時間:2023/12/9 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 还原dmp时_报错的值太大,基于oracle数据库的CLOUD备份恢复测试 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

CLOUD oracle數(shù)據(jù)庫備份恢復(fù)測試

強(qiáng)烈建議使用expdp/impdp,因為:

在expdp的時候Oracle不會再依賴和參考NLS_LANG的設(shè)置,而是完全按照數(shù)據(jù)庫本身的字符集導(dǎo)出數(shù)據(jù),impdp的時候,Oracle會自動判斷如果dmp文件中的字符集和目標(biāo)數(shù)據(jù)庫的字符集不符時會自動對導(dǎo)入數(shù)據(jù)的字符集做轉(zhuǎn)換。這樣可以消除以前由于字符集的問題在導(dǎo)入過程中出現(xiàn)亂碼的問題。

1、創(chuàng)建備份目錄并授權(quán):mkdir?/u01/app/testbackup

chmod?777?/u01/app/testbackup

在SQL中指定備份目錄create?or?replace?directory?backup?as?'/u01/app/testbackup'

查看是否生效:SELECT?*?FROM??ALL_DIRECTORIES;

SELECT?*?FROM??dba_DIRECTORIES;

結(jié)果如下:

查看用戶及對應(yīng)的表空間:select???username,default_tablespace,temporary_tablespace???from???dba_users;

2、備份數(shù)據(jù)庫

以管理中心為例:expdp?directory=backup?dumpfile=dcbackup02033.dmp?logfile=dclogbackup02033.log?schemas=clouddcadmin

Export: Release 11.2.0.3.0 - Production on Wed Feb 3 17:20:38 2016

Copyright (c) 1982, 2011, Oracle and/or its affiliates. ?All rights reserved.

Username: sys as sysdba

Password:

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Master table "SYS"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded

******************************************************************************

Dump file set for SYS.SYS_EXPORT_SCHEMA_01 is:

/u01/app/testbackup/dcbackup02033.dmp

Job "SYS"."SYS_EXPORT_SCHEMA_01" successfully completed at 17:23:36

備份成功后,會在/u01/app/testbackup目錄產(chǎn)生對應(yīng)的備份文件dcbackup02033.dmp ?dclogbackup02033.log

3、還原測試

方案一:建立同樣的用戶名和表空間進(jìn)行恢復(fù)

先刪除對應(yīng)的管理中心用戶和表空間和數(shù)據(jù)文件

注意先停止應(yīng)用服務(wù)器的IIS服務(wù)和k3cloud相關(guān)系統(tǒng)服務(wù)drop?user?clouddcadmin?cascade

drop?tablespace?clouddc_data?including?contents?and?datafiles?cascade?constraints;

drop?tablespace?clouddc_temp?including?contents?and?datafiles?cascade?constraints;

再建立用戶和對應(yīng)的表空間并授權(quán)create?temporary?tablespace?test1_temp

tempfile?'test_temp.dbf'

size?32m

autoextend?on

next?32m?maxsize?UNLIMITED

extent?management?local;

create?tablespace?test1_data

logging

datafile?'test1_data.dbf'

size?32m

autoextend?on

next?32m?maxsize?UNLIMITED

extent?management?local;

create?user?test1?identified?by?cloud6

default?tablespace?test1_data

temporary?tablespace?test1_temp;

grant?connect,resource,dba?to?test1;

grant?create?session?to?test1;

grant?create?table?to?test1;

最后使用impdp導(dǎo)入數(shù)據(jù)即可:impdp?directory=backup?dumpfile=dcbackup02032.dmp?logfile=dcbackup02032.log?schemas=clouddcadmin

[oracle@redhat64 app]$ impdp directory=backup dumpfile=dcbackup02032.dmp logfile=dcbackup02032.log schemas=clouddcadmin

Import: Release 11.2.0.3.0 - Production on Wed Feb 3 17:31:04 2016

Copyright (c) 1982, 2011, Oracle and/or its affiliates. ?All rights reserved.

Username: sys as sysdba

Password:

Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

Master table "SYS"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded

Starting "SYS"."SYS_IMPORT_SCHEMA_01": ?sys/******** AS SYSDBA directory=backup dumpfile=dcbackup02032.dmp logfile=dcbackup02032.log schemas=clouddcadmin

Processing object type SCHEMA_EXPORT/USER

ORA-31684: Object type USER:"CLOUDDCADMIN" already exists

Processing object type SCHEMA_EXPORT/SYSTEM_GRANT

Processing object type SCHEMA_EXPORT/ROLE_GRANT

Processing object type SCHEMA_EXPORT/DEFAULT_ROLE

Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA

Processing object type SCHEMA_EXPORT/TYPE/TYPE_SPEC

ORA-31684: Object type TYPE:"CLOUDDCADMIN"."UDT_OBJ_IDS" already exists

ORA-31684: Object type TYPE:"CLOUDDCADMIN"."UDT_INTTABLE" already exists

ORA-31684: Object type TYPE:"CLOUDDCADMIN"."UDT_VARCHARTABLE" already exists

ORA-31684: Object type TYPE:"CLOUDDCADMIN"."UDT_NVARCHARTABLE" already exists

ORA-31684: Object type TYPE:"CLOUDDCADMIN"."UDT_SPLIT_TBL" already exists

Processing object type SCHEMA_EXPORT/SEQUENCE/SEQUENCE

ORA-31684: Object type SEQUENCE:"CLOUDDCADMIN"."Z_BAS_ITEM" already exists

ORA-31684: Object type SEQUENCE:"CLOUDDCADMIN"."Z_BAS_DATACENTER_L" already exists

Processing object type SCHEMA_EXPORT/TABLE/TABLE

Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

Job "SYS"."SYS_IMPORT_SCHEMA_01" completed with 1 error(s) at 17:32:53

完成后,再啟用IIS和相關(guān)服務(wù):iisreset?/start

net?start?K3CloudJobProcess

net?start?K3CloudManager

啟動完成后,再打開管理中心登錄即可。

方案二:不同用戶名,表空間時

1、創(chuàng)建用戶test(用IMPDP數(shù)據(jù)泵導(dǎo)入時系統(tǒng)自動創(chuàng)建用戶,密碼默認(rèn)為導(dǎo)入用戶密碼)

create usertest?identifiedbypasswd?default tablespace USERS temporary tablespace TEMP;

注:test為用戶名,passwd為用戶密碼,可根據(jù)實際情況進(jìn)行調(diào)整;

2、?用戶賦權(quán)

SQL>grant connect,resource,dba totest;

注:此處為用戶賦予連接權(quán)限和最大的DBA權(quán)限,可根據(jù)實際情況進(jìn)行調(diào)整;

3、?恢復(fù)數(shù)據(jù)庫(采用impdp數(shù)據(jù)泵導(dǎo)入)

鍵入exit命令退出sqlplus,在oracle用戶下利用impdp命令恢復(fù)數(shù)據(jù)庫:

SQL>exit

impdp 'test/"passwd"' EXCLUDE=STATISTICS ?DIRECTORY=backup DUMPFILE=K3cloudData20160729.dmp remap_schema=K3CLOUD:test parallel=2 transform=OID:n table_exists_action=replace logfile=impdplog.log

impdp ?remap_schema=yxcloud:test1 ? remap_tablespace=CLOUD_D_STANDARD:test1_data ? directory=BACKUP ?dumpfile=YXCLOUD20161109_EXPDP.DMP logfile=yxcloud20161109_impdp.log ?EXCLUDE=STATISTICS

如果不知道原schema用戶名,可能引出ORA-01917錯誤。可以不加remap_schema選項嘗試還原,如果失敗,在提示中可以看到原schema用戶名信息,如下圖:

K3CLOUD即是原ORACLE用戶名:

------------------------------------------------------

還可能引出ORA-39083錯誤:

加上remap_tablespace選項即可:

remap_tablespace=K3_D_CLOUD_STANDARD:USERS

因為之前的操作開正常完成,因此可能引出ORA-31684錯誤:(這個一般沒有關(guān)系,是表名已經(jīng)存在了)

要解決可以這么做:

加入一個table_exists_action=replace還原參數(shù),或通過先刪除用戶,在從新創(chuàng)建一次還原就可以

drop user hr cascade;

--------------------------------------------------------

ora39083,ORA 01435錯誤,這個錯誤屬于非表數(shù)據(jù)錯誤,一般不影響數(shù)據(jù):

Processing object type SCHEMA_EXPORT/TABLE/POST_TABLE_ACTION

ORA-39083: Object type POST_TABLE_ACTION failed to create with error:

ORA-01435: user does not exist

Failing sql is:

BEGIN

SYS.DBMS_SNAPSHOT_UTL.SYNC_UP_LOG('YXCLOUD','T_BD_DEPARTMENT');

END;

ORA-39083: Object type POST_TABLE_ACTION failed to create with error:

ORA-01435: user does not exist

Failing sql is:

BEGIN

SYS.DBMS_SNAPSHOT_UTL.SYNC_UP_LOG('YXCLOUD','T_BD_BANK');

END;

注:impdp恢復(fù)命令中加入了transform=oid:n參數(shù),如果多次恢復(fù)數(shù)據(jù)庫需要使用此參數(shù),則需要重置OID。transform取值oid:n的含義就是對oid信息不進(jìn)行加載,重新進(jìn)行生成?。

parallel=30,參數(shù)大家跟蹤自己服務(wù)器的CPU\內(nèi)存情況設(shè)置,我這里128內(nèi)存,所以改成30個并發(fā)。建議調(diào)整成10一下即可!即parallel=10

注意有多個表空間需要轉(zhuǎn)換時,則使用多個remap_tablespace=源:目標(biāo)字段。

statistics=none是為了不導(dǎo)入統(tǒng)計信息

恢復(fù)數(shù)據(jù)庫時報錯處理方案:

1、報錯如下(問題為lttc用戶已經(jīng)存在,可以忽略此報錯信息)

ORA-31684: Object type USER:"lttc" already exists

2、報錯如下(問題為OID為數(shù)據(jù)實例唯一id,恢復(fù)時請使用參數(shù)transform=oid:n重置OID,命令參照A用戶導(dǎo)入B用戶命令)

ORA-39083: Object type TYPE failed to create with error:

ORA-02304: invalid object identifier literal

Failing sql is:

CREATE TYPE "LTTC"."UDT_OBJ_IDS" ? OID 'E25DDA5E8A4B49949184EE01BD4F564C' is object( FID varchar2(32767))

3、報錯如下(問題為總部已經(jīng)刪除此視圖中的表,所以恢復(fù)時報錯。處理方法請備份前刪除此視圖或恢復(fù)時忽略此報錯信息)

ORA-39082: Object type VIEW:"LTTC"."V_BAS_VCHENTRYSELECT" created with compilation warnings

ORA-39082: Object type VIEW:"LTTC"."V_BAS_VCHENTRYSELECT_L" created with compilation warnings

3、報錯如下臨時視圖報錯,可以忽略不計。

ORA-39082: Object type VIEW:"LTTC"."V741DB8F62753E3EB1CC025B59C6F9" created

with compilation warnings

ORA-39082: Object type VIEW:"LTTC"."VC87B4CFC1E329C091F685162688CF" created

以上轉(zhuǎn):

4、ORA-39126錯誤:

Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS

ORA-39126: Worker unexpected fatal error in KUPW$WORKER.PUT_DDLS [TABLE_STATISTICS]

ORA-06502: PL/SQL: numeric or value error

LPX-00225: end-element tag "HIST_GRAM_LIST_ITEM" does not match start-element tag "EPVALUE"

ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95

ORA-06512: at "SYS.KUPW$WORKER", line 9715

----- PL/SQL Call Stack -----

object ? ? ?line ?object

handle ? ?number ?name

0x983331fc ? ? 21979 ?package body SYS.KUPW$WORKER

0x983331fc ? ? ?9742 ?package body SYS.KUPW$WORKER

0x983331fc ? ? 17950 ?package body SYS.KUPW$WORKER

0x983331fc ? ? ?4058 ?package body SYS.KUPW$WORKER

0x983331fc ? ? 10450 ?package body SYS.KUPW$WORKER

0x983331fc ? ? ?1824 ?package body SYS.KUPW$WORKER

0x4eae2874 ? ? ? ? 2 ?anonymous block

ORA-39097: Data Pump job encountered unexpected error -1427

ORA-39065: unexpected master process exception in DISPATCH

ORA-01427: single-row subquery returns more than one row

Job "TEST1"."SYS_IMPORT_FULL_02" stopped due to fatal error at Wed Oct 26 20:28:25 2016 elapsed 0 00:39:12

帶上EXCLUDE=STATISTICS后,成功導(dǎo)入

5、ORA-00959: 表空間 'CLOUD_D_STANDARD' 不存在

REMAP_TABLESPACE可以定義切換對象的不同表空間,其格式為:

remap_tablespace=old_tablespace_name:new_tablespace_name

用戶空間切換要使用下面方案:

remap_schema=old_schema_name:new_schema_name

下面為相關(guān)命令說明:

通過數(shù)據(jù)泵導(dǎo)出/導(dǎo)入Expdp/impdp

Oracle 10g引入了DATA PUMP提供的是一種基于服務(wù)器的數(shù)據(jù)提取和恢復(fù)的實用程序,DATA PUMP在體系結(jié)構(gòu)和功能上與傳統(tǒng)的EXPORT和IMPORT實用程序相比有了顯著的提升。DATA PUMP允許您停止和重啟作業(yè),查看運行的作業(yè)的狀態(tài),及對導(dǎo)入和導(dǎo)出的數(shù)據(jù)做限制。

注意:數(shù)據(jù)泵文件與傳統(tǒng)的EXP/IMP數(shù)據(jù)轉(zhuǎn)儲文件是不兼容的。

一、以下是DATA PUMP的幾個優(yōu)點介紹:

1.數(shù)據(jù)泵(DataPump)的所有工作都有數(shù)據(jù)庫實例來完成,數(shù)據(jù)庫可以并行來處理這些工作,不僅可以通過建立多個數(shù)據(jù)泵工作進(jìn)程來讀/寫正在被導(dǎo)出/導(dǎo)入的數(shù)據(jù),也可以建立并行I/O服務(wù)器以更快地讀取或插入數(shù)據(jù),從而,單進(jìn)程瓶頸被徹底解決。

2.通過數(shù)據(jù)泵,以前通過EXP/IMP主要基于Client/Server的邏輯備份方式轉(zhuǎn)換為服務(wù)器端的快速備份,數(shù)據(jù)泵主要工作在服務(wù)器端,可以通過并行方式快速裝入或卸載數(shù)據(jù),而且可以在運行過程中調(diào)整并行的程度,以加快或減少資源消耗。

二、步驟如下

1. 創(chuàng)建DIRECTORY

DATA PUMP要求為將要創(chuàng)建和讀取的數(shù)據(jù)文件及日志文件創(chuàng)建目錄,這個參數(shù)是用來定義一個目錄,前面已經(jīng)提到數(shù)據(jù)泵主要在Server端工作,導(dǎo)出文件需要寫出到Server端本地目錄,這個DIRECTORY就是對應(yīng)的Server端的目錄。將要訪問數(shù)據(jù)泵文件的用戶必須要擁有該目錄的讀/寫權(quán)限。

注意:在開始操作之前要驗證外部目錄是否存在,并且下達(dá)create directory命令的用戶需要擁有create anydirectory的系統(tǒng)權(quán)限。

下面給出一個創(chuàng)建名為TEST的目錄并授予system用戶訪問此目錄讀/寫權(quán)限。

創(chuàng)建目錄并賦予權(quán)限:

SQL> ?Create directory TEST as 'd:\test';

SQL> ?Grant read,write on directory TEST to system;

查看數(shù)據(jù)庫中已創(chuàng)建的directory的兩個視圖:

SELECT * FROM ?ALL_DIRECTORIES;

SELECT * FROM ?dba_DIRECTORIES;

然后在目標(biāo)磁盤下手工創(chuàng)建文件夾d:\test

2. ?數(shù)據(jù)泵導(dǎo)出

數(shù)據(jù)泵導(dǎo)出的方法有多種,這里我們只介紹兩種:

單個用戶方案導(dǎo)出

Expdp [用戶名]/[密碼]@[主機(jī)字符竄] schemas=[用戶名] directory=TEST dumpfile=X.dmp logfile=X.log

數(shù)據(jù)庫全庫導(dǎo)出

Expdp [用戶名]/[密碼]@[主機(jī)字符竄] full=y directory=TEST dumpfile=X.dmp logfile=X.log

3. 數(shù)據(jù)泵導(dǎo)入

按以上導(dǎo)出方式:

單個用戶方案導(dǎo)入

impdp [用戶名]/[密碼]@[主機(jī)字符竄] schemas=[用戶名] directory=TEST dumpfile=X.dmp logfile=X.log ignore=y

數(shù)據(jù)庫全庫導(dǎo)入

impdp [用戶名]/[密碼]@[主機(jī)字符竄] full=y directory=TEST dumpfile=X.dmp logfile=X.log ignore=y

注意:directory的位置

drop directory test 刪除目錄

總結(jié)

以上是生活随笔為你收集整理的oracle 还原dmp时_报错的值太大,基于oracle数据库的CLOUD备份恢复测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。