如何执行完整的Oracle数据库导出或导入但排除一个表空间



我正在努力创建一个计划的任务,以每周对Oracle 11G数据库进行每周的刷新,从生产到测试。除了一个名为perfstat的表空间,我想进行完整的导出/导入,我们在使用Stats Pack的生产中使用,但实际上并不需要测试。

这是我当前的导出命令

EXPDP system/password@instance FULL=Y DIRECTORY=TRPROD_EXPORT DUMPFILE=TRPROD_FULL_EXPORT.DMP LOGFILE=TRPROD_FULL_EXPORT.LOG COMPRESSION=all

测试导入时,我得到以下错误

ORA-01119: error in creating database file 'G:ORACLEORADATATRPRODPERFSTAT01.DBF'
ORA-27038: created file already exists
OSD-04010: <create> option specified, file already exists
Failing sql is:
CREATE TABLESPACE "PERFSTAT" DATAFILE 'G:ORACLEORADATATRPRODPERFSTAT01.DBF' SIZE 209715200 AUTOEXTEND ON NEXT 10485760 MAXSIZE 2146435072 LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS  SEGMENT SPAC

我已经尝试添加ubled = tabrespace:" ='perfstat'"在expdp命令中尝试排除该表格,但是我给了我语法错误,所以我想知道正确地完成完整的方式是什么刷新我们的测试数据库将排除此特定表空间?

您可以创建一个参数文件,如下所示。

[oracle@oratestprod fra]$ cat test.par
DIRECTORY=TRPROD_EXPORT
FULL=Y 
DUMPFILE=TRPROD_FULL_EXPORT.DMP 
LOGFILE=TRPROD_FULL_EXPORT.LOG 
COMPRESSION=all
exclude=tablespace:"IN ('PERFSTAT')"

并如下所示。

[oracle@oratestprod fra]$ expdp system parfile=test.par

相关内容

  • 没有找到相关文章

最新更新