Docker Oracle数据泵 exp/imp 数据备份及初始化

两个数据库之间的内容 全导出、导入

PS:因导出的是window,导入的是Linux,还需要做好字符集的编码调整

https://blog.csdn.net/shipeng1022/article/details/53066558

window

CMD: set NLS_LANG=SIMPLIFIEDCHINESE_CHINA.ZHS16GBK

linux

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

一、导出

window环境下操作 CMD 命令窗口

导出命令:exp 账号/口令@ip/orcl file=文件名.bmp owner=账号;

exp c##test/[email protected]/orcl file=d:lwtoracle.dmp owner=c##test

导出成功后

二、导入

以下是linxu环境下操作

将导出的来文件上传服务器,然后服务器传到docker容器内

oracle11g 为docker容器启动的容器名称, docker ps -a 可查看

目录路径都是自己创建的目录,放哪里都可以

docker cp /home/oracle_backups/lwtoracle.dmp oracle11g:/home/oracle/oracle_backups/

 执行导入操作

进去到docker容器里面,然后再进入oracle用户 su - oracle

添加不替换

imp khfw/passward@helowin file=/home/oracle/oracle_backups//lwtoracle.dmp fromuser=c##test touser=khfw log=/home/oracle/log/imp_tab.log

覆盖

imp khfw/khfwpas@helowin ignore=y file=/home/oracle/oracle_backups//lwtoracle.dmp fromuser=c##test touser=khfw log=/home/oracle/log/imp_tab.log

ps:日志的文件夹也需要先创好。

导入的命令参数说明


USERID 用户名/密码
FULL 是否全库导入 (Y 或 N),默认为 N
BUFFER 数据缓冲的大小
FROMUSER 导出的用户列表,即导入文件是从哪个用户导出的
TOUSER 导入的用户列表,即要到哪个用户中
FILE 导入文件,是dmp文件
SHOW 只列出文件内容 (Y 或 N) ,默认为 N
TABLES 要导入的表名列表
IGNORE 在导入过程中是否忽略错误 , 默认为 N
RECORDLENGTH 记录的长度,默认为operating system-dependent
GRANTS 导入权限 (Y 或 N),默认为Y
INCTYPE 导入的类型是否为递增(Y 或 N),默认为 N
INDEXES 导入索引 (Y 或 N) ,默认为Y
COMMIT 在导入过程中,是否导入一行数据,提交一行 (Y 或 N)默认为N,即在每个表导入后,进行提交
ROWS 导入行数据 (Y 或 N) ,默认为 Y
PARFILE 参数文件名
LOG 输出的日志文件
DESTROY 是否覆盖表空间上的数据文件 (Y 或 N) 默认为N
INDEXFILE 将表或索引信息写到指定的文件中
CHARSET 导出文件的字符集,默认为 NLS_LANG
ANALYZE 在导入时执行ANALYZE语句 (Y 或 N) 默认为 Y
FEEDBACK 在导入时每个几行显示进度,默认为0

参考:https://blog.csdn.net/z453588/article/details/83795172

猜你喜欢

转载自blog.csdn.net/qq_37203082/article/details/114526137