oracle数据库导出,如何不导出Blob字段内容 我的数据库blob字段主要是用于存放图片,对我的意义不大,由于Blob字段内容太多,所占空间太大,我想导出数据库中不导blob字段的内容,或者说不导出它所在的空间,如何操作啊,我的数据库是Oracle9i的,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的意思就是不想导出blob那部分,有那部分文件太大,请问如何导出? 用表模式不知道是否符合你的要求,把不包括blob的表列出来,对于包括blob的表,可以用create table a as select..的方式创建一个表,把blob置换为empty_blob()然后导出不包括blob的表导出命令为:exp username/passwd file=myfile.dmp log=myfile.log tables=table1,table2,...,tablen 谢谢zcs_1 ,这也是一个可行的方法但是我的库表特别多,有一、二百个呢,要是用tables=去列出来的话太麻烦了,有没有反选的方法,呵呵,就是列几个表在那,导出没有列出的表呢?或是还有其它更简捷的方法吗?谢谢! 让你写上这些表也是不现实的 ,但是你可以使用plsql 把需要导出的表拼成一个字符串 然后使用 exp username/passwd file=myfile.dmp log=myfile.log tables=table1,table2,...,tablen ,直接粘帖过去 Oracle也注意到这个问题,在Oracle10g中给数据泵(data pump)加上了EXCLUDE参数,可以反选,但是在exp和imp命令上就没有长劲,估计以后要把exp和imp取消用expdp和impdp代替了 我建议楼主用参数文件,把所有的参数放到这个文件中,如:exp spfile=myspfile.txt其中myspfile.txt的内容为userid=scott/tigerfile=myexp.dmplog=myexp.logtables=table1,table2,table3,table4,...tablen其中tables参数部分可以用SQLPLUS得到,在sqlplus下,执行SQL>SELECT table_name||',' from user_tables where table_name not in(select table_name from user_lobs);注意对得到的结果要进行编辑,去掉最后的逗号 exp 导出数据本身就无法导出BLOB字段. 不好意思,EXP是可以导入导出BLOB的 这个确实比较麻烦1、用create table 的方式是可以,但是这个方式的表空间和索引好像会丢失2、处理上比较麻烦:要用bat文件 调用exp imp sqlplusw 命令如果直接exp imp 好像没有直接达到效果,这个还是有难度的题目 楼主可以用不同版本的ORACLE客户端和服务端试试;也就是说:用9I.0.1版本的客户端去连9I.1.1版本的服务端,反正就是将客户端和服务端的版本不一致就行;这样导出来的数据库只要有BLOB和CLOB的字段的表都会导不出来.正好符合你的需求!哈哈…… to zcs_1我必须导出BLOG 首先在user_column 那个表里把列类型是blob的表名都提取出来,然后汇聚在一起,是在不行就把表名复制出来用ue列编辑好了呃好久没碰数据库了,不晓得上面的那个user表写的对不对。 请教关于基于substr的索引的问题 请教两个查询 如何计算一个月第n个工作日的日期 急急急急……!请教学过VB、VBA和ORACLE的高手们 传入字符分隔的一个字符串,如何据此插入多条数据? 怎么在查看的权限备份ORACLE数据库? 求助:这个sql语句怎么写? Oracle 安装与相关工具找不到的问题? pl/sql中如何去掉12个数值中相同值???? navicat 连 本机 oracle 死活连不上 ORACLE 密码丢失 怎么找回 一个Oracle SQL语句,调试总是报错,哪位大侠帮我解决下~谢谢
create table a as select..
的方式创建一个表,把blob置换为empty_blob()
然后导出不包括blob的表导出命令为:
exp username/passwd file=myfile.dmp log=myfile.log tables=table1,table2,...,tablen
或是还有其它更简捷的方法吗?谢谢!
然后使用 exp username/passwd file=myfile.dmp log=myfile.log tables=table1,table2,...,tablen ,直接粘帖过去
exp spfile=myspfile.txt其中myspfile.txt的内容为userid=scott/tiger
file=myexp.dmp
log=myexp.log
tables=table1,
table2,
table3,
table4,
...
tablen其中tables参数部分可以用SQLPLUS得到,在sqlplus下,执行SQL>SELECT table_name||',' from user_tables where table_name not in(select table_name from user_lobs);注意对得到的结果要进行编辑,去掉最后的逗号
1、用create table 的方式是可以,但是这个方式的表空间和索引好像会丢失
2、处理上比较麻烦:要用bat文件 调用exp imp sqlplusw 命令
如果直接exp imp 好像没有直接达到效果,这个还是有难度的题目
我必须导出BLOG