expdp 备份数据库、expdp/impdp简单测试
操作系统层面创建目录
[root@Oracle11g ~]# mkdir -p /home/oracle/db_back/
修改目录的所属用户、所属组[root@Oracle11g ~]# chown -R oracle:oinstall /home/oracle/db_back/
给目录授予相应的权限(用户对 该目录应该有 读+写+执行 的权限)
[root@Oracle11g ~]# chmod 700 /home/oracle/db_back/
oracle数据库层面创建目录SQL> create directory ora_back as '/home/oracle/db_back/';
Directory created.
授予相应用户的执行权限SQL> grant all on directory ora_back to system;
Grant succeeded.
授予用户 全库导出的权限SQL> grant EXPORT FULL DATABASE to system;
Grant succeeded.
查看执行 全库导出的脚本[oracle@Oracle11g scripts]$ cat expdp.sh
#!/bin/bash
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=orcl
expdp system/manager directory=ora_back dumpfile=$ORACLE_SID+`date +%Y+%m+%d+%H+%M+%S`.dmp full=y logfile=$ORACLE_SID+`date +%Y+%m+%d+%H+%M+%S`.log
以下附带 错误操作及 错误分析
错误操作1
[root@Oracle11g ~]# chmod 600 /home/oracle/db_back/
[oracle@Oracle11g scripts]$ sh expdp.sh
Export: Release 10.2.0.1.0 - 64bit Production on Tuesday, 02 December, 2014 16:05:46
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
ORA-39002: invalid operation
ORA-39070: Unable to open the log file.
ORA-29283: invalid file operation
ORA-06512: at "SYS.UTL_FILE", line 475
ORA-29283: invalid file operatio
错误分析:
oracle用户对该目录只有 读+写 的权限
----------------------------------------------------------------------------------------------------------------------------
导入导出测试:
测试用意: scott用户删除表EMP,然后执行导入操作 检查表是否 重建 。重建后的 表是否在 移动后的表空间
SQL> conn scott/tigerConnected.SQL> drop table emp purge;Table dropped.
[oracle@Oracle11g scripts]$ vi expdp.sh 内容如下:
expdp system/oracle directory=ora_bak file=071501.dmp file=071502.dmp dumpfile=071501.dmp file=071502.dmp log=0715_full.log full=y filesize=300m
此处指定导出文件的最大size 300M,只是为了还原朋友反馈的问题
[oracle@Oracle11g scripts]$ vi impdp.sh 内容如下:impdp system/oracle directory=ora_bak dumpfile=071501.dmp dumpfile=071502.dmp remap_tablespace=users:test01 logfile=0715_impdp.log table_exists_action=truncate
检查表EMP 是否重建,重建后的表空间是否是 TEST01
SQL> select owner,table_name,tablespace_name from all_tables where owner='SCOTT';OWNER TABLE_NAME TABLESPACE_NAME------------------------------ ------------------------------ ------------------------------SCOTT DEPT USERSSCOTT SALGRADE USERSSCOTT YOUYUS USERSSCOTT SALES USERSSCOTT T USERSSCOTT MLOG$_T USERSSCOTT EMP TEST01SCOTT T_NEWSCOTT RUPD$_TSCOTT SALES01SCOTT BONUS USERSSCOTT TEST TEST01
结果跟自己预想的一样!!
哈哈
转载于:https://www.cnblogs.com/iyoume2008/p/4657369.html
相关资源:JAVA上百实例源码以及开源项目