ORACLE10G 除一张表以外的备份问题 oracle10G 数据库 总共使用200G 有一张分区表 占 80G (不需要备份此表)目前要进行exp导出怎么写EXP导出语句呢?目前方案:按指定表进行导出。问题:存储过程 job 等还需另外导出各位大侠有什么解决方案么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 已经想到一个解决方案了步骤1 EXP导出该用户所有对象(ROWS=N)步骤2 EXP导出该用户指定表的数据 可以 第二次imp的时候加个参数 ignore=y -- expdp 更灵活:(可以直接排除不要导出的表名) - *4) EXPDP排除部分对象的导出-- 前面提到在EXP中排除部他表的导出一直是比较困难的,但是在Oracle 10g中,Oracle的EXPDP增加了这个功能。-- 在EXPDP的帮助文件中,可以看到存在EXCLUDE和INCLUDE参数:EXCLUDE 排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。FILESIZE 以字节为单位指定每个转储文件的大小。FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN。FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间。FULL 导出整个数据库 (N)。HELP 显示帮助消息 (N)。INCLUDE 包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。-- 这两个参数分别用于指定排除或包含特定类型的数据,但是文档中介绍的命令格式存在问题,这两个参数的正确用法是:EXCLUDE = object_type[:name_clause] [, ...]INCLUDE = object_type[:name_clause] [, ...]expdp <other_parameters> SCHEMAS=scott EXCLUDE=SEQUENCE, TABLE:"IN ('EMP', 'DEPT')"impdp <other_parameters> SCHEMAS=scott INCLUDE=FUNCTION, PACKAGE, PROCEDURE, TABLE:"='EMP'"-- 其中,object_type可以同时定义多个对象类别,name_clause语句可以定义多个对象列表,通过示例可以很好地了解这两个参数的用法。-- 但是有了这些还不够,由于命令中包含了多个特殊字符,在不同操作系统下需要通过转义字符才能使以上命令顺利执行,下面通过实例来介绍一下这两个参数的使用。-- 以下是Solaris上Exclude参数的使用范例,需要通过转义字符“\”来将特殊字符转义:bash-2.03$ expdp \'/ as sysdba\' directory=DATA_PUMP_DIR \schemas=rman dumpfile=expdp_rman.dmp EXCLUDE=TABLE:\"IN\(\'DB\',\'TS\'\)\"-- expdp \'/ as sysdba\' directory=EXPDIR schemas=scott dumpfile=expdp_scott.dmp EXCLUDE=TABLE:\"IN\(\'EMP2\',\'EMP_BAK\'\)\"schemas=scott dumpfile=expdp_scott.dmp EXCLUDE=TABLE......-- 当然,最简单的方式仍然是将参数写入一个参数文件来调用,这样就可以避免复杂的参数转义,来看一下以下一个范例,首先定义一个参数文件:bash-2.0.3$ cat parfile.pardirectory=DATA_PUMP_DIRschemas=rmandumpfile=expdp_rman.dmpINCLUDE=TABLE:"IN('DB','TS')"-----------------------schemas=scottdumpfile=expdp_scott2.dmplogfile=expdp_scott2.logINCLUDE=TABLE:"IN('EMP','DEPT','SALGRADE')"-- 然后用这个参数文件执行导出:bash-2.0.3$ expdp \'/ as sysdba\' PARFILE=parfile.par......-- expdp \'/ as sysdba\' PARFILE=parfile.par-- 同样,EXPDP也支持通配符匹配的导出操作,例如,如下参数文件将导出表名中包含E字母的所有表:bash-2.03$ cat parfile.pardirectory=DATA_PUMP_DIRschemas=rmandumpfile=expdp_rman.dmpINCLUDE=TABLE:"LIKE '%E%'"-- 看一下执行过程:bash-2.03$ expdp \'/as sysdba\' PARFILE=parfile.par INCLUDE=TABLE:"LIKE '%E%'"-- 可以改成:EXCLUDE=TABLE:"IN('YOUR_TB')" EXPDP 太帅了 我去研究下 呵呵 请教!关于oracle的日志!~ 创建间隔分区表报错 怎样将日前型数据转换成字符串 触发器的错误提示为什么不能显示某个已经声明的参数? 肯请高手点拨数据库导入问题? 大家看看是不是oracle版本问题还是数据库参数问题,程序执行查询速度很慢 在ORACLE中怎么将表、视图、序列号的创建命令导出来? 各位老大救救命啊!关于授权 我只想用oracle作为后台数据库,没想成为DBA,懂这些够了吗? SQL*LOADER和程序中采用COMMIT的效率比较 oracle中如何查看data source 小问题.! 看看你能用几种办法解决
-- 前面提到在EXP中排除部他表的导出一直是比较困难的,但是在Oracle 10g中,Oracle的EXPDP增加了这个功能。-- 在EXPDP的帮助文件中,可以看到存在EXCLUDE和INCLUDE参数:EXCLUDE 排除特定的对象类型, 例如 EXCLUDE=TABLE:EMP。
FILESIZE 以字节为单位指定每个转储文件的大小。
FLASHBACK_SCN 用于将会话快照设置回以前状态的 SCN。
FLASHBACK_TIME 用于获取最接近指定时间的 SCN 的时间。
FULL 导出整个数据库 (N)。
HELP 显示帮助消息 (N)。
INCLUDE 包括特定的对象类型, 例如 INCLUDE=TABLE_DATA。-- 这两个参数分别用于指定排除或包含特定类型的数据,但是文档中介绍的命令格式存在问题,这两个参数的正确用法是:
EXCLUDE = object_type[:name_clause] [, ...]
INCLUDE = object_type[:name_clause] [, ...]expdp <other_parameters> SCHEMAS=scott EXCLUDE=SEQUENCE, TABLE:"IN ('EMP', 'DEPT')"
impdp <other_parameters> SCHEMAS=scott INCLUDE=FUNCTION, PACKAGE, PROCEDURE, TABLE:"='EMP'"-- 其中,object_type可以同时定义多个对象类别,name_clause语句可以定义多个对象列表,通过示例可以很好地了解这两个参数的用法。-- 但是有了这些还不够,由于命令中包含了多个特殊字符,在不同操作系统下需要通过转义字符才能使以上命令顺利执行,下面通过实例来介绍一下这两个参数的使用。-- 以下是Solaris上Exclude参数的使用范例,需要通过转义字符“\”来将特殊字符转义:
bash-2.03$ expdp \'/ as sysdba\' directory=DATA_PUMP_DIR \
schemas=rman dumpfile=expdp_rman.dmp EXCLUDE=TABLE:\"IN\(\'DB\',\'TS\'\)\"-- expdp \'/ as sysdba\' directory=EXPDIR schemas=scott dumpfile=expdp_scott.dmp EXCLUDE=TABLE:\"IN\(\'EMP2\',\'EMP_BAK\'\)\"
schemas=scott dumpfile=expdp_scott.dmp EXCLUDE=TABLE
......-- 当然,最简单的方式仍然是将参数写入一个参数文件来调用,这样就可以避免复杂的参数转义,来看一下以下一个范例,首先定义一个参数文件:
bash-2.0.3$ cat parfile.par
directory=DATA_PUMP_DIR
schemas=rman
dumpfile=expdp_rman.dmp
INCLUDE=TABLE:"IN('DB','TS')"-----------------------
schemas=scott
dumpfile=expdp_scott2.dmp
logfile=expdp_scott2.log
INCLUDE=TABLE:"IN('EMP','DEPT','SALGRADE')"
-- 然后用这个参数文件执行导出:
bash-2.0.3$ expdp \'/ as sysdba\' PARFILE=parfile.par......-- expdp \'/ as sysdba\' PARFILE=parfile.par-- 同样,EXPDP也支持通配符匹配的导出操作,例如,如下参数文件将导出表名中包含E字母的所有表:
bash-2.03$ cat parfile.par
directory=DATA_PUMP_DIR
schemas=rman
dumpfile=expdp_rman.dmp
INCLUDE=TABLE:"LIKE '%E%'"-- 看一下执行过程:
bash-2.03$ expdp \'/as sysdba\' PARFILE=parfile.par
-- 可以改成:
EXCLUDE=TABLE:"IN('YOUR_TB')"