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

CLOUD oracle数据库备份恢复测试

强烈建议使用expdp/impdp,因为:

在expdp的时候Oracle不会再依赖和参考NLS_LANG的设置,而是完全按照数据库本身的字符集导出数据,impdp的时候,Oracle会自动判断如果dmp文件中的字符集和目标数据库的字符集不符时会自动对导入数据的字符集做转换。这样可以消除以前由于字符集的问题在导入过程中出现乱码的问题。

1、创建备份目录并授权: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;

结果如下:

2855109f1bbd1b22265807735e5e94d8.png

查看用户及对应的表空间:select   username,default_tablespace,temporary_tablespace   from   dba_users;

2、备份数据库

以管理中心为例: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目录产生对应的备份文件dcbackup02033.dmp  dclogbackup02033.log

3、还原测试

方案一:建立同样的用户名和表空间进行恢复

先删除对应的管理中心用户和表空间和数据文件

注意先停止应用服务器的IIS服务和k3cloud相关系统服务drop user clouddcadmin cascade

drop tablespace clouddc_data including contents and datafiles cascade constraints;

drop tablespace clouddc_temp including contents and datafiles cascade constraints;

再建立用户和对应的表空间并授权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导入数据即可: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和相关服务:iisreset /start

net start K3CloudJobProcess

net start K3CloudManager

启动完成后,再打开管理中心登录即可。

方案二:不同用户名,表空间时

1、创建用户test(用IMPDP数据泵导入时系统自动创建用户,密码默认为导入用户密码)

create usertest identifiedbypasswd default tablespace USERS temporary tablespace TEMP;

注:test为用户名,passwd为用户密码,可根据实际情况进行调整;

2、 用户赋权

SQL>grant connect,resource,dba totest;

注:此处为用户赋予连接权限和最大的DBA权限,可根据实际情况进行调整;

3、 恢复数据库(采用impdp数据泵导入)

键入exit命令退出sqlplus,在oracle用户下利用impdp命令恢复数据库:

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用户名:

e39e396c420ecd20fcbdc32d06f55dbc.png

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

还可能引出ORA-39083错误:

7646b49c76cd4a76a69d61f2c515ed91.png

加上remap_tablespace选项即可:

remap_tablespace=K3_D_CLOUD_STANDARD:USERS

因为之前的操作开正常完成,因此可能引出ORA-31684错误:(这个一般没有关系,是表名已经存在了)

要解决可以这么做:

加入一个table_exists_action=replace还原参数,或通过先删除用户,在从新创建一次还原就可以

drop user hr cascade;

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

ora39083,ORA 01435错误,这个错误属于非表数据错误,一般不影响数据:

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恢复命令中加入了transform=oid:n参数,如果多次恢复数据库需要使用此参数,则需要重置OID。transform取值oid:n的含义就是对oid信息不进行加载,重新进行生成 。

parallel=30,参数大家跟踪自己服务器的CPU\内存情况设置,我这里128内存,所以改成30个并发。建议调整成10一下即可!即parallel=10

注意有多个表空间需要转换时,则使用多个remap_tablespace=源:目标字段。

statistics=none是为了不导入统计信息

恢复数据库时报错处理方案:

1、报错如下(问题为lttc用户已经存在,可以忽略此报错信息)

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

2、报错如下(问题为OID为数据实例唯一id,恢复时请使用参数transform=oid:n重置OID,命令参照A用户导入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、报错如下(问题为总部已经删除此视图中的表,所以恢复时报错。处理方法请备份前删除此视图或恢复时忽略此报错信息)

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

以上转:

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后,成功导入

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

REMAP_TABLESPACE可以定义切换对象的不同表空间,其格式为:

remap_tablespace=old_tablespace_name:new_tablespace_name

用户空间切换要使用下面方案:

remap_schema=old_schema_name:new_schema_name

下面为相关命令说明:

通过数据泵导出/导入Expdp/impdp

Oracle 10g引入了DATA PUMP提供的是一种基于服务器的数据提取和恢复的实用程序,DATA PUMP在体系结构和功能上与传统的EXPORT和IMPORT实用程序相比有了显著的提升。DATA PUMP允许您停止和重启作业,查看运行的作业的状态,及对导入和导出的数据做限制。

注意:数据泵文件与传统的EXP/IMP数据转储文件是不兼容的。

一、以下是DATA PUMP的几个优点介绍:

1.数据泵(DataPump)的所有工作都有数据库实例来完成,数据库可以并行来处理这些工作,不仅可以通过建立多个数据泵工作进程来读/写正在被导出/导入的数据,也可以建立并行I/O服务器以更快地读取或插入数据,从而,单进程瓶颈被彻底解决。

2.通过数据泵,以前通过EXP/IMP主要基于Client/Server的逻辑备份方式转换为服务器端的快速备份,数据泵主要工作在服务器端,可以通过并行方式快速装入或卸载数据,而且可以在运行过程中调整并行的程度,以加快或减少资源消耗。

二、步骤如下

1. 创建DIRECTORY

DATA PUMP要求为将要创建和读取的数据文件及日志文件创建目录,这个参数是用来定义一个目录,前面已经提到数据泵主要在Server端工作,导出文件需要写出到Server端本地目录,这个DIRECTORY就是对应的Server端的目录。将要访问数据泵文件的用户必须要拥有该目录的读/写权限。

注意:在开始操作之前要验证外部目录是否存在,并且下达create directory命令的用户需要拥有create anydirectory的系统权限。

下面给出一个创建名为TEST的目录并授予system用户访问此目录读/写权限。

创建目录并赋予权限:

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

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

查看数据库中已创建的directory的两个视图:

SELECT * FROM  ALL_DIRECTORIES;

SELECT * FROM  dba_DIRECTORIES;

然后在目标磁盘下手工创建文件夹d:\test

2.  数据泵导出

数据泵导出的方法有多种,这里我们只介绍两种:

单个用户方案导出

Expdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=TEST dumpfile=X.dmp logfile=X.log

数据库全库导出

Expdp [用户名]/[密码]@[主机字符窜] full=y directory=TEST dumpfile=X.dmp logfile=X.log

3. 数据泵导入

按以上导出方式:

单个用户方案导入

impdp [用户名]/[密码]@[主机字符窜] schemas=[用户名] directory=TEST dumpfile=X.dmp logfile=X.log ignore=y

数据库全库导入

impdp [用户名]/[密码]@[主机字符窜] full=y directory=TEST dumpfile=X.dmp logfile=X.log ignore=y

注意:directory的位置

drop directory test 删除目录

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399004.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servlet读取文件的最好的方式

在java web 开发的时候不可避免的会读取文本信息,但是方式不同,所付出的代价也是不一样的,今天学到了一个比较好的实用性的技巧,拿来与大家分享一下。 读取属性配置文件 之所以说成是读取属性(properties)文件&#xf…

Form.php 日期表单,Bootstrap日期和时间表单组件使用方法

提取其中的主要文件js/bootstrap-datetimepicker.js和css/bootstrap-datetimepicker.min.css1.引入bootstrap.min.css,因為其樣式包含在此文件中2.引入jquery.js,因為bootstrap是依賴於jquery的3.引入bootstrap.min.js以上是必備內容4.引入日期組件的css…

amp; 的意思

&amp是什么意思? <bean> <property name"jdbcUrl" value"jdbc:mysql://127.0.0.1:3306/spring?useUnicodetrue&amp;characterEncodingutf8"> </property> </bean> 这里面的&amp;是什么意思? 解答&#xff1a; &…

Bootstrap 排版

2019独角兽企业重金招聘Python工程师标准>>> Bootstrap 使用 Helvetica Neue、 Helvetica、 Arial 和 sans-serif 作为其默认的字体栈。 使用 Bootstrap 的排版特性&#xff0c;您可以创建标题、段落、列表及其他内联元素。 标题 Bootstrap 中定义了所有的 HTML 标题…

基于小波包的图像压缩及matlab实现,基于小波包的图像压缩及matlab实现精选.doc...

基于小波包的图像压缩及matlab实现精选基于小波包的图像压缩及matlab实现摘要&#xff1a;小波包分析理论作为新的时频分析工具&#xff0c;在信号分析和处理中得到了很好的应用&#xff0c;它在信号处理、模式识别、图像分析、数据压缩、语音识别与合成等等许多方面都取得了很…

为div添加滚动效果:

为div添加滚动效果: .xxxx{  width: 100%;height: 100%;overflow: hidden;overflow-y: auto;} 代码片段 <div class"xxxx"><div>aaa</div><div>aaa</div><div>aaa</div><div>aaa</div><div>aaa</d…

php读取子目录下文件内容,php小代码----目录下读取子文件或子目录_PHP教程

php小代码----目录下读取子文件或子目录rootPath $rootPath;if (is_dir($this->rootPath)) {$this->rootPath pathinfo($this->rootPath, PATHINFO_DIRNAME) . DIRECTORY_SEPARATOR . pathinfo($this->rootPath, PATHINFO_BASENAME);$this->opDirectory dir(…

Apache Lens —— 统计数据分析查询接口

Lens 提供了一个统一数据分析接口。通过提供一个跨多个数据存储的单一视图来实现数据分析任务切分&#xff0c;同时优化了执行的环境。无缝的集成 Hadoop 实现类似传统数据仓库的功能。 该项目主要特性&#xff1a; 简单元数据层为数据存储提供抽象视图层 单一的共享模式服务器…

js文件中调用另一个js文件:

document.write("<script languagejavascript src/UEditor/uparse.js></script");转载于:https://www.cnblogs.com/flywing/p/3998261.html

JDK8新特性-java.util.function-Predicate接口

上篇主要对Function函数进行了简单了解&#xff0c;本篇则主要了解Predicate。该函数的主要作用其实就是判定输入的对象是否否和某个条件&#xff0c;然后将其布尔值返回。 主要使用方法如下&#xff1a; //唯一的抽象方法 boolean test(T t); //且操作&#xff0c;既满足A也满…

linux查服务器总内存大小,在linux 下怎么查看服务器的cpu和内存的硬件信息

1&#xff0c;Linux下可以在/proc/cpuinfo中看到每个cpu的详细信息。但是对于双核的cpu&#xff0c;在cpuinfo中会看到两个cpu。常常会让人误以为是两个单核的cpu。其实应该通过Physical Processor ID来区分单核和双核。而Physical Processor ID可以从cpuinfo或者dmesg中找到. …

ZIP打包解包

linux zip命令的基本用法是&#xff1a; zip [参数] [打包后的文件名] [打包的目录路径] linux zip命令参数列表&#xff1a; -a 将文件转成ASCII模式-F 尝试修复损坏的压缩文件-h 显示帮助界面-m 将文件压缩之后&#xff0c;删除源文件-n 特定字符串 不压缩具有特定字尾字符串…

HTML5 上传图片预览

html5出现之前如果需要上传图片预览 一般都是先上传到服务器然后远程预览 html5出现之后 有个filereader 解决了这问题 //选中图片之后$("#fileAddPic").on(change, function (e) {var files e.target.files || e.dataTransfer.files;onSelect(files);})//选中图片…

博客园自动显示随笔标签

title: 博客园自动显示随笔标签 date: 2018-01-03 20:52:22 tags: 浏览器脚本 categories: 前端 在添加随笔页自动显示已有标签&#xff0c;不用点击插入已有标签 效果如图 安装链接https://greasyfork.org/zh-CN/scripts/36809-%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%98%BE%E7%A4%BA…

linux 进程代码,怎样从Linux终端管理进程:10个你必须知道的命令

Linux终端有一系列有用的命令。它们可以显示正在运行的进程、杀死进程和改变进程的优先级。本文列举了一些经典传统的命令和一些有用新颖的命令。本文提到的命令会实现某个单一功能。它们可以结合起来——这也是Unix设计程序的理念。其它命令&#xff0c;例如htop,会在命令的上…

c# datagridviewcomboboxcell值无效的解决办法

一直认为是数据库存储的数据和datagridviewcomboboxcell对不上导致&#xff0c;今天碰到两者对应上了&#xff0c;预览的时候还是提示错误&#xff0c; 查看了下网上其他大神的解决方法&#xff0c;是数据库字段类型有误&#xff0c;查看了下&#xff0c;当下拉菜单中包含中文字…

python object类

这个应为写得&#xff0c;写得蛮啰嗦的&#xff0c;建议耐心的人看看&#xff1a;http://www.cafepy.com/article/python_types_and_objects/python_types_and_objects.html 知乎&#xff1a;http://www.zhihu.com/question/19754936 新式类&#xff0c;不学也没关系。看了一堆…

linux符号命令,Linux_几个符号命令(示例代码)

一、管道符号 | (将前面命令的输出结果传给后面的命令)[[email protected] ~]$ cat /etc/passwd | grep "^root"root:x:0:0:root:/root:/bin/bash二、重定向符号 [>] [[[email protected] ~]# df > /usr/tmp/df.txt # >:输入重定向 即将命令结果重定向给df.…

pycharm 安装 tensorflow

1. 安装python 3.5 链接&#xff1a;https://www.python.org/downloads/release/python-352/ 1.1如果之前安装了其他版本的&#xff0c;可以在你需要的项目中&#xff0c;导入本地需要的解释器 如果遇到安装包不知道安装位置&#xff0c;在C盘中搜索&#xff0c;然后将python3…