1

我正在创建一个计划任务,以便每周刷新从生产到测试的 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:\ORACLE\ORADATA\TRPROD\PERFSTAT01.DBF'
ORA-27038: created file already exists
OSD-04010: <create> option specified, file already exists
Failing sql is:
CREATE TABLESPACE "PERFSTAT" DATAFILE 'G:\ORACLE\ORADATA\TRPROD\PERFSTAT01.DBF' SIZE 209715200 AUTOEXTEND ON NEXT 10485760 MAXSIZE 2146435072 LOGGING ONLINE PERMANENT BLOCKSIZE 8192 EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT NOCOMPRESS  SEGMENT SPAC

我尝试将 EXCLUDE=TABLESPACE:"='PERFSTAT'" 添加到 EXPDP 命令以尝试排除该表空间,但我给了我一个语法错误,所以我想知道正确的方法来完全刷新我们的测试数据库是否会排除这个特定的表空间?

4

1 回答 1

1

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

[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
于 2017-12-07T15:25:17.573 回答