需要紧急把测试服务器数据迁移到pc机用于演示,但pc机无网络又没有客户端工具,只能使用sqlplus,且导出得文件又是sql文件,失去工具支持导入共过程遇到很多问题,如乱码问题,sql文件中特殊字符,日志存放和查看,导出文件不能写入,安装过程目录写入权限等大小问题。希望通过这篇博客把众多可能得细节问题梳理清楚,方便今后一些加急任务得处理工作。迁移数据过程中遇到的问题和解决方法:
- 安装问题
建库时需要用管理员权限执行dbca程序,否则一定遇到很多莫名其妙的问题
- 乱码问题
sqlplus窗口需要设置字符集编码格式具体设置方式
chcp 65001
MS-DOS为以下国家和语言提供字符集:
代码页描述
1258 越南语
1257 波罗的语
1256 阿拉伯语
1255 希伯来语
1254 土耳其语
1253 希腊语
1252 拉丁 1 字符 (ANSI)
1251 西里尔语
1250 中欧语言
950 繁体中文
949 朝鲜语
936 简体中文(默认)
932 日语
874 泰国语
850 多语种 (MS-DOS Latin1)
437 MS-DOS 美国英语
//补充
dos指令:
chcp 65001 就是换成UTF-8代码页
chcp 936 可以换回默认的GBK
chcp 437 是美国英语
- 执行sql文件无法执行问题
原来导入内容中包含了 ,sqlplus把&作为一个变量的开头,所以每次执行这条语句时会提醒你输入相应的值
set define off 关闭替代变量功能
set define on 开启替代变量功能
- sqlplus设置
set sqlblanklines on
set echo off;
set feedback off;
保证建表sql语句中可以有空白行,否则使用工具导出的sql数据文件无法导入到目标库
- 文件不能写入问题
Windows 2019 Server中,导出备份文件到别的服务器时,提示“EXP-00028: 无法打开用于写入的 expdat.dmp”。
解决办法:是备份到的服务器上的文件夹权限不够,点击“权限”,在弹出的窗口中,Everyone权限设置为“完全控制”
标签:set,问题,sqlplus,chcp,sql,迁移,权限,工具 From: https://blog.51cto.com/u_14316134/6224145