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 0select * 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数据库也是根据完整备份和日志备份来转移并恢复数据的。