Oracle 11g -- ORACL数据库普通备份还原、数据泵备份还原

Oracle 11g -- ORACL数据普通备份还原、数据泵备份还原

oracle11g数据库的导入/导出,就是通常所说的oracle数据的还原/备份

数据库导入:把.dmp 格式文件从本地导入到数据库服务器中(本地oracle测试数据库中);
数据库导出:把数据库服务器中的数据(本地oracle测试数据库中的数据),导出到本地生 .dmp格式文件。

.dmp 格式文件:就是oracle数据的文件格式。

使用数据泵导入可以在数据库之间移动对象。

数据泵可以实现表空间之间的转移。

一、普通备份还原-expimp

通用命令:exp(imp) username/password@SERVERNAME:1521 file=e:\temp.dmp” full = y;

1、数据备份(导出)

如果出现问题,可能是因为有的表已经存在,然后它就报错,对该表就不进行导入,在后面加上 ignore=y 就可以了。

exp system/manager@orcl file=D:\oracle_backup\example_exp.dmp full=y

这里file指的是导出后文件所在的路径

 

 

 

 2、数据还原(导入)

1)建表空间

create tablespace mytablespace00001 datafile D:\EFMCS.dbf’ size 50M autoextend on next 50M maxsize unlimited;

2)建用户

create user xinrong identified by 000000 default tablespace mytablespace00001;

3)赋予权限

grant connect, dba to xinrong;

4)导入指定路径下的数据

imp system/000000@orcl file = D:\oracle_backup\example.dmp fromuser=xinrong full=y log=D:\example.log

这里的fromuser指的是导出数据时使用的用户名

这里的file指的是要导入的数据文件路径

这里的log指的是执行日志所在的路径

二、数据泵备份还原-expdpimpdp

1、数据泵备份(导出)

1system用户登陆oracle

管理员方式打开cmd.exe,输入命令:sqlplus system/manager@orcl

 

2)创建逻辑目录
创建备份逻辑目录,此目录不是真实的目录,它代表的是本地磁盘上存在的路径,路径里面存放的是要备份的文件。
create directory data_dir as 'D:\oracle_exp\xinrong\';
data_dir为路径名称,可自命名,D:\oracle_exp\xinrong\为数据库导出文件存放路径(路径必须存在)。
该路径下存放的是要进行备份的文件:example.dmp。

 

3) 将逻辑目录下的数据进行备份(导出)

另外启动一个cmd窗口,输入dos命令:

expdp system/manager@orcl directory=data_dir dumpfile=expdp00001.dmp logfile=00001.log

directory=创建的逻辑目录名

dumpfile=导出(备份)后的文件名

logfie=打印执行日志的文件名

 

查看本地磁盘:

 

2、数据泵还原(导入)

SQL> drop tablespace mytablespace00001 including contents and datafiles;

SQL> drop user xinrong;

SQL> drop directory databackup;

1)创建表空间

create tablespace mytablespace00001 datafile 'D:\oracle_imp\xinrong\mytablespace00001.DBF' size 50M segment space management auto;

datafile后是表空间的存储位置,.DBF文件所在的路径必须是已存在的,

创建成功后该路径下就会出现对应的.DBF文件。

2)建用户、设置密码

SQL> create user xinrong identified by 000000 default tablespace mytablespace00001;

3)给用户授权

SQL> grant connect,resource,dba to xinrong;

4)创建逻辑目录

SQL> create directory databackup as 'D:\oracle_backup';

5)给用户授权

SQL> grant read, write on directory databackup to xinrong;

6)还原逻辑目录下的数据

impdp xinrong/000000@orcl directory= databackup dumpfile=example.DMP logfile=impdp00001.log --remap_schema=xinrong:xinrong

dumpfile是要进行还原(导入)文件的名字

logfile指是用来打印执行日志的文件名

三、遇到的问题与解决

在磁盘上误删表空间文件的话,再次DOS命令按照之前的用户登陆的话验证会失败,解决方法:

第一步、sqlplus /NOLOG

第二步、sql>connect sys/change_on_install as sysdba

第三步、sql>shutdown normal

第四步、sql>startup mount

第五步、sql>alter database open;

  这步可能会出现以下类似的错误:

  ORA-01157: 无法标识/锁定数据文件19 - 请参阅DBWR 跟踪文件

  ORA-01110: 数据文件19: ””C:\oracle\oradata\oradb\FYGL.ORA”

  可以根据这个提示继续输入

  第六步、sql>alter database datafile 19 offline drop;(数字按照报错提示改)

  然后 重复使用第五第六步,直到出现数据库已更改提示

  接着继续输入shutdown normalstartup mount可以了

这步之后如果还是不行 就停止所有Oracle服务,然后重新启动再次输入DOS命令连接数据库即可。

 

posted @ 2022-12-19 00:11  yclizq  阅读(937)  评论(0编辑  收藏  举报