命令方式

导出

如果入参(例如级别名称、账号、密码)出现空格或特殊字符(例如@.),记得请用""包裹

  • 假设 用户名 是John_Doe#123(包含下划线和井号作为特殊字符)
    dimp USERID="John_Doe#123/password@hostname:port" FILE=/path/to/export.dmp
  • 假设 密码 是P@ssw0rd!(包含@、s和!作为特殊字符)
    dimp USERID="user/P@ssw0rd!@hostname:port" FILE=/path/to/export.dmp

1.FULL(数据库级)

这个级别表示导出或导入整个数据库中的所有对象。
你会得到整个数据库的完整副本,包括所有的表、视图、索引、存储过程等。

在这里插入图片描述

例如:设置 FULL=Y,导出数据库的所有对象,导出数据库文件和日志文件放在路径 /mnt/data/dexp下。

#方式一(需指定位置)
# 先到达梦安装的bin目录下
cd /data/dm8/dmdbms/bin
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dexp

#方式二(远程连接)
dexp SYSDBA/SYSDBA@12.106.14.7:5236 FILE=db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dexp
  • USERID 参数用于指定连接数据库时使用的用户名和密码。
  • FILE 参数用于指定导出文件的路径和名称。
  • LOG 参数用于指定日志文件的路径和名称。
  • FULL 表示导出这个数据库。
  • DIRECTORY 用于存储导出文件的目录路径

2.OWNER(用户级)

这个级别允许你导出或导入一个或多个用户所拥有的所有对象。
在数据库中,用户通常与一组特定的表、视图、索引等对象相关联。

在这里插入图片描述

例如:设置 OWNER=USER01,导出用户 USER01 所拥有的对象全部导出。

#方式一(需指定位置)
# 先到达梦安装的bin目录下
cd /data/dm8/dmdbms/bin
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/mnt/data/dexp

#方式二(远程连接)
dexp SYSDBA/SYSDBA@12.106.14.7:5236 FILE=db_str.dmp LOG=db_str.log OWNER=USER01 DIRECTORY=/mnt/data/dexp
  • USERID 参数用于指定连接数据库时使用的用户名和密码。
  • FILE 参数用于指定导出文件的路径和名称。
  • LOG 参数用于指定日志文件的路径和名称。
  • OWNER 表示按用户进行导出。
  • DIRECTORY 用于存储导出文件的目录路径

3.SCHEMAS(模式级)

在数据库中,模式(SCHEMAS)是数据库对象的集合,这些对象归单个数据库用户所有,并且作为单个单元进行管理。
SCHEMAS级别允许你导出或导入一个或多个模式下的所有对象。

实际上SCHEMAS(模式级)就是导出 指定库 下面的所有对象(表、视图等等)

在这里插入图片描述

例如:设置 SCHEMAS=USER01,导出模式 USER01 模式下的所有对象。

#方式一(需指定位置)
# 先到达梦安装的bin目录下
cd /data/dm8/dmdbms/bin
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dexp

#方式二(远程连接)
dexp SYSDBA/SYSDBA@12.106.14.7:5236 FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01 DIRECTORY=/mnt/data/dexp
  • USERID 参数用于指定连接数据库时使用的用户名和密码。
  • FILE 参数用于指定导出文件的路径和名称。
  • LOG 参数用于指定日志文件的路径和名称。
  • SCHEMAS 表示按模式进行导出。
  • DIRECTORY 用于存储导出文件的目录路径

4.TABLES(表级)

这个级别允许你导出或导入一个或多个指定的表或表分区。这是导入和导出的最小单位。
TABLES 方式导出和导入一个或多个指定的表或表分区。导出所有数据行、约束、索引等信息

在这里插入图片描述

实际上TABLES(表级) 就是导出 指定表 下面的所有对象(数据行、约束等等)

例如:设置 TABLES=table1,table2,导出 table1,table2 两张表的所有数据和信息。

#方式一(需指定位置)
# 先到达梦安装的bin目录下
cd /data/dm8/dmdbms/bin
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dexp

#方式二(任意位置)
dexp SYSDBA/SYSDBA@12.106.14.7:5236 FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dexp
  • USERID 参数用于指定连接数据库时使用的用户名和密码。
  • FILE 参数用于指定导出文件的路径和名称。
  • LOG 参数用于指定日志文件的路径和名称。
  • TABLES 表示按表进行导出。
  • DIRECTORY 用于存储导出文件的目录路径

导入

如果入参(例如级别名称、账号、密码)出现空格或特殊字符(例如@.),记得请用""包裹

  • 假设 用户名 是John_Doe#123(包含下划线和井号作为特殊字符)
    dimp USERID="John_Doe#123/password@hostname:port" FILE=/path/to/export.dmp
  • 假设 密码 是P@ssw0rd!(包含@、s和!作为特殊字符)
    dimp USERID="user/P@ssw0rd!@hostname:port" FILE=/path/to/export.dmp

简洁操作

例如从A达梦库导出了模式级的DBDWS ,再把这个导入的B达梦库中
就直接使用以下命令即可

#dmp文件里面自带了信息(级别)
dimp SYSDBA/SYSDBA@12.106.14.7:5236 file="/data/POLICY3.0.dmp"

1.FULL(数据库级)

例如:FULL=Y,导入数据库,导入的数据库文件在 /mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。

#方式一(需指定位置)
# 先到达梦安装的bin目录下
cd /data/dm8/dmdbms/bin
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dimp

#方式二(任意位置)
dimp SYSDBA/SYSDBA@12.106.14.7:5236 FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y DIRECTORY=/mnt/data/dimp
  • USERID 参数用于指定连接数据库时使用的用户名和密码。
  • FILE 参数用于指定导出文件的路径和名称。
  • LOG 参数用于指定日志文件的路径和名称。
  • FULL 表示导出这个数据库。
  • DIRECTORY 导入的DMP文件或用于存放导入过程中生成的日志文件

2.OWNER(用户级)

例如:设置 OWNER=USER01,导入用户 USER01 所拥有的对象全部导出。导入的数据库文件在 /mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。

#方式一(需指定位置)
# 先到达梦安装的bin目录下
cd /data/dm8/dmdbms/bin
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log OWNER=USER01  DIRECTORY=/mnt/data/dimp

#方式二(任意位置)
dimp SYSDBA/SYSDBA@12.106.14.7:5236 FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log OWNER=USER01  DIRECTORY=/mnt/data/dimp

3.SCHEMAS(模式级)

例如:设置 SCHEMAS=USER01,导入模式 USER01 模式下的所有对象。导入的数据库文件在/mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。

#方式一(需指定位置)
# 先到达梦安装的bin目录下
cd /data/dm8/dmdbms/bin
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log SCHEMAS=USER01  DIRECTORY=/mnt/data/dimp

#方式二(任意位置)
dimp SYSDBA/SYSDBA@12.106.14.7:5236 FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log SCHEMAS=USER01  DIRECTORY=/mnt/data/dimp

4.TABLES(表级)

例如:TABLES=table1,table2,导入 table1,table2 两张表的所有数据和信息。导入的数据库文件在 /mnt/data/dexp,即将生成的日志文件放在 /mnt/data/dimp。

#方式一(需指定位置)
# 先到达梦安装的bin目录下
cd /data/dm8/dmdbms/bin
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dimp

#方式二(任意位置)
dimp SYSDBA/SYSDBA@12.106.14.7:5236 FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log TABLES=table1,table2 DIRECTORY=/mnt/data/dimp

跨模式导入

假设您的DMP文件是从一个名为DB_EDP_PS的模式导出的,
但是您希望在新的数据库中将这些对象放入DBDWS模式下,那么您就可以使用REMAP_SCHEMA参数来实现这个目的。

dimp SYSDBA/SYSDBA001@localhost:5236 file=DBDWS-1204.dmp directory=/home/dm-data-bak REMAP_SCHEMA="DB_EDP_PS":"DBDWS"

关键参数:REMAP_SCHEMA

参考文章
【1】达梦数据库备份导入导出方式
【2】达梦导出数据导入mysql 达梦数据库导出数据

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐