DEXP/DIMP功能
DEXP和DIMP是DM数据库的两个命令行工具,分别用来实现DM数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原必须在联机状态下使用,即数据库服务器正常运行。逻辑导出和逻辑导入分为四个级别。四种级别独立互斥、不能同时存在。
四类级别
表级(TABLES):导出或导入一个或多个指定的表或表分区
数据库级(FULL):导出或导入整个数据库的所有对象
用户级(OWNER):导出或导入一个或多个用户所拥有的对象
模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象
DEXP逻辑导出
DEXP工具可对本地或远程数据库进行数据库级、用户级、模式级和表级的逻辑备份。备份内存可选择是否备份索引、数据行和权限,是否忽略各种约束,在备份前可选择生成日志文件,记录备份过程。
1、DEXP使用
1)dexp命令位置
DEXP工具要从命令行启动。工具在DM安装目录 /dmdbms/bin 目录下
2)dexp参数查看
[dmdba@dm bin]$ dexp help
2、必选参数
1)USERID
USERID用户指定数据库的连接信息。
2)FILE
FILE用于明确指定导出的文件,文件可包含路径,可包含多个文件,多个文件之间需用逗号隔开。若未明确指定导出文件名称,则默认导出文件名称为dexp.dmp 。
3)LOG
LOG用于明确指定导出过程产生的日志文件名称,文件可包含路径,可包含多个文件,多个文件之间需用逗号隔开。若未明确指定日志文件名称,则默认导出日志文件名称为dexp.log。导出日志记录了导出的整个过程信息和导出对象的统计信息。
4)DIRECTORY
Directory用于指定导出文件以及日志文件生成的路径。
若file 指定文件包含生成路径,则忽略directory参数中的路径。若file没有指定路径,则使用directory中的路径。若file和directory都没有指定路径,则使用系统当前路径。
若log指定文件包含生成路径,则忽略directory参数中的路径。若log没有指定路径,则使用directory中的路径。若log和directory都没有指定路径,则使用系统当前路径。
FILE和LOG中指定的路径,优先级高于directory 中指定的路径。
3、导出方式
1)FULL
FULL方式导出数据库所有对象。
—全库导出测试
dexp sysdba/dameng123 file=full_test.dmp log=full_test.log full=y directory=/dmbak/dexp
2)OWNER
OWNER方式导出一个或多个用户拥有的对象。
—用户导出测试
dexp sysdba/dameng123 file=owner_test.dmp log=owner_test.log owner=sysdba directory=/dmbak/dexp
注:使用owner方式导出,会将owner用户下的所有schemas模式导出
3)SCHEMAS
SCHEMAS方式导出一个或多个模式下的所有对象。
通常情况下,OWNER与SCHEMAS导入导出是相同的。但OWNER可以包含多个SCHEMAS,该情况下,SCHEMAS是OWNER导入导出的子集。
—模式导出测试
dexp sysdba/dameng123 file=schema_test.dmp log=schema_test.log schemas=sysdba directory=/dmbak/dexp
4)TABLES
TABLES方式导出和导入一个或多个指定的表或分区表。导出所有数据行、约束、索引等信息。
—表导出测试
dexp sysdba/dameng123 file=table_test.dmp log=table_test.log tables=sysdba.test0522,sysdba.test10 directory=/dmbak/dexp
DIMP逻辑导入
DIMP逻辑导入工具利用DEXP工具生成的备份文件对本地或远程的数据库进行联机逻辑还原。DIMP导入是DEXP导出相反过程。还原的方式可以进行选择,可以忽略对象存在而导致的创建错误、是否导入约束、是否导入索引、导入时是否需要编译、是否生成日志等。
1、DIMP使用
1)dimp命令位置
DIMP工具要从命令行启动。工具在DM安装目录 /dmdbms/bin 目录下
2)dimp参数查看
[dmdba@dm bin]$ dimp help
2、必选参数
1)USERID
USERID用户指定数据库的连接信息。
2)FILE
FILE用于指定明确导入dexp导出的文件。
3)LOG
LOG用于明确指定导入过程产生的日志文件名称,文件可包含路径,可包含多个文件,多个文件之间需用逗号隔开。若未明确指定日志文件名称,则默认导出日志文件名称为dexp.log。导入日志记录了导入的整个过程信息和导出对象的统计信息。
4)DIRECTORY
Directory用于指定导入文件以及日志文件生成的路径。
若file 指定文件包含生成路径,则忽略directory参数中的路径。若file没有指定路径,则使用directory中的路径。若file和directory都没有指定路径,则使用系统当前路径。
若log指定文件包含生成路径,则忽略directory参数中的路径。若log没有指定路径,则使用directory中的路径。若log和directory都没有指定路径,则使用系统当前路径。
FILE和LOG中指定的路径,优先级高于directory 中指定的路径。
3、导入方式
1)TABLES
TABLES方式导入一个或多个指定的表或表分区。导入所有数据行、约束、索引等信息。
—导入测试
dimp sysdba/dameng123 file=table_test.dmp log=table_imp.log tables=sysdba.test0522 directory=/dmbak/dexp
当目标端存在相同的表时,在没有其他参数的设置下会导致导入报错。可以通过TABLE_EXISTS_ACTION参数来操作
dimp sysdba/dameng123 file=table_test.dmp log=table_imp.log tables=sysdba.test0522 directory=/dmbak/dexp TABLE_EXISTS_ACTION=replace
2)SCHEMAS
SCHEMAS方式导入一个或多个模式下的所有对象。
—导入测试
dimp sysdba/dameng123 file=owner_test.dmp log=schema_imp.log schemas=test1,test2 directory=/dmbak/dexp
注:该测试所用的dmp文件为以owner方式导出的dmp文件,以owner方式导出,包含了目标owner下的所有模式,所以可以用来恢复schema
同table表的导入一样,若目标表已经存在,则目标表会提示导入失败
3)OWNER
OWNER方式导入一个或多个用户拥有的所有对象。
—用户导入测试
dimp sysdba/dameng123 file=owner_test.dmp log=owner_imp.log owner=sysdba directory=/dmbak/dexp
因为以FULL方式dexp导出包含了数据库中的所有对象,所以通过全库的dmp备份可以用来恢复指定owner。
dimp sysdba/dameng123 file=full_test.dmp log=owner_imp2.log owner=sysdba directory=/dmbak/dexp
4)FULL
FULL方式导入整个数据库
—全库导入测试
dimp sysdba/dameng123 file=full_test.dmp log=full_imp.log full=y directory=/dmbak/dexp
社区地址:https://eco.dameng.com