数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
快速转移数据的方法

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

如果你要把ORACLE里的大量数据(80M以上)转移到另外的用户,另外的表空间里。可以用下面介绍的快速转移数据的方法。

    一、建新表的方式
   
    create table target_tablename tablespace target_tablespace_name nologging
     pctfree 10 pctused 60
     storage(initial 5M next 5M minextents 1 maxextents unlimited pctincrease 0)
     as select * from username.source_tablename where 条件;
 
    注意事项: 新建的表没有原来表的索引和默认值,
      只有非空(not null)的约束素条件可以继承过来,
      其它的约束条件或索引需要重新建立.
   
    二、直接插入的方法
   
    INSERT /*+ APPEND */ INTO target_tablename
    SELECT * FROM username.source_tablename where 条件;
    COMMIT;         
 
    注意事项:
     用INSERT /*+ APPEND */ 的方法会对target_tablename产生级别为6的独占锁,
     如果运行此命令时还有对target_tablename的DML操作会排队在它后面,
     对OLTP系统在用的表操作是不合适的。

    说明:这两种方法转移数据时没有用SGA里数据缓冲区和事物处理的回滚段, 也不写联机事物日志,
   就象数据库装载工具SQLLOAD一样直接把数据写到物理文件,速度是很快的。
  
   在ORACLE8I以后的版本都可以使用.




相关文章

相关软件