ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 历史数据迁移

历史数据迁移

原创 Linux操作系统 作者:easonmy 时间:2008-07-21 12:53:42 0 删除 编辑

1: 创建procedure使用游标读取,分批commit.

              1): 执行游标处理存储过程时写日志表,记录插入的状态                 
              2): 操作前备份原始表                                 
              3): 参考存储过程

                            全表复制过程创建脚本
                            使用Forall 与bulk collect的快速复制表数据                         
                                          
                                            


2: 插入目的表时,尽量减少redo的生成.
       
              1): 是否更改表为 nologging ;   insert时加hints /* +append */ 
              2): 是否禁用约束.是否删除索引

              3): 参考概念: Redo and Undo (一)

 

 

3: 执行procedure过程中,观察系统情况

              1): 观察系统负载情况
             
                              v$session_wait   --确定执行该procedure的等待事件,进程号等
                              v$session
                              v$process
                              topas            --查看该进程cpu占用情况
                                      
                                      
              2): 观察redo(archivelog)的生成量,避免归档磁盘空间不够.
                  --归档空间满时,所有session除sys不能连接数据库. 此时要么删除archivelog释放空间,要么更改archivelog路径到一个未满磁盘
             
                              archive log list --检查归档路径
                              df -g            --检查磁盘空间占用情况
                              rm -f 1_*.dbf    --cd 后,删除当前路径下的文件
             
             
                             

4: 移动完历史数据后

               1): 减少表段的碎片.   alter table ... move tablespace
              
               2): 减少索引段碎片.   alter index ... rebuild.
              
               3): 重新分析表/索引.  analyze table/index ...

 

 

 

 

 

 

 

 


 

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

上一篇: 字符集
下一篇: ini参数
请登录后发表评论 登录
全部评论

注册时间:2008-06-20

  • 博文量
    17
  • 访问量
    17881