当前位置:首页 > 数据库维护工作手册
导出后重建表,然后导入数据。提交修复记录。
3.1.2 数据库对象重建
根据数据库监控的结果,重建失效的对象。如:索引、存储过程、函数、视图、触发器等等。 实用命令:
Alter index <索引名> rebuild [online];
3.1.3 碎片回收(数据重组)
当某些数据库运行一段时间后,表会产生碎片,影响数据库的性能。可根据日常检查的结果,运用工具或脚本对于数据库空间进行重组或回收。由于ORACLE数据库本身的原因,在进行了DELETE操作之后也不会使HWM(High Water Mark 高水位线)降低,因此不会释放所占用的空间,所以建议在进行了数据迁移之后将全库进行EXP,然后进行IMP操作,以释放占用的空间。
3.1.4 删除不用的数据
此项工作要得到开发方、设计人员、以及相关人员的确认后,方可执行。
3.1.5 备份恢复
需要定期对于数据库备份进行有效性检测,定期进行数据恢复的演练操作。以防止万一的数据库事故时准备不足。
数据库需要采用在线的热备份,不需要关闭数据库进行,在备份的同时可以进行正常的数据库的各种操作,满足了7*24的系统的需要。数据库的备份不能影响用户对数据库的访问。 目标
需要在线热备份 多级增量备份 并行备份,恢复 减小所需要备份量 备份,恢复使用简单 可参考如下的方案:
1. 每月做一个数据库的全备份(包含只读表空间) 2. 每星期做一次零级备份(不包含只读表空间) 3. 每个星期三做一次一级备份 4. 每天做一个二级备份
5. 任何表空间改成只读状态后做一个该表空间的备份。
6. 当需要时(如四个小时归档文件系统就要接近满了)备份归档文件。
3.1.6 历史数据迁移
定期进行历史数据迁移,减少生产数据库的压力。
3.1.7 定期修改密码
包括SYS,SYSTEM等用户。
3.1.8 删除掉不必要的用户
对于系统安装时的演示用户,如:hr,scott等。
建议每周定期清理和备份一周所产生的Alert日志、跟踪文件和dump文件。分
别
位
于
$ORACLE_BASE/admin/$ORACLE_SID/bdump,
$ORACLE_BASE/admin/$ORACLE_SID/udump,
$ORACLE_BASE/admin/$ORACLE_SID/cdump,等目录下。
定期对表进行统计分析,(如可使用analyze等命令,8i以上有dbms_stats包来实现,使SQL优化器总是能找到最好的查询策略。 制定和执行纪录保证生产库的安全: 应绝对禁止在生产库上进行开发、测试。
3.1.9 其他
针对不同的数据库版本的不同特点进行相应的维护操作。具体情况请参见ORACLE文档或者访问metalink。
4 数据库管理常用SQL脚本
常用的SQL脚本,在实施时可供数据库管理员参考,在执行时,需要进行相应的修改。 1. 剩余空间检查
SELECT tablespace_name, sum ( blocks ) as free_blk , trunc ( sum ( bytes ) /
(1024*1024) ) as free_m
, max ( bytes ) / (1024) as big_chunk_k, count (*) as num_chunks FROM dba_free_space GROUP BY tablespace_name 2. 表空间数据量情况显示
SELECT tablespace_name, max_blocks, count_blocks, sum_free_blocks , to_char(100*sum_free_blocks/sum_alloc_blocks, '') || '%'
AS pct_free
FROM ( SELECT tablespace_name , sum(blocks) AS sum_alloc_blocks FROM dba_data_files GROUP BY tablespace_name )
, ( SELECT tablespace_name AS fs_ts_name , max(blocks) AS max_blocks , count(blocks) AS count_blocks , sum(blocks) AS sum_free_blocks FROM dba_free_space GROUP BY tablespace_name ) WHERE tablespace_name = fs_ts_name 3. 表和索引分析 BEGIN
( '&OWNER', 'ESTIMATE', NULL, 5 ) ; END ;
4. 检查空间情况 SELECT , , FROM all_tables a,
( SELECT tablespace_name, max(bytes) as big_chunk FROM dba_free_space
共分享92篇相关文档