您好,欢迎来到尔游网。
搜索
您的当前位置:首页数据库日常维护手册

数据库日常维护手册

来源:尔游网


数据库日常维护手册

注,蓝色部分为可执行命令,红色部分为重点注意的。

一、停止、启动群集

首先应停止实例和相关服务,最后才是关闭节点应用程序(虚拟 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)\Size(M)\

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_DATA表空间分配了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

DATABASE日志:/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之间的报告),蓝色部为需要

手工输入的。

[GFQH-TDB10:oracle:/oracle/product/10.2.0/db/rdbms/admin#]sqlplus / as sysdba SQL*Plus: Release 10.2.0.3.0 - Production on Fri Sep 7 16:01:25 2007 Copyright (c) 1982, 2006, Oracle. All Rights Reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - bit Production With the Partitioning, Real Application Clusters and Data Mining options SQL> @awrrpt.sql Current Instance ~~~~~~~~~~~~~~~~ DB Id DB Name Inst Num Instance ----------- ------------ -------- ------------ 2260032062 TDB 1 tdb1

Specify the Report Type

~~~~~~~~~~~~~~~~~~~~~~~

Would you like an HTML report, or a plain text report?

Enter 'html' for an HTML report, or 'text' for plain text

Defaults to 'html'

Enter value for report_type: html

Type Specified: html

Instances in this Workload Repository schema

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

DB Id Inst Num DB Name Instance Host

------------ -------- ------------ ------------ ------------

2260032062 2 TDB tdb2 GFQH-TDB11

* 2260032062 1 TDB tdb1 GFQH-TDB10

Using 2260032062 for database Id Using 1 for instance number Specify the number of days of snapshots to choose from ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Entering the number of days (n) will result in the most recent (n) days of snapshots being listed. Pressing without specifying a number lists all completed snapshots. Enter value for num_days: 1 #这里指定列出快照天数 Listing the last day's Completed Snapshots Snap Instance DB Name Snap Id Snap Started Level ------------ ------------ --------- ------------------ ----- tdb1 TDB 3 07 Sep 2007 00:00 1

4 07 Sep 2007 01:00 1

5 07 Sep 2007 02:00 1

6 07 Sep 2007 03:00 1

7 07 Sep 2007 04:00 1

8 07 Sep 2007 05:00 1

9 07 Sep 2007 06:00 1

10 07 Sep 2007 07:00 1

11 07 Sep 2007 08:00 1

12 07 Sep 2007 09:00 1

13 07 Sep 2007 10:00 1

14 07 Sep 2007 11:00 1

15 07 Sep 2007 12:00 1

16 07 Sep 2007 13:00 1

17 07 Sep 2007 14:00 1

18 07 Sep 2007 15:04 1

19 07 Sep 2007 16:00 1

Specify the Begin and End Snapshot Ids

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Enter value for begin_snap: 18

Begin Snapshot Id specified: 18

Enter value for end_snap: 19

End Snapshot Id specified: 19

Specify the Report Name

~~~~~~~~~~~~~~~~~~~~~~~

The default report file name is awrrpt_1_18_19.html. To use this name,

press to continue, otherwise enter an alternative.

Enter value for report_name: /tmp/awrsp.html

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- axer.cn 版权所有 湘ICP备2023022495号-12

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务