DM8 逻辑备份还原
逻辑导出(dexp)和逻辑导入(dimp)是 DM 数据库的两个命令行工具,分别用来实现对 DM 数据库的逻辑备份和逻辑还原。逻辑备份和逻辑还原都是在联机方式下完成,联机方式是指数据库服务器正常运行过程中进行的备份和还原 dexp 和 dimp 是 DM 数据库自带的工具,只要安装了 DM 数据库,就可以在 $INSTALL_PATH/bin目录中找到。
$INSTALL_PATH为安装目录
逻辑导出和逻辑导入数据库对象分为四种级别:数据库级、用户级、模式级和表级
四种级别独立互斥,不能同时存在,四种级别所提供的功能:
- 数据库级(FULL):导出或导入整个数据库中的所有对象
- 用户级(OWNER):导出或导入一个或多个用户所拥有的所有对象
- 模式级(SCHEMAS):导出或导入一个或多个模式下的所有对象
- 表级(TABLES):导出或导入一个或多个指定的表或表分区
1. dexp
dexp 工具可以对本地或者远程数据库进行数据库级、用户级、模式级和表级的逻辑备份dexp 工具名称有两种写法 dexp 和 dexpdp,两者区别在于:dexp 导出的文件必须存放在客户端,dexpdp 导出的文件必须存放在服务器端
使用dexpdp时如果客户端连接使用 dm_svc.conf 配置,服务器端应该跟客户端配置一致
1.1 dexp使用
dexp在安装目录 /$INSTALL_PATH/bin,输入 dexp 和参数后回车,参数在下一节详细介绍
语法如下:
dexp PARAMETER=<value> {
PARAMETER=<value> }
或
dexpdp PARAMETER=<value> {
PARAMETER=<value> }
PARAMETER:dexp 参数
参数USERID 必须置于首位,此外的多个参数之间排列顺序无影响,参数之间使用空格间隔
示例:
用户名为 SYSDBA,密码以“Dmsys_123”为例,实际运行中需要用户自行替换为数据库初始化时设定的密码。IP 地址为 192.168.0.248,端口号为 8888 的数据库采用 FULL 方式完全导出。
/user/data 为数字证书路径。导出文件名为 db_str.dmp,导出的日志文件名为 db_str.log,导出文件的路径为/mnt/dexp/data。
./dexp USERID=SYSDBA/Dmsys_123@192.168.0.248:8888#"{/user/data}" FILE=db_str.dmp
DIRECTORY=/mnt/dexp/data LOG=db_str.log FULL=Y
1.2 dexp参数一览表
每个参数含义后面的括号内为(N)则表示该参数缺省为否,为(Y)表示缺省为是;“()”内的值表示的是参数的缺省值
| 参数 | 含义 | 备注 |
|---|---|---|
| USERID | 数据库的连接信息 | 必选 |
| FILE | 明确指定导出文件名称 | 可选 |
| LOG | 明确指定日志文件名称 | 可选 |
| DIRECTORY | 导出文件所在目录 | 可选 |
| FULL | 导出整个数据库(N) | 可选,四者中选其一。缺省为SCHEMAS |
| OWNER | 用户名列表,导出一个或多个用户所拥有的所有对象 | |
| SCHEMAS | 模式列表,导出一个或多个模式下的所有对象 | |
| TABLES | 表名列表,导出一个或多个指定的表或表分区 | |
| FUZZY_MATCH | TABLES选项是否启用模糊匹配(N) | 可选 |
| QUERY | 用于指定对导出表的数据进行过滤的条件。 | 可选 |
| PARALLEL | 用于指定导出的过程中所使用的线程数目(16) | 可选 |
| TABLE_PARALLEL | 用于指定导出每张表所使用的线程数(8);在MPP模式下会转换成单线程 | 可选 |
| TABLE_POOL | 用于设置导出过程中存储表的缓冲区个数(8) | 可选 |
| EXCLUDE | 批量设置导出内容中忽略的对象。 1. EXCLUDE=[(]<对象种类名>{,<对象种类名>}[)] 对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES。2. EXCLUDE=TYPE:name1,name2 TYPE可为:SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。3. EXCLUDE=TYPE:cond{,TYPE:cond} TYPE可取值同上,cond为IN或LIKE过滤条件 |
可选 |
| INCLUDE | 批量设置导出时只导出指定的对象种类或某个具体对象。 1. INCLUDE=[(]<对象种类名>{,<对象种类名>}[)] 对象种类可为:CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES。2. INCLUDE=TYPE:name1,name2 TYPE可为SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE。3. INCLUDE=TYPE:cond{,TYPE:cond} TYPE可取值同上,cond为IN或LIKE过滤条件 |
可选 |
| TABLESPACE | 导出表空间/表空间组和表空间/表空间组存储选项(N) | 可选 |
| CONSTRAINTS | 导出约束 (Y) | 可选 |
| GRANTS | 导出权限 (Y) | |
| INDEXES | 导出索引 (Y) | |
| TRIGGERS | 导出触发器(Y) | |
| ROWS | 导出数据行 (Y) | |
| NOLOGFILE | 不使用日志文件(N) | 可选 |
| NOLOG | 屏幕上不显示日志信息(N) | 可选 |
| LOG_WRITE | 日志信息实时写入文件 (N) | 可选 |
| DUMMY | 设置交互信息处理方式(P:打印) | 可选 |
| PARFILE | 参数文件名,如果dexp的参数很多,可以存成参数文件 | 可选 |
| FEEDBACK | 每 x 行显示进度 (0) | 可选 |
| COMPRESS | 是否压缩导出数据文件(N) | 可选 |
| COMPRESS_LEVEL | 导出数据压缩等级(1)。取值范围0~9 | 可选 |
| ENCRYPT | 导出数据是否加密 (N) | 可选, |
| ENCRYPT_PASSWORD | 导出数据的加密密钥 | 和ENCRYPT同时使用 |
| ENCRYPT_NAME | 导出数据的加密算法 | 可选。和ENCRYPT、ENCRYPT_PASSWORD同时使用。缺省为RC4 |
| FILESIZE | 用于指定单个导出文件大小的上限。可以按字节[B]、K[B]、M[B]、G[B]的方式指定大小 | 可选 |
| FILENUM | 多文件导出时,一个模板可以生成的文件数(99)。取值范围1~99 | 可选 |
| DROP | 导出后删除原表,但不级联删除 (N) | 可选 |
| DESCRIBE | 导出数据文件的描述信息,记录在数据文件中 | 可选 |
| FLASHBACK_SCN | 用于指定导出表数据的闪回LSN,和FLASHBACK_TIME一起使用时只有一个能生效,参数位置靠后的生效 | 可选 |
| FLASHBACK_TIME | 用于指定导出表数据的闪回时间,和FLASHBACK_SCN一起使用时只有一个能生效,参数位置靠后的生效 | 可选 |
| COL_DEFAULT_SEPARATE | 是否单独导出列(Y) | 可选 |
| WITH_UR | 导出表数据是否允许脏读(N) | 可选 |
| SIMPLE_LOG | 导出日志是否使用简要日志(N) | 可选 |
| CTRL_INFO | 控制信息用来控制一些特殊情况导出(0) | 可选 |
| CONFIG_FILE | 配置文件路径,配置默认连接串和密码信息 | 可选 |
| FILE_VERSION | 用于指定导出的dmp文件的逻辑版本,有效范围9~28 | 可选 |
| HELP | 显示帮助信息 | 可选 |
1.3 dexp参数详解
-
USER_ID:
{ {<username>[/<password>]} | /}:<username>[/<password>]为用户名和密码。普通登录方式时用户名必写,密码为 dminit 初始化时,系统强制要求设置的登陆口令本文档中以“Dmsys_123”为示例密码,实际运行中需要用户自行替换为数据库初始化时设定的密码。/表示采用操作系统身份验证方式登录或利用 wallet 文件登录。采用操作系统身份验证方式登录时无需指定用户名和密码,即使指定也会被忽略。利用 wallet 文件登录时,dm_svc.conf 文件中的配置项 WALLET_LOCATION 必须非空,客户端会通过用户输入的服务名以及 WALLET_LOCATION 配置项指定的 wallet 文件路径自动获取 wallet 文件中服务名所对应的用户名和密码,因此用户无需输入用户名和密码,若用户输入了用户名和密码,则优先使用用户输入的用户名和密码登录数据库
<svc_name>:服务名。服务名在 dm_svc.conf 中配置。dm_svc.conf 的配置请参考《DM8 系统管理员手册》。
<host>[:<port>]:服务器 IP 地址和端口号。缺省情况下默认为本地服务器和端口号 localhost:5236。当服务器为本机时,host 参数可直接写 localhost。当连接其他服务器时,host:port 需写上 ip 地址和端口号 portnum,例如:192.168.0.248:8888。 -
FILE:
FILE 用于明确指定导出的文件(可以包含路径),可以包含多个文件,用逗号分隔,其中文件名不能包含特殊符号(\、/、:、*、?、"、<、>、|)。可选参数,如果不设置 FILE 参数(来明确指定导出文件名称),那么 dexp 默认导出文件名称为 dexp.dmp,dexpdp 默认导出文件名称为 dexpdp.dmp
文件也可以在生成过程中自动扩展成多个。
文件名需要包含通配符 %U,用于作为自动扩充文件的文件名模板,%U 表示为 2 个字符宽度的数字,由系统自动生成,起始为 01,可以使用 FILESIZE 参数来指定文件的大小。
如果FILE指定的文件包含生成路径,则忽略DIRECTORY中的路径;
如果FILE没有指定路径时,使用DIRECTORY中指定的路径;
如果FILE和DIRECTORY都没有指定路径,则使用系统当前路径。 -
LOG:
LOG 用于明确指定导出过程产生的日志文件名称(可以包含路径),可以包含多个文件,用逗号分隔,其中文件名不能包含特殊符号(\、/、:、*、?、"、<、>、|)
如果LOG指定的文件包含生成路径,则忽略DIRECTORY中的路径;
如果LOG没有指定路径时,使用DIRECTORY中指定的路径;
如果LOG和DIRECTORY都没有指定路径,则使用系统当前路径。和LOG相关参数:
- NOLOGFILE=Y 用于设置不使用日志文件
- NOLOG=Y 用于设置不在屏幕上显示日志信息
- LOG_WRITE=Y 用于设置日志的实时打印(到日志文件)功能
-
DIRECTORY:
DIRECTORY 用于指定导出文件及日志文件生成的路径
FILE和LOG中指定的路径,优先级高于DIRECTORY中指定的路径
当FILE和LOG不指定路径时,才使用DIRECTORY指定的路径
如果都没有指定路径,则使用系统当前路径
-
四种级别导出:
针对数据库对象,有 FULL、OWNER、SCHEMAS、TABLES 四种导出方式可供选择
一次导出只能指定一种方式,默认为 SCHEMAS
注: 无论哪种级别的导出方式,当涉及索引导出时,位图连接索引和虚索引不会被导出
-
FUZZY_MATCH:
FUZZY_MATCH 用于指定 TABLES 选项是否开启模糊匹配,可选参数,缺省为 N
N:TABLES 选项不强制开启模糊匹配,根据所指定的表名来自动识别是否进行模糊匹配,缺省值;
Y:TABLES 选项强制开启模糊匹配,指定的表名与数据库中的表名采用 LIKE 模糊查询匹配
示例:
导出 OTHER 模式下以"R"开头的表。
./dexp USERID=SYSDBA/Dmsys_123 FILE=db_str.dmp LOG=db_str.log TABLES=OTHER.R% FUZZY_MATCH=Y -
PARALLEL:
PARALLEL 用于指定导出的过程中所使用的线程数目,配置为cpu核数或核数+1最佳,默认为16
-
TABLE_PARALLEL:
TABLE_PARALLEL 用于指定导出每张表所使用的线程数
-
EXCLUDE:
EXCLUDE用来批量设置导出时忽略的对象
语法如下:
EXCLUDE=[(]<对象种类名>{ ,<对象种类名>}[)] < 对象种类名 >:包括 CONSTRAINTS、INDEXES、ROWS、TRIGGERS、GRANTS 、VIEWS、PROCEDURE、PACKAGE、SEQUENCE、TABLES。例如:EXCLUDE=(CONSTRAINTS,INDEXES) 或 EXCLUDE=TYPE: name1,name2 TYPE:包括 SCHEMAS、TABLES、VIEWS、PROCEDURE、PACKAGE、SEQUENCE 或 EXCLUDE=TYPE:cond{ ,TYPE:cond} cond:过滤条件,包括 IN、LIKE、NOT IN、NOT LIKE、BETWEEN AND、>、<、=、>=、 <=、<>、!=注: 如果导出方式为TABLES表级或SCHEMAS模式级导出时,EXCLUDE=SCHEMAS:<模式名>{,<模式名>}排除模式不起作用。
示例:
不导出以“TEMP”开头的表,并且不导出 TEST1 表
./dexp SYSDBA/Dmsys_123 FILE=/mnt/data/db_str.dmp LOG=db_str.log

最低0.47元/天 解锁文章
390

被折叠的 条评论
为什么被折叠?



