图木舒克市网站建设_网站建设公司_交互流畅度_seo优化
2025/12/26 21:49:09 网站建设 项目流程

背景:

应用运行时间久了,两个库的数据差异较大,影响部分场景的测试验证工作。故需要将库秦迁移覆盖一下。

思路:

1、从原库A通过dexp方式导出数据文件(以用户的方式)。

2、在导入的库B新建用户及表空间,并赋权。

说明:因为业务还在跑,且数据库由空间,故现导如进来,数据处理完再切换数据源。

3、在B库通过dimp方式导入数据文件(以用户的方式)。

4、登录B库验证库及数据是否有问题。

开干:

1、从原库A通过dexp方式导出数据文件(可选一个相对空闲的节点操作)。

新建需要放置导出的文件目录。

执行导出语句
[qw@dsc2 ~]$ sudo -i [qw@dsc2:/root]# su - dmdba [dmdba@dsc2:/home/dmdba]$ mkir /dmbak/dmp [dmdba@dsc2:/home/dmdba]$ cd /dmbak/dmp [dmdba@dsc2:/dmbak/dmp]$ ll 总用量 0 [dmdba@dsc2:/dmbak/dmp]$ [dmdba@dsc2:/dmbak/dmp]$ cd /data/dmdbms/bin [dmdba@dsc2:/data/dmdbms/bin]$ nohup ./dexp SYSDBA/'"*********"'@127.0.0.1:15236 FILE=/dmbak/dmp/exp_****.dmp OWNER=USER COMPRESS=Y LOG_WRITE=Y LOG=/dmbak/dmp/exp_*****.log &

确认导出无报错,且文件完整可用。

2、在导入的库B新建用户及表空间,并赋权。

--创建表空间及用户 CREATE TABLESPACE ***** DATAFILE '+DMDATA/data/DSC/DAMENG/******.DBF' SIZE 102400 AUTOEXTEND ON NEXT 1024 MAXSIZE 0; create user ******** identified by "*******" DEFAULT TABLESPACE ******; grant public,resource,soi,vti to *****; --验证信息 SELECT * FROM V$TABLESPACE; SELECT * FROM DBA_USERS; --在达梦中,通常创建用户后模式会自动创建。你可以查询一下确认: SELECT * FROM DBA_SCHEMAS WHERE SCHNAME = '****'; --DROP USER MDMPOC CASCADE;

3、在B库通过dimp方式导入数据文件。

将A库导出的数据文件scp传输到B库,并建立相关目录。

执行SQL(可选一个相对空闲的节点操作)
nohup ./dimp SYSDBA/'"******"'@127.0.0.1:15236 FILE=/dmbak/dmp/exp_*****.dmp LOG=/dmbak/dmp/imp_******.log REMAP_SCHEMA=****:**** LOG_WRITE=Y &

确认导入日志文件无明显报错,不影响使用,导入完成。

4、登录B库验证库及数据是否有问题。

至此,完成数据的导出及导入。

总结:

我们的配置较高(128C1024G),整体达到预计,且未对业务造成明显的影响。

类型大小(启用压缩)耗时 s耗时 minCPU内存
dexp74G4564.164 s76.0720C50G
dimp74G12663.426 s211.0610c30G

学习说明:

导出:

nohup ./dexp SYSDBA/'"*********"'@127.0.0.1:15236 FILE=/dmbak/dmp/exp_****.dmp OWNER=USER COMPRESS=Y LOG_WRITE=Y LOG=/dmbak/dmp/exp_*****.log

1、尽量使用有dba账号权限的,避免无端的报错。

2、COMPRESS=Y 启用压缩,会消耗资源,但是文件明显小不少,使用默认的压缩比就可以。

3、LOG_WRITE=Y 实时输出日志到日志文件 本人第一次执行发现日志文件没记录,发现缺少这个参数。

导入:

nohup ./dimp SYSDBA/'"******"'@127.0.0.1:15236 FILE=/dmbak/dmp/exp_*****.dmp LOG=/dmbak/dmp/imp_******.log REMAP_SCHEMA=****:**** LOG_WRITE=Y &

1、注意这里的SCHEMA 如果schema一样,就不用写了

参数说明(重点关注标红的即可,其他保持默认)

./dexp help

[dmdba@dsc3:/data/dmdbms/bin]$ ./dexp help
dexp V8
version: 03134284368-20251212-306679-20149 Pack51
file_version: 29
格式: ./dexp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

例程: ./dexp SYSDBA/SYSDBA GRANTS=Y TABLES=(SYSDBA.TAB1,SYSDBA.TAB2,SYSDBA.TAB3)

USERID 必须是命令行中的第一个参数

关键字 说明(默认值)
--------------------------------------------------------------------------------
USERID 用户名/口令
格式: {<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]
参数:
<connect_identifier> ::= [<svc_name> | host[:port] | <unixsocket_file>]
<option> ::= #{<extend_option>=<value>[,<extend_option>=<value>]...}
<os_auth> ::= AS { SYSDBA | SYSSSO | SYSAUDITOR | USERS | AUTO }
示例: SYSDBA/SYSDBA@192.168.1.64:5236
注意: option参数的{}是为了封装参数之用,书写时需要保留
FILE 导出文件 (dexp.dmp)
DIRECTORY 导出文件所在目录
FULL 整库导出 (N)
OWNER 以用户方式导出 格式 (user1,user2,...)
SCHEMAS 以模式方式导出 格式 (schema1,schema2,...)
TABLES 以表方式导出 格式 (table1,table2,...)

FUZZY_MATCH TABLES选项是否支持模糊匹配 (N)
QUERY 用于导出表的过滤条件
格式 QUERY=[[schema1.]table1:]cond,[[schema2.]table2:]cond,...
PARALLEL 用于指定导出的过程中所使用的线程数目(1-100, 默认16)
TABLE_PARALLEL 用于指定导出的过程中表内的并发线程数目,MPP模式下会转换成单线程(1-50, 默认8)
TABLE_POOL 用于指定表的缓冲区个数(1-20, 默认8)
EXCLUDE 忽略指定的对象
格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE,TABLES) or
EXCLUDE=TYPE:name1,name2 or
EXCLUDE=TYPE:cond,TYPE:cond
TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE
INCLUDE 包含指定的对象
格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE,TABLES) or
INCLUDE=TYPE:name1,name2 or
INCLUDE=TYPE:cond,TYPE:cond
TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE
CONSTRAINTS 导出约束 (Y)
TABLESPACE 导出表空间、表空间组定义和对象的表空间、表空间组存储项 (N)
GRANTS 导出权限 (Y)
INDEXES 导出索引 (Y)
TRIGGERS 导出触发器 (Y)
ROWS 导出数据行 (Y)
LOG 屏幕输出的日志文件
NOLOGFILE 不使用日志文件(N)
NOLOG 屏幕上不显示日志信息(N)
LOG_WRITE 日志信息实时写入文件(N)
DUMMY 交互信息处理(P): 打印(P),��有交互都按YES处理(Y),所有交互都按NO处理(N)
PARFILE 参数文件名
FEEDBACK 每 x 行显示进度 (0)
COMPRESS 导出数据是否压缩 (N)
COMPRESS_LEVEL 导出数据压缩等级 (0-9 默认1)
ENCRYPT 导出数据是否加密 (N)
ENCRYPT_PASSWORD 导出数据的加密密钥
ENCRYPT_NAME 加密算法的名称
FILESIZE 每个转储文件的最大大小
FILENUM 一个模板可以生成的文件数(1-99, 默认99)
DROP 导出后删除原表,但不级联删除 (N)
DESCRIBE 导出数据文件的描述信息,记录在数据文件中
COL_DEFAULT_SEPARATE 是否单独导出列默认值 (Y)
WITH_UR 是否允许脏读 (N)
SIMPLE_LOG 是否使用简要日志 (N)
FLASHBACK_SCN 用于重置会话快照的LSN
FLASHBACK_TIME 用于查找最接近的相应LSN值的时间
CTRL_INFO 控制信息(1:控制分区表约束在表定义导出,0:分区表约束分开导出,默认0)
CONFIG_FILE 配置文件
FILE_VERSION 指定导出版本(9-29)
HELP 打印帮助信息

./dimp help

[dmdba@dsc3:/data/dmdbms/bin]$ ./dimp help
dimp V8
version: 03134284368-20251212-306679-20149 Pack51
file_version: 29
格式: ./dimp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)

例程: ./dimp SYSDBA/SYSDBA IGNORE=Y ROWS=Y FULL=Y

USERID 必须是命令行中的第一个参数

关键字 说明(默认值)
--------------------------------------------------------------------------------
USERID 用户名/口令
格式: {<username>[/<password>] | /}[@<connect_identifier>][<option>] [<os_auth>]
参数:
<connect_identifier> ::= [<svc_name> | host[:port] | <unixsocket_file>]
<option> ::= #{<extend_option>=<value>[,<extend_option>=<value>]...}
<os_auth> ::= AS { SYSDBA | SYSSSO | SYSAUDITOR | USERS | AUTO }
示例: SYSDBA/SYSDBA@192.168.1.64:5236
注意: option参数的{}是为了封装参数之用,书写时需要保留
FILE 导入文件名称 (dexp.dmp)
DIRECTORY 导入文件��在目录
FULL 整库导入 (N)
OWNER 以用户方式导入 格式 (user1,user2,...)
SCHEMAS 以模式方式导入 格式 (schema1,schema2,...)
TABLES 以表名方式导入 格式(table1,table2,...)

PARALLEL 用于指定导入的过程中所使用的线程数目(1-100, 默认16)
TABLE_PARALLEL 用于指定导入的过程中每个表所使用的子线程数目,在FAST_LOAD为Y时有效(1-16, 默认8)
IGNORE 忽略创建错误 (N)
TABLE_EXISTS_ACTION 需要的导入表在目标库中存在时采取的操作[SKIP | APPEND | TRUNCATE | REPLACE | TRUNCATE_CASCADE]
FAST_LOAD 是否使用dmfldr来导数据(N)
FLDR_ORDER 使用dmfldr是否需要严格按顺序来导数据(Y)
COMMIT_ROWS 批量提交的行数(5000)
EXCLUDE 忽略指定的对象
格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE,TABLES,JOB) or
EXCLUDE=TYPE:name1,name2
TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE
INCLUDE 包含指定的对象
格式 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS,VIEWS,PROCEDURE,PACKAGE,SEQUENCE,TABLES,JOB) or
INCLUDE=TYPE:name1,name2
TYPE:SCHEMAS,TABLES,VIEWS,PROCEDURE,PACKAGE,SEQUENCE
GRANTS 导入权限 (Y)
CONSTRAINTS 导入约束 (Y)
INDEXES 导入索引 (Y)
TRIGGERS 导入触发器 (Y)
ROWS 导入数据行 (Y)
LOG 指定日志文件
NOLOGFILE 不使用日志文件(N)
NOLOG 屏幕上不显示日志信息(N)
LOG_WRITE 日志信息实时写入文件(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)
TASK_THREAD_NUMBER 用于设置dmfldr处理用户数据的线程数目
BUFFER_NODE_SIZE 用于设置dmfldr读入文件缓冲区大小(10)
TASK_SEND_NODE_NUMBER 用于设置dmfldr发送节点个数[16,65535]
LOB_NOT_FAST_LOAD 如果一个表含有大字段,那么不使用dmfldr,因为dmfldr是一行一行提交的(N)
PRIMARY_CONFLICT 主键冲突的处理方式[IGNORE|OVERWRITE|OVERWRITE2],默认报错
TABLE_FIRST 是否先导入表(N)
SHOW_SERVER_INFO 是否打印服务器信息(N)
IGNORE_INIT_PARA 忽略建库参数差异(0): CASE_SENSITIVE(1),LENGTH_IN_CHAR(2)
AUTO_FREE_KEY 导入数据完成后, 是否释放密钥(N)
REMAP_TABLE 格式(SOURCE_SCHEMA.SOURCE_TABLE:TARGET_TABLE)
将SOURCE_TABLE中的数据导入到TARGET_TABLE中
REMAP_TABLESPACE 格式(SOURCE_TABLESPACE:TARGET_TABLESPACE)
将SOURCE_TABLESPACE表空间映射到TARGET_TABLESPACE表空间中
SIMPLE_LOG 是否使用简要日志 (N)
DATA_ONLY 仅导入数据 (N)
INDEX_OPTION 索引选项 (2)
1 不刷新二级索引,数据按照索引先排序,装载完后再
将排序的数据插入索引
2 不刷新二级索引,数据装载完成后重建所有二级索引
3 刷新二级索引, 数据装载的同时将数据插入二级索引
CTRL_INFO 控制信息(1:导入表空间; 2:校验MD5; 4:校验MD5不导入; 8:导入时忽略or replace;
16:remap替换列默认值中序列模式名; 32:remap_schema设置报错终止导入,默认0)
CONFIG_FILE 配置文件
FILE_VERSION 指定降级的目标文件版本(9-28)
HELP 打印帮助信息

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询