ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle blob 问题

Oracle blob 问题

原创 Linux操作系统 作者:chwang1984 时间:2010-09-16 19:54:27 0 删除 编辑

1.Oracle表移动表空间:
alter table tb_name move tablespace tbs_name;
使用上面语句对表做空间迁移时,只能移动非lob字段以外的数据,如果要同时移动lob字段数据,必需改用下面的语句才行:
alter table tb_name move tablespace tbs_name lob (col_lob1,col_lob2) store as(tablesapce tbs_name);

建立表空间,赋予表空间权限。
create tablespace tablespace_lob datafile 'd:\xxx\lob.dbf' size 100M autoextend on;//所有表的lob字段都用一个专用的lob表空间,导出导入数据时方便。
alter user bbb quota unlimited on tablespace_lob;//给bbb添加表空间权限。

使用exp和imp导出导入数据时,若含有blob字段,则imp过程中可能由于blob字段表空间不存在而报错。这时可以先检查源库中blob字段所在表空间名称,然后在目标库中建立同名表空间。数据导入完成后,可以使用上面语句移动blob数据到指定的表空间。

2."ORA-22992: 无法使用从远程表选择的 LOB 定位器
解决办法:
可以先创建一个临时表,然后把远程有LOB字段的表克隆到临时表中,然后再进行链接操作
a本地创建临时表

    
create global temporary table photo_temp as select * from photo ;


b用database link导入远程数据到临时表
   

insert into photo_temp select * from photo@photo_link;--不要commit;否则临时表中数据消失


c把临时表数据插入到永久表中:
   

insert into photo select * from photo_temp;
    commit;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/17179887/viewspace-674192/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-03-27

  • 博文量
    96
  • 访问量
    185873