博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle下对EAS备份账套进行还原操作的记录
阅读量:5241 次
发布时间:2019-06-14

本文共 2438 字,大约阅读时间需要 8 分钟。

这两天对eas账套进行了备份还原操作,备份操作基本上没问题,但是在还原时,出现了如下报错,折腾了很久,在网上搜索了一通,发现国内的网站给出的答案都是把出错的语句修改后重新执行,可是我这里有2000多个错误,重新执行不可能。后来在国外的网站看到了问题的原因:oracle数据库版本11.2.0.1是存在这样的问题,需要升级数据库到11.2.0.4。于是又进行oracle升级操作,基本上按网上的步骤升级完成,可是受不了升级后系统里面有两个oracle目录,于是就又把数据库卸载了,按网上的步骤卸载并且删除注册表,好在卸载干净了,于是重新安装了11.2.0.4版本数据库,最后进行eas账套还原,基本上没问题了。两次还原时的报错截图如下:

在数据库11.2.0.1下的还原操作的报错:

 

在11.2.0.4版本数据库下还原的错误,总共只有2个错误,后来进还原账套操作了一下,发现一切正常。

 备份语句如下:

--数据泵导出

sqlplus / as sysdba
CREATE DIRECTORY dump AS 'C:\shuju';
grant read, write on directory dump to eas802;
quit
expdp eas802/eas802 DIRECTORY=dump DUMPFILE=eas1712.dmp logfile=expdp_eas1712.log

还原语句如下:

1、先创建表空间。

但是创建表空间之前要先查询之前备份的账套所使用的表空间个数及名称,后续需要使用到。

--查询表空间使用情况的语句,记得通过pl/sql developer窗口中执行下列语句,在cmd窗口中执行不会返回结果。

declare

userName varchar(20):='skyline';  -----修改skyline为实际导出账套的用户名
tablespace_name varchar(50);
user_name varchar(20);
cursor tablespace_cur(user_name in varchar) is
select a.tablespace_name tablespace_name, b.owner owner
from dba_segments a
inner join dba_objects b on a.segment_name=b.object_name
where b.owner=upper(user_name) and a.owner=upper(user_name)
group by b.OWNER, a.tablespace_name;
begin
open tablespace_cur(userName);
loop
fetch tablespace_cur into tablespace_name,user_name;
exit when tablespace_cur%notfound;
dbms_output.put_line(tablespace_name||' '||user_name);
end loop;
close tablespace_cur;
end;

---查询出的两个表空间名称记录下来,后面的语句要用到。

---创建表空间,上一步查询出来的表空间是2个,还要一个临时表空间,所以下面一共新建三个表空间。后来的语句中需要用到。

create tablespace EAS_D_EAS123_INDEX datafile 'C:\shuju\EAS_D_EAS123_INDEX.dbf' size 10000M autoextend ON next 100M maxsize 32000M;
create tablespace EAS_D_EAS123_STANDARD datafile 'C:\shuju\EAS_D_EAS123_STANDARD.dbf' size 10000M autoextend ON next 100M maxsize 32000M;

create temporary tablespace EAS_T_EAS123_STANDARD tempfile 'C:\shuju\EAS_T_EAS123_STANDARD.dbf' size 1000M autoextend ON next 100M maxsize 10000M;

2、数据泵导入语句:

sqlplus / as sysdba

CREATE USER eas_zl IDENTIFIED BY a DEFAULT TABLESPACE EAS_D_EAS123_STANDARD TEMPORARY TABLESPACE EAS_T_EAS123_STANDARD;
GRANT connect,dba to eas_zl;
CREATE OR REPLACE DIRECTORY dump AS 'C:\shuju';
grant read, write on directory dump to eas_zl;
quit
impdp eas_zl/a@eas802 DIRECTORY=dump logfile=imp.log DUMPFILE=eas1712.dmp REMAP_SCHEMA=eas802:eas_zl remap_tablespace=EAS_D_EAS802_STANDARD:EAS_D_EAS123_STANDARD remap_tablespace=EAS_D_EAS802_INDEX:EAS_D_EAS123_INDEX

---注意上面语句中的REMAP_SCHEMA和remap_tablespace的用法。

 

转载于:https://www.cnblogs.com/linzh104/p/8003759.html

你可能感兴趣的文章
亡灵序曲-The Dawn
查看>>
MySQL中的隔离级别和悲观锁及乐观锁示例
查看>>
手机端h5 ajax 上传图片支持微信内置浏览器
查看>>
Redmine
查看>>
HtmlEditor常用模式
查看>>
Another app is currently holding the yum lock; waiting for it to exit.. yum被锁定无法使用
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>
第一次博客
查看>>
Java Map 常见用法举例
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>
IOS解析XML
查看>>
Python3多线程爬取meizitu的图片
查看>>
树状数组及其他特别简单的扩展
查看>>
Linux vi/vim
查看>>
zookeeper适用场景:分布式锁实现
查看>>
110104_LC-Display(液晶显示屏)
查看>>
javascript全局变量
查看>>
全连接神经网络(DNN)
查看>>
httpd_Vhosts文件的配置
查看>>