数据库配置(修改).doc_第1页
数据库配置(修改).doc_第2页
数据库配置(修改).doc_第3页
数据库配置(修改).doc_第4页
数据库配置(修改).doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 数据库配置本次检查工作主要针对数据库taxshare。1.1 数据库版本和单独补丁目前已经安装的单独补丁列表如下:opatch lsinventory -oh $ORACLE_HOMEset ORACLE_HOME=oracle目录cd $ORACLE_HOME/Opatch/opatch lsinventory -all detail次查询必须先安装optchPatchBase Bug(s)Installed on建议:1.2 CRS版本和单独补丁CRS安装单独补丁列表如下:opatch lsinventory -oh $ORA_CRS_HOMEopatch lsinventory -detail -oh NameVersionInstalled on建议:1.3 ORACLE CLUSTER配置OCR使用和备份都正常。相关CRS的资源和服务都正常。$ olsnodes$ ocrcheck$ ocrconfig -showbackup$ crsctl check crsCSS appears healthyCRS appears healthyEVM appears healthy$ crs_stat -t1.4 初始化参数文件数据库SPFILE参数指定了当前使用的数据库配置参数,在数据库启动时被使用。在附录A列出了数据库所有的非默认值的参数。建议:数据库的参数可以看出大部分都是经过精心设置的。建议调整的参数值,请在测试环境数据库中测试确认之后,再调整于生产环境数据库。1.5 CRS日志文件从Oracle 10g RAC版本开始,新增加CRS组件。CRS对于RAC使用是必不可少,因此crs的稳定对于RAC数据库的正常运行至关重要。在健康检查中会检查CRS、CSS和EVM的LOG信息。.建议:无检查CRS其他相关进程日志,没有发现问题。1.6 RDBMS运行日志和跟踪文件Oracle 数据库进程生成跟踪文件来记录错误或冲突,这些跟踪文件可以用来进一步分析问题。数据库参数max_dump_file_size限制了这些跟踪文件的大小(以操作系统块的大小为单位)。应当有足够的硬盘空间来容纳最大值的设置,否则的话应当修改上述参数的设置。如果参数max_dump_file_size设得太大,会超过硬盘空间容量;如果设得太小,又不能容纳足够的出错信息供oracle 支持服务部门分析问题。此参数可以在数据库会话级设置,这样可以有选择性地设置较大值。注意每天监控运行日志文件中的出错信息,以便于在问题还是隐患的时候及时发现并解决掉。建议每月初将当前的alert.log重新命名以作备份,同时也可以避免alert.log文件变得太大不易管理。在数据库:实例的运行日志文件发现的最近一月内的主要错误如下所示:建议:1.7 控制文件每个数据库至少有一个控制文件(默认是3个)。控制文件记录了数据库的物理结构及同步信息。大小一般在1MB到5MB之间,为二进制文件,但它是数据库中关键性的文件,它对数据库的成功启动和正常运行都是至关重要的,因为它存储了在其他地方无法获取的关键信息,这些信息包括:数据库名称数据文件和重做日志文件的名称,位置和大小发生洗盘故障或用户错误时,用于恢复数据库的信息注意:每个数据库必须,而且只需要有一个控制文件在装载(mount)数据库时,Oracle将读取控制文件中的信息,以便判断数据库的状态,获取数据库的物理结构信息的物理文件的使用权。因此,控制文件对于数据库的成功卸载,以及其后的打开显得至关重要。只有控制文件时正常的,才能装载,打开数据库,在数据库运行过程中,每当出现数据库检查点(checkpoint)或修改数据库结构之后,Oracle就会修改控制文件的内容。DBA可以通过OEM工具修改控制文件中的部分内容,但DBA和用户都不应该人为地修改控制文件中的内容,否则会破坏控制文件。Control file location控制文件路径如下:Select name,is_recovery_dest_file,block_size,file_size_blks from v$controlfile;IS_RECOVERY_DEST_FILE ,指明相关的文件是否在恢复区内。 select sum( block_size*file_size_blks )/1024/1024 from v$controlfile #控制文件大小NameIS_RECOVERY_DEST_FILEBLOCK_SIZEFILE_SIZE_BLKS+DISK1/taxshare/controlfile01.logNO16384430+DISK1/taxshare/controlfile02.logNO16384430+DISK1/taxshare/controlfile03.logNO16384430目前所有控制文件的文件存储在RAID的磁盘阵列上面,提供了硬件级别的保护。1.8 Redo log 文件对于恢复操作,最为关键的结构是在线Redo Log。在线Redo Log一般由两个或两个以上预先分配的存储数据库变化的文件组成。为了防止例程故障,每个数据库的实例都有相关的在线Redo Log。每个数据库至少有两个Redo Log组,每组至少有一个日志文件。Oracle的多重在线Redo Log文件可以确保在线日志文件的安全。对于多重在线Redo Log文件,LGWR同时将相同的Redo Log信息写入不同的Redo Log文件中,从而减少单个文件丢失的损失。当Oracle无法访问一个Redo Log文件时,这个文件状态变为INVALID。当Oracle推测一个Redo Log文件不完整或者不正确时,它的状态变为STALE。当一个STALE的文件被重用时,即其所在日志文件组活动时,此文件也能够使用。在线Redo Log文件减少了数据库数据丢失的损失,比如当发生例程故障时,没有被写入数据文件的数据可以从在线Redo Log文件中恢复。v$log是用来反映redo log file的数据字典SELECT group#, members, thread#,sequence#,bytes, status, archived FROM v$log; # 得到Oracle数据库的重做日志配置信息select group#,thread#,sequence#,archived,status from v$log;select * from v$logfile;# 获取oracle的每个重做日志(成员)文件所存放的具体位置status-有四种状态,UNUSED(未使用的),CURRENT(当前),ACTIVE(清除),CLEARING(不活跃)V$LOG:STATUS 指的是GROUP的状态V$LOGFILE:STATUS指的是member的状态INVALID: 不能使用的member,可能损坏了(另外,刚加入到redolog group的日志文件在被使用之前也是这个状态)group#: An online redo log group is a group of (possibly one) online redo log files. members: Each of these files in the groups is called an online redo log member of the group.Thread # 线程号thread = the instance # in RACa thread must have = 2 groupsa group must have = 1 members如果不是rac系统,你不用去管thread,thread就是1.对于rac系统,每个instance必须有自己的redo log group,每个instance的全体group组叫做一个thread,就是说,thread数目=instance数目对于rac系统, 每个instance至少要有2个group,每个group最少有1个member。thread group memberGroup #Thread #MembersArchivedStatusBytes/1024/1024111YINACTIVE2000211YCURRENT2000321YINACTIVE2000421YCURRENT2000111YINACTIVE2000211YCURRENT2000321YINACTIVE2000421YCURRENT2000建议:无1.9 归档Redo log 文件Oracle允许将写满的在线Redo Log文件存放在一个或多个脱机位置,即归档Redo Log。在线日志文件通过归档写入归档日志文件。后台进程ARCn自动进行归档操作。您能通过归档日志进行:在线备份基于时间的恢复Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。数据库使用归档方式运行时才可以进行灾难性恢复。1.归档日志模式和非归档日志模式的区别非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复.归档模式可以做热备份,并且可以做增量备份,可以做部分恢复.用ARCHIVE LOG LIST 可以查看期模式状态时归档模式还是非归档模式Archived Redo Log Settings1.select name,log_mode from v$database; #查询归档模式2.改变非归档模式到归档模式:1)SQLSHUTDOWNNORMAL/IMMEDIATE;先down下数据 2)SQLSTARTMOUNT;启动数据库实例到mount状态,但不要打开 3)SQLALTERDATABASEARCHIVELOG;设置数据库为归档日志模式 4)SQLALTERDATABASEOPEN;打开数据库 5)SQLarchiveloglist;确认数据库现在处于归档日志模式 6)SQLarchivelogall;将这个时间点的redologs归档3.SQLaltertablespaceusersbeginbacup;#做一次完全备份,因为非归档日志模式下产生的备份日志对于归档模式已经不可用了.这一步非非常重要!4.如果停止归档模式就用alter database noarchivelog1)SQLSHUTDOWNNORMAL/IMMEDIATE; 2)SQLSTARTMOUNT; 3)SQLALTERDATABASENOARCHIVELOG; 4)SQLALTERDATABASEOPEN;5.启用自动归档: LOG_ARCHIVE_START=TRUE启用手动归档: LOG_ARCHIVE_START=FALSE归档模式下,日志文件组不允许被覆盖(重写),当日志文件写满之后,如果没有进行手动归档,那么系统将挂起,知道归档完成为止.这时只能读而不能写.运行过程中关闭和重启归档日志进程SQLARCHIVE LOG STOPSQLARCHIVE LOG START6. .获取归档日志信息V$ARCHVIED_LOGV$ARCHVIE_DESTV$LOG_HISTORYV$DATABASEV$ARCHIVE_PROCESSESARCHIVE LOG LIST;Show parameter archiveNAMETYPEVALUEarchive_lag_targetinteger0log_archive_configstringlog_archive_deststringlog_archive_dest_1stringlog_archive_dest_10stringlog_archive_dest_2stringlog_archive_dest_3stringlog_archive_dest_4stringlog_archive_dest_5stringlog_archive_dest_6stringlog_archive_dest_7stringlog_archive_dest_8stringlog_archive_dest_9stringlog_archive_dest_state_1stringenablelog_archive_dest_state_10stringenablelog_archive_dest_state_2stringenablelog_archive_dest_state_3stringenablelog_archive_dest_state_4stringenablelog_archive_dest_state_5stringenablelog_archive_dest_state_6stringenablelog_archive_dest_state_7stringenablelog_archive_dest_state_8stringenablelog_archive_dest_state_9stringenablelog_archive_duplex_deststringlog_archive_formatstringARC%S_%R.%Tlog_archive_local_firstbooleanTRUElog_archive_max_processesinteger2log_archive_min_succeed_destinteger1log_archive_startbooleanFALSElog_archive_traceinteger0remote_archive_enablestringtruestandby_archive_deststring%ORACLE_HOME%RDBMS建议:这里能够很好地在运行环境中使用归档Redo Log。这样就能够进行基于时间的恢复。监控归档日志文件所暂时存放的磁盘空间,根据实际情况调整归档日志文件备份到磁带的频度。1.10 数据文件数据文件是数据库分配的物理文件。在Oracle数据库中,一个表空间可以包含一个或多个物理文件。而一个数据文件则只能关联一个表空间和一个数据库。Oracle通过分配一定的磁盘空间以及所需要的文件头空间,为每个表空间创建一个数据文件。Data file locations检测数据文件的位置。当数据文件增长过度,数据库中必须添加数据文件。应该避免“哪里有空间,哪里建文件”的错误方法,因为这样会增加备份策略和文件维护的复杂性。下面列出部分数据文件的位置。select tablespace_name ,autoextensible,online_status from dba_data_filesselect b.bytes/1024/1024 D_Size,(b.bytes-sum(nvl(a.bytes,0)/1024/1024 Used,substr(b.bytes-sum(nvl(a.bytes,0)/(b.bytes)*100,1,5) Used_precfrom dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_name,b.bytes order by b.tablespace_name;#查询表空间大小,已使用情况,和使用率select d.TS#, d.NAME, c.file_num from v$tablespace d,(select b.TS# ts_id, count(a.TS#) file_num from v$tablespace b, v$datafile awhere a.TS# = b.TS#group by b.TS#) cwhere d.TS# = c.ts_id #查询文件数量DBA_DATA_FILESDBA_DATA_FILES describes database files.ColumnDatatypeNULLDescriptionFILE_NAMEVARCHAR2(513)Name of the database fileFILE_IDNUMBERNOT NULLFile identifier number of the database fileTABLESPACE_NAMEVARCHAR2(30)NOT NULLName of the tablespace to which the file belongsBYTESNUMBERSize of the file in bytesBLOCKSNUMBERNOT NULLSize of the file in Oracle blocksSTATUSVARCHAR2(9)File status: AVAILABLE or INVALID (INVALID means that the file number is not in use, for example, a file in a tablespace that was dropped)RELATIVE_FNONUMBERRelative file numberAUTOEXTENSIBLEVARCHAR2(3)Autoextensible indicatorMAXBYTESNUMBERMaximum file size in bytesMAXBLOCKSNUMBERMaximum file size in blocksINCREMENT_BYNUMBERNumber of tablespace blocks used as autoextension increment. Block size is contained in the BLOCK_SIZE column of the DBA_TABLESPACES view.USER_BYTESNUMBERThe size of the file available for user data. The actual size of the file minus the USER_BYTES value is used to store file related metadata.USER_BLOCKSNUMBERNumber of blocks which can be used by the dataONLINE_STATUSVARCHAR2(7)Online status of the file: SYSOFF SYSTEM OFFLINE ONLINE RECOVEROnline_statustablespace_nameFile_NumD_Size(MB)Used (MB)Used (%)AutoextensibleSYSTEMSYSTEM11800737.394YONLINEUSERS110001663YSYSAUX8000118.415ONLINEWEBSITE530000452.12YONLINESOCIETYDATA14001.0476ONLINETEMP16240000YONLINEUNDOTBS238000751YONLINEUNDOTBS128000811Y建议:从目前看来,数据文件存放位置都基本准确。Autoextend capabilities通过自动扩展命令进行数据文件的自动扩展。假定数据文件无法分配所需空间,那么它将提高数据文件的大小以获得更多空间。建议:无1.11 表空间每个数据库由一个或多个逻辑存储单位,即表空间,所组成。而表空间则由逻辑存储单位段所组成。而段将被分为多个片。Tablespace Management以下是关于数据库表空间管理的信息。select TABLESPACE_NAME,STATUS,EXTENT_MANAGEMENT,ALLOCATION_TYPE,SEGMENT_SPACE_MANAGEMENT from dba_tablespaces;select b.bytes/1024/1024 D_Size,(b.bytes-sum(nvl(a.bytes,0)/1024/1024 Used,substr(b.bytes-sum(nvl(a.bytes,0)/(b.bytes)*100,1,5) Used_precfrom dba_free_space a,dba_data_files b where a.file_id=b.file_id group by b.tablespace_name,b.file_name,b.bytes order by b.tablespace_name;#查询表空间大小,已使用情况,和使用率StatusNameTypeExtent ManagementSegment Space ManagementSize (MB)Used (MB)Used (%)ONLINECCDBSYSTEMLOCALAUTO80006546.4481.83ONLINESYSAUXSYSTEMLOCALAUTO700521.9474.56ONLINESYSTEMSYSTEMLOCALMANUAL5900460.387.8ONLINEUSERSSYSTEMLOCALAUTO100973ONLINEUNDOTAB1SYSTEMLOCALMANUAL8007.44.93ONLINEUNDOTAB2SYSTEMLOCALMANUAL8002.56.32ONLINETEMPUNIFORMLOCALMANUAL420007.8建议:Tablespace Default Storage Management每个表空间中,可以为创建的对象指定缺省的存储参数。创建对象时指定的存储参数将覆盖缺省值。如果在创建对象时没有指定存储参数,那么系统将使用缺省值。Select TABLESPACE_NAME, ALLOCATION_TYPE, Initial_Extent, Next_Extent, Min_Extents, Max_Extents, Min_extlen, PCT_INCREASE from user_tablespacesSELECT tablespace_name, initial_extent, next_extent, min_extlen,max_extents, pct_increase * FROM dba_tablespacesMINEXTENTS是定义分配的extents的最小(minimum)数量的存储参数。MAX_EXTENTS可扩展的最大次数initial: 段建立时被分配的第一个区(第一块空间)的大小next: 段被分配的第二个区的大小minextents: 段被分配的区个数下限maxextents: 段被分配的区个数上限pct-increase:从第3个分区开始,段被分配的新区比前一个分配的分区扩大到百分比uniform管理方式下,表空间的extent分配原则是:initial,next值固定为uniform指定值,min,max,pct参数自动设置默认值(分别为1,231,0);表空间中新建表时,extent分配情况按表空间所定参数进行,并以固定不变的uniform值进行extent扩充,而建表时指定上述各项storage参数无效(注意initial_extent)。UNIFORM SIZE就是这个表空间中所有的区间是同样的大小,好处是防止碎片。表空间缺省存储情况:TABLESPACE_NAMEALLOCATION_TYPEInitial _ExtentNext _ExtentMin_ExtentsMax_Extents(byte)Min_extlenPCT_INCREASE (%)SYSTEMSYSTEM64K1214748364564KSYSAUXSYSTEM64k1214748364564KUNDOTBS1SYSTEM64K1214748364564KTEMPUNIFORM1024K1024K121474836451024KUSERSSYSTEM64K1214748364564KEXAMPLESYSTEM64K1214748364564K数据库表空间的管理方式均为本地管理,这有利于减少表空间级别的碎片,同时避免了DB在进行空间管理时对数据字典表(FET$、UET$)的争用。我们知道系统中存在越多的空闲extent,越容易发生碎片问题。其中空闲extent的大小非常重要,如果在表空间上有许多个无法满足指定的next大小的空闲extent,那这个空闲extent就无法被重新使用并成为碎片,这时就需要重新整理碎片;我们可以使用COALESCE命令合并相邻的extent,来减少系统中的碎片。如果系统中不连续的小空闲extent过多,也就是碎片过多,则可能需要通过重建表空间的方式来消除碎片。系统多数表空间使用ASSM,ASSM使用位图而不是传统的FreeList来管理段内的free db block,大大提升了空间管理的性能。同时显著的减少segment header类型的buffer busy wait等待事件。建议:表空间的管理方式选择合理。Next Extent保证段能够增长是很重要的,因此在必要时分配next extent。如果在表空间中没有足够的空余空间,那么next extent无法分配,对象也无法增长。在数据库中没有发现无法分配NEXT EXTENT的段。Temporary Tablespace临时表空间用于存放临时段。为了维护数据库的性能,临时表空间的维护方法有别于其他一般表空间。缺省情况下,所有表空间都创建为PERMANENT。所以在创建临时段时,需要保证表空间类型为TEMPORARY。由于这些表空间中的排序段不被清除,所以减少了空间事务争夺,同时减少了SMON对于CPU的使用率。当进行长时间清理时,用户无法进行排序操作。在这种情况下,可以指定用户使用状态为PERMANENT的临时表空间。这有可能会引起空间事务争夺,但是可以允许用户在磁盘上进行排序操作。由于表空间的extent 使用了local management 方式,对表空间采用位图管理,更利于空间的使用及回收管理。Select * from v$tempfileSelect TABLESPACE_NAME, ALLOCATION_TYPE, Initial_Extent, Next_Extent, Min_Extents, Max_Extents, Min_extlen, PCT_INCREASE from user_tablespaces where contents=TEMPORARYStatusTABLESPACE_NAMESize (byte)Minimum ExtentsMax_ExtentsMin_ExtLen(kbit)Increase (%)OlineTemp8192121474836451024建议:在数据库TEMP为TEMPORARY类型的表空间,Extent Management 方式为LOCAL。保证每一个数据库用户都被分配一个临时类型的TEMP表空间。以下列出了将PERM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论