社区
Oracle 高级技术
帖子详情
oracle数据库导出,如何不导出Blob字段内容
lizhe1984
2009-02-18 11:51:33
我的数据库blob字段主要是用于存放图片,对我的意义不大,由于Blob字段内容太多,所占空间太大,我想导出数据库中不导blob字段的内容,或者说不导出它所在的空间,如何操作啊,我的数据库是Oracle9i的,谢谢!
...全文
1714
15
打赏
收藏
oracle数据库导出,如何不导出Blob字段内容
我的数据库blob字段主要是用于存放图片,对我的意义不大,由于Blob字段内容太多,所占空间太大,我想导出数据库中不导blob字段的内容,或者说不导出它所在的空间,如何操作啊,我的数据库是Oracle9i的,谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kutulu
2010-02-24
打赏
举报
回复
首先在user_column 那个表里把列类型是blob的表名都提取出来,然后汇聚在一起,是在不行就把表名复制出来用ue列编辑好了
呃。。。好久没碰数据库了,不晓得上面的那个user表写的对不对。。。。
x_lvyonggang
2010-02-23
打赏
举报
回复
to zcs_1
我必须导出BLOG
snyy20
2009-03-17
打赏
举报
回复
楼主可以用不同版本的ORACLE客户端和服务端试试;也就是说:
用9I.0.1版本的客户端去连9I.1.1版本的服务端,反正就是将客户端和服务端的版本不一致就行;
这样导出来的数据库只要有BLOB和CLOB的字段的表都会导不出来.正好符合你的需求!哈哈……
ABNORMAL1982
2009-03-05
打赏
举报
回复
这个确实比较麻烦
1、用create table 的方式是可以,但是这个方式的表空间和索引好像会丢失
2、处理上比较麻烦:要用bat文件 调用exp imp sqlplusw 命令
如果直接exp imp 好像没有直接达到效果,这个还是有难度的题目
rexyudl
2009-03-05
打赏
举报
回复
不好意思,EXP是可以导入导出BLOB的
rexyudl
2009-03-05
打赏
举报
回复
exp 导出数据本身就无法导出BLOB字段.
xuehong520
2009-03-05
打赏
举报
回复
[Quote=引用 4 楼 zcs_1 的回复:]
用表模式不知道是否符合你的要求,把不包括blob的表列出来,对于包括blob的表,可以用
create table a as select..
的方式创建一个表,把blob置换为empty_blob()
然后导出不包括blob的表
导出命令为:
exp username/passwd file=myfile.dmp log=myfile.log tables=table1,table2,...,tablen
[/Quote]
我也是这么想的
zcs_1
2009-02-21
打赏
举报
回复
我建议楼主用参数文件,把所有的参数放到这个文件中,如:
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);
注意对得到的结果要进行编辑,去掉最后的逗号
zcs_1
2009-02-21
打赏
举报
回复
Oracle也注意到这个问题,在Oracle10g中给数据泵(data pump)加上了EXCLUDE参数,可以反选,但是在exp和imp命令上就没有长劲,估计以后要把exp和imp取消用expdp和impdp代替了
eviler
2009-02-20
打赏
举报
回复
让你写上这些表也是不现实的 ,但是你可以使用plsql 把需要导出的表拼成一个字符串
然后使用 exp username/passwd file=myfile.dmp log=myfile.log tables=table1,table2,...,tablen ,直接粘帖过去
lizhe1984
2009-02-20
打赏
举报
回复
谢谢zcs_1 ,这也是一个可行的方法
但是我的库表特别多,有一、二百个呢,要是用tables=去列出来的话太麻烦了,有没有反选的方法,呵呵,就是列几个表在那,导出没有列出的表呢?
或是还有其它更简捷的方法吗?
谢谢!
zcs_1
2009-02-19
打赏
举报
回复
用表模式不知道是否符合你的要求,把不包括blob的表列出来,对于包括blob的表,可以用
create table a as select..
的方式创建一个表,把blob置换为empty_blob()
然后导出不包括blob的表
导出命令为:
exp username/passwd file=myfile.dmp log=myfile.log tables=table1,table2,...,tablen
lizhe1984
2009-02-19
打赏
举报
回复
我的意思就是不想导出blob那部分,有那部分文件太大,请问如何导出?
dawugui
2009-02-18
打赏
举报
回复
好象这是oracle的一个问题所在,导不出来.
友情帮顶.
zcs_1
2009-02-18
打赏
举报
回复
无法直接实现,只能分开导出
批量
导出
ORACLE
数据库
BLOB
字段
生成图片
只需要安装
oracle
client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及
blob
数据列名,就可以批量
导出
ORACLE
数据库
BLOB
字段
生成图片
批量
导出
ORACLE
数据库
BLOB
字段
生成文件
只需要安装
oracle
client在本地,然后配置好tns,输入连接名,用户名,密码,数据表的名称,文件名数据列名以及
blob
数据列名,就可以批量
导出
ORACLE
数据库
BLOB
字段
生成图片
Oracle
导出
Clob,
Blob
工具
Oracle
导出
Clob,
Blob
等大
字段
工具,自己写的工具,方便大家下载使用
记录一次EXPDP
导出
BLOB
字段
遇到ORA-01555报错
oracle
expdp
导出
blob
字段
遇到ora-01555报错的解决方案
kettle通过java代码将
数据库
blob
字段
抽取到本地文件
kettle通过java代码将
数据库
blob
字段
抽取到本地文件
Oracle 高级技术
3,491
社区成员
18,714
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章