实现全面在线备份还原的达梦数据库解决方案
最编程
2024-01-09 19:42:26
...
1.备份数据库(注意用SYSDBA)
./dexp USERID=SYSDBA/SYSDBA DIRECTORY=/opt/ FILE=dm.dmp OWNER="用户名"
参数信息
USERID 用户名/口令,数据库的链接信息
FILE 导入文件名称 (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 需要的导入表在目标库中存在时采取的操作
FAST_LOAD 是否使用dmfldr来导数据(N)
FLDR_ORDER 使用dmfldr是否需要严格按顺序来导数据(Y)
COMMIT_ROWS 批量提交的行数(5000)
EXCLUDE 忽略指定的对象 格式 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS)
GRANTS 导入权限 (Y)
CONSTRAINTS 导入约束 (Y)
INDEXES 导入索引 (Y)
TRIGGERS 导入触发器 (Y)
ROWS 导入数据行 (Y)
LOG 指定日志文件
NOLOGFILE 不使用日志文件(N)
NOLOG 屏幕上不显示日志信息(N)
LOG_WRITE 日志信息实时写入文件(N): 是(Y),否(N)
DUMMY 交互信息处理: 打印(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读入文件缓冲区大小
TASK_SEND_NODE_NUMBER 用于设置dmfldr发送节点个数[16,65535]
LOB_NOT_FAST_LOAD 如果一个表含有大字段,那么不使用dmfldr,因为dmfldr是一行一行提交的
PRIMARY_CONFLICT 主键冲突的处理方式[IGNORE
TABLE_FIRST 是否先导入表(N):是(Y),否(N)
SHOW_SERVER_INFO 是否打印服务器信息(N):是(Y),否(N)
HELP 打印帮助信息
2.直接通过manager工具导入。如果 出现下面这种情况
采用第二种方式导入
### 查看(原来)线上服务器是什么架构(x86、ARM)
###进入dm数据库安装目录下拷贝bin 包
tar -zcvf bin.tar.gz
###找到一台对应架构的服务器(x86->x86、ARM->ARM)(注意确保网络端口都通畅)
###拷贝bin.tar.gz、XXX.dmp 到这台服务器
###解压
tar -xvf bin.tar.gz
##在目标数据库下创建模式用户
CREATE TABLESPACE "XXX" DATAFILE 'XXX' SIZE 150 AUTOEXTEND ON;
CREATE USER "XXX" IDENTIFIED BY "password"
LIMIT FAILED_LOGIN_ATTEMPS 3, PASSWORD_LOCK_TIME 1, PASSWORD_GRACE_TIME 10
DEFAULT TABLESPACE "XXX";
GRANT "RESOURCE" TO "XXX";
GRANT ALTER DATABASE,CREATE ROLE,CREATE SCHEMA,CREATE TABLE,CREATE VIEW,CREATE PROCEDURE,
CREATE SEQUENCE,CREATE TRIGGER,CREATE INDEX,CREATE CONTEXT INDEX,BACKUP DATABASE,
CREATE LINK,CREATE PACKAGE,CREATE SYNONYM,CREATE PUBLIC SYNONYM,DROP ROLE,DROP PUBLIC SYNONYM,
CREATE TABLESPACE,ALTER TABLESPACE,DROP TABLESPACE TO "XXX";
GRANT SELECT ON SYS.V$CIPHERS to "XXX";
GRANT SELECT ON "SYS"."V$SQL_NODE_NAME" to "XXX";
###开始导入
./dimp USERID=SYSDBA/SYSDBA@ip:port DIRECTORY=/root/ FILE=dm.dmp LOG=dexp001.log OWNER="XXX"