24×7环境转移ORACLE数据库服务器


作者:刀断水 | 来源:Examlink | 日期:09-20 | 字体: [ ]

本文简介:在这之前当然要详细了解所有用户和用户权限,用户的数据对象等;然后建用户赋权限,并先转移不变的历史数据。

 24×7环境转移数据库服务器是一个压力很大的事情。

在这之前当然要详细了解所有用户和用户权限,用户的数据对象等;然后建用户赋权限,并先转移不变的历史数据。

2003年年初我执行了这个任务。在凌晨,服务的停顿时间约为15分钟。

转移数据库服务器步骤如下:

01:00 序列号按预留空值的方法先建立起来。    
     
      (已生成*.sql文件,并让*.sh脚本可直接调用)
      
01:30 基本不变和变化不频繁的小表用exp和imp导出,导入。数据量约80M。

      (已生成exp_small.sh和imp_small.sh脚本,可直接调用)
             
    02:00 大表(100M以上)用CTS (create table a as select * b@databaselink) 方法建立起来,
           建索引和约束关系。数据量约1G。
   
      (已生成*.sql文件,并让*.sh脚本可直接调用)
             
    02:30 停应用程序。(开始停服务的时间)                    

    02:30 频繁修改或者影响用户使用的一些表也用CTS方法建立起来,建索引和约束关系。
           数据量约80M。
   
           建立存储过程(数量不多)。
   
           (已生成*.sql文件,并让*.sh脚本可直接调用)
          
    02:45 启动应用程序。(结束停服务的时间)  
          
    02:45 对变动频繁的表补差值。
   
           (已生成*.sql文件,但要手工操作)   
   
    03:00 各项检查结束。
   
    备注:在切换数据库服务器前,这些自动脚本都曾经执行过一到两次。估算过时间。
   
          相关项目也做过应用测试。   

-------------------------------------------------------------------------------------
24×7环境转移SQL Server数据库服务器

         
 SQL Server数据库里个体数据库为适应24×7环境一般设置的是完全故障还原模式。
 
 DBA可以在SQL Server企业管理器->管理->数据库维护计划 里设定数据库和日志文件的备份频率。
 
 一般情况下每天凌晨做一次数据库的完整备份, 每隔两个小时做一次日志文件的备份。
 
 (DBA当然也可以根据数据日志的大小及数据的重要程度来决定日志文件备份的间隔时间)
 
 24×7环境转移SQL Server数据库也是根据完整备份和日志备份来转移并恢复数据的。
在SQL Server企业管理器的还原数据库的窗口图形界面,如下: 

还原完整备份数据库的时候我们要在选项的窗口中选择 [使数据库不再运行,但能还原其它事务日志] 或者 [使数据库为只读,但能还原其它事务日志] 这样,下一步才能做日志文件的恢复操作。 同样这样的恢复步骤可以写成T-SQL脚本: RESTORE FILELISTONLY FROM DISK = 'f:\backup_data\db_test\db_test_db_200406300300.BAK' RESTORE DATABASE db_test FROM DISK = 'f:\backup_data\db_test\db_test_db_200406300300.BAK' WITH NORECOVERY , MOVE 'db_test' TO 'D:\Microsoft SQL Server\MSSQL\Data\db_test_data.mdf', MOVE 'db_test_Log' TO 'D:\Microsoft SQL Server\MSSQL\Data\db_test_log.ldf' RESTORE Log db_test FROM DISK = 'f:\backup_data\db_test\db_test_tlog_200406300400.TRN' WITH NORECOVERY , MOVE 'db_test' TO 'D:\Microsoft SQL Server\MSSQL\Data\db_test_data.mdf', MOVE 'db_test_Log' TO 'D:\Microsoft SQL Server\MSSQL\Data\db_test_log.ldf' ...... ...... RESTORE Log db_test FROM DISK = 'f:\backup_data\db_test\db_test_tlog_200406300500.TRN' WITH RECOVERY , MOVE 'db_test' TO 'D:\Microsoft SQL Server\MSSQL\Data\db_test_data.mdf', MOVE 'db_test_Log' TO 'D:\Microsoft SQL Server\MSSQL\Data\db_test_log.ldf' NORECOVERY 选项指的是还原还没有最后完成,还能接收新的日志备份文件,用来恢复。 RECOVERY 选项指的是还原已经结束,数据库可以恢复使用。 当我们要转移大量数据库的时候,用T-SQL脚本操作就方便很多。



用户名: 新注册) 密码: 匿名评论 [所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 2007年Oracle认证考试辅导 Oracle考试讲义 Oracle考试点评
如果你觉得一篇文章有用,你可以在每篇后面参与评论,或者查看其他人的评论,请保证你的评论对大家友好。
点这里评论
或者您可以来资源论坛参与讨论,一切都是免费的,不过可能需要麻烦您注册一下。
点这里讨论
把你的文章登陆在这里,让大家来分享你的文章。请立即登陆发表!
点这里投稿