达梦数据库逻辑备份(dexpdimp)介绍
达梦数据库中dexp/dimp⼯具可⽤于对数据进⾏迁移。dimp命令⽤于把dmp⽂件从本地导⼊到远程数据库服务器,⽽dexp命令则是把数据从远程数据库服务器导出到本地的dmp⽂件。其功能相当于dm数据库的逻辑备份与还原。利⽤dimp/dexp⼯具可以轻松的实现对数据库的迁移⼯作,甚⾄是跨平台的数据库迁移。
达梦数据库⽀持库级,模式级,⽤户级和表级导⼊导出。下⾯整理常⽤的4种级别的导⼊导出使⽤⽅法。
⼀、导出
格式: ./dexp KEYWORD=value 或 KEYWORD=(value1,value2,…,valueN)
例程: ./dexp SYSDBA/SYSDBA GRANTS=Y TABLES=(SYSDBA.TAB1,SYSDBA.TAB2,SYSDBA.TAB3)
USERID 必须是命令⾏中的第⼀个参数
关键字说明(默认值)
USERID⽤户名/⼝令 格式:USER/PWD*MPP_TYPE@SERVER:PORT#SSLPATH@SSLPWD
FILE导出⽂件 (dexp.dmp)
DIRECTORY导出⽂件所在⽬录
FULL整库导出 (N)
OWNER以⽤户⽅式导出 格式 (user1,user2,…)
SCHEMAS以模式⽅式导出 格式 (schema1,schema2,…)
TABLES以表⽅式导出 格式 (table1,table2,…)
FUZZY_MATCH TABLES选项是否⽀持模糊匹配 (N)
QUERY⽤于导出表的⼦集的select ⼦句
PARALLEL⽤于指定导出的过程中所使⽤的线程数⽬
TABLE_PARALLEL⽤于指定导出的过程中表内的并发线程数⽬,MPP模式下会转换成单线程TABLE_POOL⽤于指定表的缓冲区个数
EXCLUDE 忽略指定的对象 格式:EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or EXCLUDE=TABLES:table1,table2 or EXCLUDE=SCHEMAS:sch1,sch2
INCLUDE 包含指定的对象 格式:INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or
INCLUDE=TABLES:table1,table2
CONSTRAINTS导出约束 (Y)
TABLESPACE导出对象带有表空间 (N) GRANTS导出权限 (Y)
INDEXES导出索引 (Y)
TRIGGERS导出触发器 (Y) ROWS导出数据⾏ (Y)
LOG屏幕输出的⽇志⽂件
NOLOGFILE不使⽤⽇志⽂件(N) NOLOG屏幕上不显⽰⽇志信息(N)
LOG_WRITE⽇志信息实时写⼊⽂件: 是(Y),否(N)
DUMMY交互信息处理: 打印(P),所有交互都按YES处理(Y),NO(N)
PARFILE参数⽂件名
关键字说明(默认值)
FEEDBACK每 x ⾏显⽰进度 (0)
COMPRESS导出数据是否压缩 (N)
ENCRYPT导出数据是否加密 (N)
ENCRYPT_PASSWORD导出数据的加密密钥
ENCRYPT_NAME加密算法的名称
FILESIZE每个转储⽂件的最⼤⼤⼩
FILENUM⼀个模板可以⽣成的⽂件数
DROP导出后删除原表,但不级联删除 (N)
DESCRIBE导出数据⽂件的描述信息,记录在数据⽂件中
LOCAL MPP模式下登录使⽤MPP_LOCAL⽅式(N)
HELP打印帮助信息
1、 整库导出
[dmdba@dm7 ~]$ dexp USERID=sysdba/dameng123@localhost:5236 file=dexp.dmp DIRECTORY=/dm7 FULL=y
2、 基于模式导出
[dmdba@dm7 ~]$ dexp USERID=sysdba/dameng123@localhost:5236 file=dmhr.dmp DIRECTORY=/dm7 SCHEMAS=DMHR
3、 基于⽤户导出
[dmdba@dm7 ~]$ dexp USERID=sysdba/dameng123@localhost:5236 file=test.dmp DIRECTORY=/
dm7 OWNER=TEST
4、 基于表导出
[dmdba@dm7 ~]$ dexp USERID=sysdba/dameng123@localhost:5236 file=test1.dmp DIRECTORY=/dm7 st1
⼆、导⼊
格式: ./dimp KEYWORD=value 或 KEYWORD=(value1,value2,…,vlaueN)
例程: ./dimp SYSDBA/SYSDBA IGNORE=Y ROWS=Y FULL=Y
USERID 必须是命令⾏中的第⼀个参数
关键字说明(默认值)
USERID⽤户名/⼝令 格式:USER/PWD*MPP_TYPE@SERVER:PORT#SSLPATH@SSLP
WDFILE导⼊⽂件名称 (dexp.dmp)
DIRECTORY导⼊⽂件所在⽬录
FULL整库导⼊ (N)
OWNER以⽤户⽅式导⼊ 格式 (user1,user2,…)
SCHEMAS以模式⽅式导⼊ 格式 (schema1,schema2,…)
TABLES以表名⽅式导⼊ 格式(table1,table2,…)
PARALLEL⽤于指定导⼊的过程中所使⽤的线程数⽬TABLE_PARALLEL⽤于指定导⼊的过程中每个表所使⽤的⼦线程数⽬,在FAST_LOAD为Y时有效IGNORE忽略创建错误 (N)
TABLE_EXISTS_ACTION需要的导⼊表在⽬标库中存在时采取的操作[SKIP APPEND TRUNCATE REPLACE]关键字说明(默认值)
FAST_LOAD是否使⽤dmfldr来导数据(N)
FLDR_ORDER使⽤dmfldr是否需要严格按顺序来导数据(Y)
COMMIT_ROWS批量提交的⾏数(5000)
EXCLUDE忽略指定的对象 格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANT
S)
GRANTS导⼊权限 (Y)
CONSTRAINTS导⼊约束 (Y)
INDEXES导⼊索引 (Y)
TRIGGERS导⼊触发器 (Y)
ROWS导⼊数据⾏ (Y)
LOG指定⽇志⽂件
NOLOGFILE不使⽤⽇志⽂件(N)
NOLOG屏幕上不显⽰⽇志信息(N)
LOG_WRITE⽇志信息实时写⼊⽂件(N): 是(Y),否(N)
DUMMY交互信息处理(P): 打印(P), 所有交互都按YES处理(Y),NO(N)
PARFILE参数⽂件名
FEEDBACK每 x ⾏显⽰进度 (0)
COMPILE编译过程, 程序包和函数… (Y)
INDEXFILE将表的索引/约束信息写⼊指定的⽂件
INDEXFIRST导⼊时先建索引(N)
REMAP_SCHEMA格式(SOURCE_SCHEMA:TARGET_SCHEMA) 将SOURCE_SCHEMA中的数据导⼊到TARGET_SCHEMA中ENCRYPT_PASSWORD数据的加密密钥
ENCRYPT_NAME加密算法的名称
SHOW/DESCRIBE打印出指定⽂件的信息(N)
LOCAL MPP模式下登录使⽤MPP_LOCAL⽅式(N)
TASK_THREAD_NUMBER⽤于设置dmfldr处理⽤户数据的线程数⽬
BUFFER_NODE_SIZE⽤于设置dmfldr读⼊⽂件缓冲区⼤⼩
TASK_SEND_NODE_NUMBER⽤于设置dmfldr发送节点个数[16,65535]
LOB_NOT_FAST_LOAD如果⼀个表含有⼤字段,那么不使⽤dmfldr,因为dmfldr是⼀⾏⼀⾏提交的
PRIMARY_CONFLICT主键冲突的处理⽅式[IGNORE
TABLE_FIRST是否先导⼊表(N):是(Y),否(N)
HELP打印帮助信息
1、 整库导⼊
[dmdba@dm7 ~]$ dimp USERID=sysdba/dameng123@localhost:5236 file=dexp.dmp DIRECTORY =/dm7 FULL=y
2、 导⼊⽤户
3、 导⼊表
[dmdba@dm7 ~]$ dimp USERID=sysdba/dameng123@localhost:5236 file=test1.dmp DIRECTORY=/dm7 st1 4、 基于模式导⼊
[dmdba@dm7 ~]$ dimp USERID=sysdba/dameng123@localhost:5236 file=dmhr.dmp DIRECTORY=/dm7 SCHEMAS=DMHR
周期性的逻辑备份可以使⽤系统的定时计划任务执⾏特定的备份脚本,⽐如每周六23点导出特定模式,可以灵活使⽤
#!/bin/bash
THISDAY=$(date +%Y%m%d)
BASEDIR='/dm7'
dexp USERID=sysdba/dameng123@localhost:5236 file=$THISDAY.dmp DIRECTORY=$BASEDIR
xp提交更改FULL=y
[dmdba@dm7 ~]$ crontab -l
00 23 * * 6 sh /dm7/bak.sh
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论