Oracle 11G数据库导出问题解决
更新时间:2024-05-26 01:24:01 阅读量: 综合文库 文档下载
- oracle推荐度:
- 相关推荐
一: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
路径修改为前面,如下所示:
正在阅读:
Oracle 11G数据库导出问题解决05-26
小学生智商测试题06-06
部分省市中考作文题目08-12
雷达目标跟踪算法研究03-20
人类行为与社会环境第1阶段测试题09-19
餐饮服务员培训教材资料大全09-28
2012届高三物理一轮复习精品资料:功和能(高考真题+模拟新题)(有详解)09-19
桌面ie图标删除不了的解决方法02-10
某医院新药引进和淘汰程序04-25
- 秦皇岛律师:盗窃案成功辩护词
- A Compare of Chinese and English Compounds
- 3203外科护理学历年真题
- 大数据对科学哲学的新挑战
- 38标热力施工组织设计
- 电火花放电加工工艺
- 神机妙算 软件 高级操作
- 黔东南州2012年教师素质提升工程培训学习心得
- 2012年自主招生安徽录取名单
- 北师大课标版七年级数学下册教案平方差公式(一)
- 教科版小学五年级语文上册期末试题
- 高级财务会计大作业 (2)
- 如何在自然课中搞好探究性实验教学
- 建筑材料习题答案 - 图文
- 2019年2018入党思想汇报1500字-word范文(7页)
- 《古诗三首》(1)
- 面对繁多的一种坚持:展望大学中的道德教育
- 恶劣天气下如何保障行车安全
- “一比一访三走进”教学设计
- 吉林省工业旅游发展研究
- 导出
- 数据库
- 解决
- Oracle
- 问题
- 11G