博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle导入sql文件
阅读量:5968 次
发布时间:2019-06-19

本文共 866 字,大约阅读时间需要 2 分钟。

公司以前都是用dmp操作数据导入导出,最近从别的地方人家给是sql文件数据库文件,不得不学习一下如何导入大文件的sql,好应对各种突发情况。

1、首先得会使用sqlplus连接远程数据库
sqlplus 用户名/密码@远程数据库ip:端口/实例名
2、连接成功之后使用命令

sql>@E:\areadata.sql;sql>@/opt/oracle/area.sql;

有时候中文会出现乱码问题,或者报错。例如:

ERROR:ORA-01756: quoted string not properly terminated

此时,需要排查数据库服务器的字符集和client的字符集

1.排查数据库服务器字符集:

sql>select userenv('language') from dual;---AMERICAN_AMERICA.ZHS16GBK【此处的字符集是这个】

2.排查client字符集

在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,比如:
set nls_lang=AMERICAN_AMERICA.ZHS16GBK

在linux下,修改bash_profile文件

$ vi .bash_profileNLS_LANG='AMERICAN_AMERICA.ZHS16GBK'; export NLS_LANG

这个也可能跟sql文件有关,大家可以试试设置client字符集,多试两个应该就可以了。

另外有些文件里面可能会出现一些空格之类的字符,到了sqlplus里面就会变成 ,例如下面的等待输入,往往会影响导入的时间:

sql>Enter value for nbsp;

所以需要在执行sql>@E:\areadata.sql时先设置一下关闭替代变量功能

sql>set difine off;
这样子就不会出现导入时等待的情况了,大大提高了导入文件的效率。

转载于:https://blog.51cto.com/meiling/2130827

你可能感兴趣的文章
EXCEL工作表保护密码破解 宏撤销保护图文教程
查看>>
Catalan数(卡特兰数)
查看>>
.Net Core下使用 RSA
查看>>
python 数据库中文乱码 Excel
查看>>
利用console控制台调试php代码
查看>>
递归算法,如何把list中父子类对象递归成树
查看>>
jsf初学解决GlassFish Server 无法启动
查看>>
hdu 1050 (preinitilization or postcleansing, std::fill) ...
查看>>
Form各键盘触发子所对应的“按键”
查看>>
【java IO】使用Java输入输出流 读取txt文件内数据,进行拼接后写入到另一个文件中...
查看>>
第一次模拟面试
查看>>
window.showModalDialog
查看>>
Pycharm选择pyenv安装的Python版本
查看>>
?Sized 和 Sized
查看>>
Java中如何防止内存泄漏的发生
查看>>
Java中Int转byte分析
查看>>
滑动窗口最大值的golang实现
查看>>
会计的思考(17):还原会计报表的企业个性之一
查看>>
java对象初始化顺序的简单验证
查看>>
[CF452E]Three strings
查看>>