数据库日常维护手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库日常维护手册
注,蓝色部分为可执行命令,红色部分为重点注意的。
一、停止、启动群集
首先应停止实例和相关服务,最后才是关闭节点应用程序(虚拟 IP、GSD、TNS 监听器和ONS)。
以下命令在oracle用户下执行。
emctl stop dbconsole
srvctl stop instance -d hsdb -i hsdb1
srvctl stop instance -d hsdb -i hsdb2
srvctl stop nodeapps -n bjhsdb1
srvctl stop nodeapps –n bjhsdb2
启动节点应用程序(虚拟 IP、GSD、TNS 监听器和 ONS)。
当成功启动节点应用程序后,最后才是启动 Oracle 实例和相关服务,以及企业管理器数据库控制台
srvctl start nodeapps -n bjhsdb1
srvctl start nodeapps -n bjhsdb2
srvctl start instance -d hsdb -i hsdb1
srvctl start instance -d hsdb -i hsdb2
emctl start dbconsole
使用 SRVCTL 启动/停止所有实例
srvctl start database -d hsdb
srvctl stop database -d hsdb
二、归档管理
以下命令是在登入数据库主机后,在sqlplus下执行。
查看是否归档
Archive log list
在RAC中,归档模式之间的切换要比单机复杂,下面是非归档模式该为归档模式
保留一个实例tdb1,停掉其它实例(shutdown immediate)
以下操作都在mesoradb1执行:
alter system set parameter CLUSTER_DATABASE= false scope=spfile;
shutdown immediate
检查LOG_ARCHIVE_DEST、LOG_ARCHIVE_FORMAT参数是否设定正确,具体参照reference; startup mount
若由非归档模式改为归档模式:
alter database archivelog
由归档模式改为非归档模式:
alter database noarchivelog
alter database open
alter system set parameter CLUSTER_DATABASE= true scope=spfile;
shutdown immediate
三、空间管理
以下命令可在PL/SQL Developer下执行。
1. 查看数据库中所有数据文件
select name from v$datafile
union
select member from v$logfile
union
select name from v$controlfile
union
select name from v$tempfile;
2. 查看表空间中空闲空间大小
注,对于TEMP、UNDOTBS1、UNDOTBS2我们不需要特别关注,它们可以自动重用。
数据库管理员要对表空间的使用情况进行定期的检查和监控,当前表空间增长达
60%时,必须进行表空间的扩充;历史或归档表空间增长达80%时,必须进行表
空间的扩充;(扩展办法见下)
交易期间,如当前表空间增长达到90%,应立即对表空间进行扩展。
SELECT a.tablespace_name, b.total "Total Size(M)",a.free "Free Size(M)",round((b.total-a.free)/b.total*100,2) "Used%"
FROM (select tablespace_name,round(sum(bytes)/1024/1024,0) free from dba_free_space group by tablespace_name) a,
(select tablespace_name,round(sum(bytes)/1024/1024,0) total from dba_data_files group by tablespace_name)b WHERE a.tablespace_name=b.tablespace_name;
3. 增加数据文件(如扩展HS_FUND_DATA表空间)
目前对datavg所建立的所有逻辑卷都已分配给数据库,如果表空间达到了前面所说的空间大小需要扩充时,首先必须停止RAC,停止HACMP,然后增加逻辑卷,同步hacmp,然后才是启动hacmp,启动RAC(启动RAC时数据库会自动启动)。
接下来就是按下面的方法增加逻辑卷到表空间中。
假设逻辑卷为/dev/rvg1_fund_data_2,大小为2G
alter tablespace hs_fund_data add datafile '/dev/rvg1_fund_data_2' size 2000M autoextend off;
注,目前HS_HIS_DA TA表空间分配了375G的空间,HS_HIS_IDX分配了250G空间,若以后空间不够用时,可以按类似上面的方法增加数据文件。
四、统计信息管理
1. 修改优化器模式(由ALL_ROWS改为RULE)
show parameter optimizer_mode
alter system set optimizer_mode=RULE scope=both sid='*';
2. 收集用户统计信息
不同的用户,可以修改ownname的值。
exec dbms_stats.gather_schema_stats(ownname =>
'HS_FUND',estimate_percent => 100,degree => 4,cascade => TRUE);
3. 收集表统计信息
不同的表,可以修改ownname,tabname的值。
exec dbms_stats.gather_table_stats(ownname => 'HS_FUND',tabname => 'FUND',estimate_percent => 100,degree => 4,cascade => TRUE);
4. 删除用户统计信息
exec dbms_stats.delete_schema_stats(ownname => 'HS_FUND');
5. 删除表统计信息
exec dbms_stats.delete_table_stats(ownname => 'HS_FUND',tabname => 'FUND');
五、OS、ORACLE日志检查
1.OS日志
主要通过errpt查看,检查有没有异常信息。
另外,还需检查hacmp日志/tmp/hacmp.log
2.检查本地磁盘空间:
用df -g命令查看,需要特别注意两个节点的/backup目录,数据库的归档日志存放在该目录下,如果该空间满了会导致数据库挂起。
3.ORACLE日志
主要检查以下目录下的log文件,是否存在异常信息。
每天只少应检查一遍。
CRS日志:
cssd进程:/u01/app/oracle/product/10.2.0/crs/log/bjhsdb1/cssd
crsd进程:/u01/app/oracle/product/10.2.0/crs/log/bjhsdb1/crsd
evmd进程:/u01/app/oracle/product/10.2.0/crs/log/bjhsdb1/evmd DA TABASE日志:/u01/app/oracle/admin/ghrac/
最主要需要观察此日志:/u01/app/oracle/admin/ghrac/bdump/alert_bjhsdb1.log与alert_bjhsdb2.log关注期中的一些ORA-打头的报错信息。
六、数据库的备份与还原
数据库的备份与还原是数据库最重要的一项内容,它也是数据库能长期运行的保证,当前数据库主要采用物理备份和逻辑备份:
1. 物理备份方式
主要采用两种方式:
RMAN 工具或第三方工具与RMAN 结合使用,这是业界主要的备份方式。
使用操作系统备份方式:
例:
Sql命令:ALTER TABLESPACE BEGIN BACKUP;
操作系统命令拷贝:cp /ddd/dddd /bbb/dddd
Sql命令:ALTER TABLESPACE BEGIN BACKUP;
2. 逻辑备份方式
使用传统的export/import 命令:
使用exp help=y和imp help=y获得帮助
例:
Exp user/passwd@db file=/databak/abc.dmp log=/databak/abc.log owner=test
使用10g 的数据泵:
与export/import 命令差不多,使用expdp help=y 和impdp help=y获得帮助
3. 当前系统的考虑
考虑到当前系统的业务需求:
建议暂时采用逻辑备份的方法:
数据备份:
Exp user/passwd file=/databak/abc.dmp log=/databak/abc.log owner=HSMAN
控制文件备份:
Alter system backup controlfile to trace;
初始参数备份:
Create pfile from spfile;
至于tnsnames.ora,listener.ora 使用操作系统拷贝。
集群文件备份:
七、AWR报告的产生
注,在oracle10g中,每隔一小时就会产生一个快照,把其相关信息存放在SYSAUX。
当系统消耗过多资源,或当感觉数据库存在性能问题时,我们可以利用其快照产生AWR 报告,帮助分析性能瓶颈。
以oracle用户登入数据库主机,进入以下目录:
cd $ORACLE_HOME/rdbms/admin
下面是一个产生AWR报告的例子(产生的是15:04-16:00之间的报告),蓝色部为需。