1. dexp 逻辑导出
dexp 工具可以对本地或远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。可选择是否备份索引、数据行和权限,是否忽略各种约束(外键约束、非空约束、唯一约束等),备份前还可以选择生成日志文件,记录备份的过程供查看。
dexp 工具名称有两种写法 dexp 和 dexpdp。语法完全相同。唯一区别在于,dexp 导出的文件必须存放在客户端,dexpdp 导出的文件必须存放在服务器端。
工具位置:安装目录 /dmdbms/bin,
参数及意义:
USERID 用于指定数据库的连接信息。必选参数。
FILE 用于明确指定导出的文件(可以包含路径),可以包含多个文件,用逗号分隔。可选参数,如果不选用FILE参数(来明确指定导出文件名称),那么默认导出文件名称为dexp.dmp。
LOG 用于明确指定导出的日志文件名称(可以包含路径),可以包含多个文件,用逗号分隔。可选参数。如果不选用 LOG 参数(来明确指定日志文件名称),那么默认导出日志文件名称为 dexp.log。
DIRECTORY 用于指定导出文件及日志文件生成的路径。可选参数,缺省为导出到 dexp 所在路径。
针对数据库对象,有FULL、OWNER、SCHEMAS、TABLES四种导出方式可供选择。一次导出只能指定一种方式。可选参数,缺省为SCHEMAS。
FULL=Y OWNER=<用户名>{,<用户名>} SCHEMAS=<模式名>{,<模式名>}
TABLES=<表名>{,<表名>}
参数见./dexp help
./dexp SYSDBA/SYSDBA\@192.168.0.248:5236 FILE=dexp.dmp LOG=dexp.log DIRECTORY=/dmdata/dexp FULL=Y
2.dimp 逻辑导入
dimp工具名称有两种写法dimp和dimpdp。两者语法完全相同。唯一的区别在于,dimp导入的文件必须存放在客户端,dexpdp导入的文件必须存放在服务器端。
工具位置:安装目录 /dmdbms/bin,
参数及意义:
USERID 用于指定数据库的连接信息。必选参数。
LOG 用于明确指定导入的日志文件名称(可以包含路径),可以包含多个文件,用逗号分隔。可选参数。如果不选用 LOG 参数(来明确指定日志文件名称),那么默认导入日志文件名称为 dimp.log。
DIRECTORY 用于指定导入文件及日志文件生成的路径。可选参数,缺省为导出到 dimp 所在路径。
针对数据库对象,有FULL、OWNER、SCHEMAS、TABLES四种导入方式可供选择。一次导入只能指定一种方式。可选参数,缺省为SCHEMAS。
FULL=Y OWNER=<用户名>{,<用户名>} SCHEMAS=<模式名>{,<模式名>}
TABLES=<表名>{,<表名>}
PARALLEL用于指定导入的过程中所使用的线程数目。可选参数,缺省为单线程。如果CPU核数为N的话,那一般来说PARALLEL为N或者N+1最合适。
TABLE_PARALLEL在FAST_LOAD为Y时有效,用于指定导入每张表所使用的线程数。可选参数,缺省为单线程。如果CPU核数为N的话,那一般来说TABLE_PARALLEL为N或者N+1最合适。在MPP模式下会转换成单线程。
IGNORE指定忽略创建数据库对象(表、类、java 类、domain、sequence、
comment、view、synonym、trigger、package、dblink、user、存储过程/函数、role对象创建、权限授权语句、索引、约束等)错误。可选参数。缺省为N,不忽略。
TABLE_EXISTS_ACTION用于要导入的表已经存在时的处理方式。默认为直接报错。
SKIP:跳过此表。
APPEND:直接向现有表中导入数据
TRUNCATE:先删除现有表中的数据,再向表中导入数据
REPLACE:先删除现有表,再导数据
参数见./dimp help
./dimp SYSDBA/SYSDBA\@192.168.0.1:5236 FILE=/dmdata/dexp/dexp.dmp LOG=dimp.log DIRECTORY=/dmdata/dimp SCHEMAS=SYSDBA