77范文网 - 专业文章范例文档资料分享平台

Oracle 11G数据库导出问题解决

来源:网络收集 时间:2019-04-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

一:11G数据库dmp文件导出问题 问题描述:

Windows 2008 R2无法正常安装64位Oracle 10G,只可安装64位11G和32位10G(兼容性模式)。 由于我们习惯用10G客户端连接11G数据库进行创建表空间等相关操作,此时导出存在一个问题:通过exp命令导出的dmp版本与客户端版本有关,如果10G客户端连接另一台服务器上的11G数据库通过exp导出dmp文件在结束后会提示“转换溢出数据类型错误”,这是因客户端(10G)和数据库(11G)版本号不一致导致。但如果客户端和数据库在同一服务器,导出时会通过环境变量来选择调用相应版本的exp程序,我们在导出窗口中也可以看到相应版本号。所以客户端和数据库在一台服务器时,导出结束后一般不会有问题(由于环境变量的配置而调用了11G数据库的exp程序)。

问题解决: 方法一:

导出11G数据库的dmp文件中无法包含空表,可采用以下方法解决: 导出前在plsql中执行以下语句,用来查询当前用户下数据库中所有空表:

select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 将查询出的结果中生成的语句复制到sql窗口中执行,通过给所有空表分配空间的方式就可以通过exp命令成功导出空表。

对于安装Oracle11G的2008 R2服务器,如果数据库和客户端分离,可在客户端服务器安装一个11G客户端,再配合上面的方法,就可以正常导出包含空表的dmp文件,并且因为调用的是11G客户端的exp命令,导出结束也不报错。

但由于导出所用的EXP版本号为11G,直接将DMP文件导入10G会提示头部验证失败:

可以用Notepad++修改版本号用IMP导入10G数据库,经测试导入无错误提示,登录系统可正常使用。

方法二:

Oracle从 10g开始引入了数据泵技术,可以将数据库元数据和数据快速移动到另一个oracle数据库

中。

数据泵导入导出和常规导入导出的区别:

EXP和IMP是客户端工具程序,既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端工具程序,只能在ORACLE服务端使用,不能在客户端使用。

数据泵导入导出中,DUMPFILE参数用于指定文件名称,默认为expdat.dmp,DIRECTORY参数用于指定导出目录,默认为data_pump_dir 导入导出语句:

① 11G的服务器上运行命令导出10G格式dmp文件:

expdp scott/scott123@hnzc directory=DATA_PUMP_DIR dumpfile=hnzc.dmp logfile=hnzc.log version=10.2.0.1.0

② 1)步导出后的文件sdzc.dmp会自动存放在Oracle11G数据库安装路径下,如: D:\\app\\Administrator\\admin\\hnzc\\dpdump 将其拷出,放到10G服务器端如:

D:\\oracle\\product\\10.2.0\\admin\\hnzc\\dpdump ③ 10G的服务器上运行命令导入:

impdp scott/scott123@hnzc dumpfile=hnzc.dmp full=y

另外设置服务器自动备份可修改directory参数将dmp文件导出到指定路径下 打开Plsql,以dba方式登录sys用户,执行下列语句: create directory dmpbackup as 'd:\\googosoft\\databak\\'; grant create session to scott;

grant read, write on directory dmpbackup to scott;

二、有关64位系统中程序部署问题: 问题描述:

64位2003或者2008部署服务器,在程序运行时会有如下提示:

“尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题”

此问题大多为客户端与数据库服务器分离,且客户端服务器仅安装了Oracle 10G客户端

64位系统安装的IIS默认版本为64位,程序连接数据库时会根据环境变量读取相应Oracle路径下的oci.dll文件,当读取到32位Oracle目录时,由于64位系统的IIS无法正常使用32位客户端组件,导致程序报错。 问题解决:

1) 如果WEB服务器只安装了32位客户端,为保证在64位IIS下能够正常读取64位版本的oci.dll

文件,需要在客户端服务器上再安装一个64位数据库,这样程序运行之后就可以正常运行。 2) 如果WEB服务器同时安装了数据库,并且程序运行报错,可查看环境变量,将64位Oracle的bin

路径修改为前面,如下所示:

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Oracle 11G数据库导出问题解决在线全文阅读。

Oracle 11G数据库导出问题解决.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/622013.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: