Oracle数据库健康检查与评估_第1页
Oracle数据库健康检查与评估_第2页
Oracle数据库健康检查与评估_第3页
Oracle数据库健康检查与评估_第4页
Oracle数据库健康检查与评估_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、.:.;PAGE iiJoint Contact Guide v3.0 Commercial in ConfidencePage PAGE ii安康检查报告XXXXXXXXXXXXXXXXXXXXOracle数据库安康检查与评价XXXX巡检人:报告生成日期:yyyy-mm-dd 安康检查报告 第 PAGE 28页文档控制此文档仅供江苏挪动审阅,不得向与此无关的个人或机构传阅或复制。修正记录日期作者版本修正记录分发者、姓名职位审阅记录姓名职位相关文档目录 TOC o 1-3 h z HYPERLINK l _Toc240861117 文档控制 PAGEREF _Toc240861117 h 2

2、HYPERLINK l _Toc240861118 修正记录 PAGEREF _Toc240861118 h 2 HYPERLINK l _Toc240861119 分发者 PAGEREF _Toc240861119 h 2 HYPERLINK l _Toc240861120 审阅记录 PAGEREF _Toc240861120 h 2 HYPERLINK l _Toc240861121 相关文档 PAGEREF _Toc240861121 h 2 HYPERLINK l _Toc240861122 目录 PAGEREF _Toc240861122 h 3 HYPERLINK l _Toc24

3、0861123 1.检查引见 PAGEREF _Toc240861123 h 5 HYPERLINK l _Toc240861124 1.1检查系统 PAGEREF _Toc240861124 h 5 HYPERLINK l _Toc240861125 1.2检查范围 PAGEREF _Toc240861125 h 5 HYPERLINK l _Toc240861126 2.硬件配置 PAGEREF _Toc240861126 h 7 HYPERLINK l _Toc240861127 2.1主机配置 PAGEREF _Toc240861127 h 7 HYPERLINK l _Toc2408

4、61128 3.系统配置 PAGEREF _Toc240861128 h 8 HYPERLINK l _Toc240861129 3.1操作系统数据库相关要求补丁 PAGEREF _Toc240861129 h 8 HYPERLINK l _Toc240861130 3.2硬盘可用空间 PAGEREF _Toc240861130 h 8 HYPERLINK l _Toc240861131 3.3CPU 利用率 PAGEREF _Toc240861131 h 8 HYPERLINK l _Toc240861132 4.数据库配置 PAGEREF _Toc240861132 h 10 HYPERL

5、INK l _Toc240861133 4.1数据库版本和单独补丁 PAGEREF _Toc240861133 h 10 HYPERLINK l _Toc240861134 4.2CRS版本和单独补丁 PAGEREF _Toc240861134 h 10 HYPERLINK l _Toc240861 4.3ORACLE CLUSTER配置 PAGEREF _Toc240861 h 10 HYPERLINK l _Toc240861 4.4数据库产品选项 PAGEREF _Toc240861 h 10 HYPERLINK l _Toc240861 4.5初始化参数文件 PAGEREF _Toc2

6、40861 h 11 HYPERLINK l _Toc240861 4.6CRS日志文件 PAGEREF _Toc240861 h 11 HYPERLINK l _Toc240861 4.7RDBMS运转日志和跟踪文件 PAGEREF _Toc240861 h 11 HYPERLINK l _Toc240861140 4.8控制文件 PAGEREF _Toc240861140 h 11 HYPERLINK l _Toc240861141 4.9Redo log 文件 PAGEREF _Toc240861141 h 12 HYPERLINK l _Toc240861142 4.10归档Redo

7、log 文件 PAGEREF _Toc240861142 h 13 HYPERLINK l _Toc240861143 4.11数据文件 PAGEREF _Toc240861143 h 13 HYPERLINK l _Toc240861144 4.12表空间 PAGEREF _Toc240861144 h 14 HYPERLINK l _Toc240861145 4.13回滚段管理 PAGEREF _Toc240861145 h 15 HYPERLINK l _Toc240861146 5.数据库简单风险评价 PAGEREF _Toc240861146 h 17 HYPERLINK l _To

8、c240861147 5.1平安性管理 PAGEREF _Toc240861147 h 17 HYPERLINK l _Toc240861148 6.SqlNet 概略 PAGEREF _Toc240861148 h 18 HYPERLINK l _Toc240861149 6.1监听器Listener PAGEREF _Toc240861149 h 18 HYPERLINK l _Toc240861150 6.2SQL*Net PAGEREF _Toc240861150 h 18 HYPERLINK l _Toc240861151 6.3TNSNAMES PAGEREF _Toc240861

9、151 h 18 HYPERLINK l _Toc240861152 7.数据库性能 PAGEREF _Toc240861152 h 19 HYPERLINK l _Toc240861153 7.1数据库各项基于时间模型的统计信息 PAGEREF _Toc240861153 h 19 HYPERLINK l _Toc240861154 7.2数据库负荷压力分析 PAGEREF _Toc240861154 h 20 HYPERLINK l _Toc240861155 7.3各项命中率 PAGEREF _Toc240861155 h 21 HYPERLINK l _Toc240861156 7.4

10、等待事件 PAGEREF _Toc240861156 h 21 HYPERLINK l _Toc240861157 7.5统计信息分析 PAGEREF _Toc240861157 h 21 HYPERLINK l _Toc240861158 7.6数据库I/O性能 PAGEREF _Toc240861158 h 22 HYPERLINK l _Toc240861159 7.7索引/行迁移/行链 PAGEREF _Toc240861159 h 22 HYPERLINK l _Toc240861160 7.8Enqueue等待分析 PAGEREF _Toc240861160 h 23 HYPERL

11、INK l _Toc240861161 7.9Latch分析 PAGEREF _Toc240861161 h 23 HYPERLINK l _Toc240861162 7.10Resource Limit分析 PAGEREF _Toc240861162 h 23 HYPERLINK l _Toc240861163 7.11Top SQL语句 PAGEREF _Toc240861163 h 24 HYPERLINK l _Toc240861164 8.数据库备份战略评价 PAGEREF _Toc240861164 h 25 HYPERLINK l _Toc240861165 8.1备份 PAGE

12、REF _Toc240861165 h 25 HYPERLINK l _Toc240861166 8.2恢复 PAGEREF _Toc240861166 h 25 HYPERLINK l _Toc240861167 9.数据库特别关注点检查 PAGEREF _Toc240861167 h 26 HYPERLINK l _Toc240861168 10.检查总结 PAGEREF _Toc240861168 h 27 HYPERLINK l _Toc240861169 附录:初始化参数 PAGEREF _Toc240861169 h 28 HYPERLINK l _Toc240861170 数据库

13、一切非默许值的参数: PAGEREF _Toc240861170 h 28检查引见检查系统系统主要包括1个数据库,详细情况如下:数据库称号数据库实例名运用称号运用类型OLTP/DSS/Batch开发工具运用简介RDBMS 版本CRS 版本一切数据文件所占磁盘空间SGA target sizeDB_BLOCK Size表空间个数数据文件个数控制文件个数日志文件大小日志组数目每组日志文件成员数量归档方式并发用户量性能需求检查范围本次检查仅限于数据库。在这次检查中对数据库配置和数据库性能进展了分析。本报告提供的检查和建议不涉及详细的平安分析和运用程序的详细细节。以下提请留意:本次检查仅历时1天,其中

14、还包括了提交分析报告的时间,所以在详细的运用程序性能方面并不加以深化。检查方面详细检查内容硬件配置主机配置共享内存参数信号量操作系统中与数据库相关主要参数操作系统数据库相关要求补丁系统配置硬盘可用空间CPU利用率数据库版本数据库配置数据库产品选项数据库参数运转日志和跟踪文件控制文件Redo log文件归档Redo log文件数据文件表空间回滚段管理平安性管理数据库简单风险评价监听器的设置数据库sql*net配置SQL*Net设置TNSNAMES设置数据库各项命中率数据库性能等待事件AWR统计信息分析数据库I/O性能索引/行迁移/行链接Sort信息统计Enqueue等待分析Latch分析Reso

15、urce Limit分析Top SQL 语句备份恢复数据库备份战略评价根据客户要求只能检查一项数据库特别关注点检查硬件配置以以下出系统主机的主要配置情况主机配置机器名用途 (Prod, Test, Development)所在城市,物理位置机房,远程操作系统及版本内存cpu 建议:目前系统配置满足数据库要求,操作系统参数设置合理。系统配置和数据库相关的操作系统配置将被检查,包括以下方面:操作系统数据库相关要求补丁存放oracle文件的硬盘区可用空间(oracle文件包括:数据文件,控制文件,在线redo logs,归档redo logs,运转情况文件和跟踪文件)。硬盘利用率。CPU利用率。操作

16、系统数据库相关要求补丁建议:硬盘可用空间硬盘可用情况如下示:数据库XXXX的硬盘运用率情况如下:Filesystem kbytes used avail %used Mounted on数据库YYYY的硬盘运用率情况如下:Filesystem kbytes used avail %used Mounted on建议:目前该数据库效力器中还没有其他硬盘空间运用率超越90%的分区。假设有需求引起留意并且及时添加硬盘空间的容量。CPU 利用率CPU利用率的统计时间是:yyyy-mm-dd hh:mi yyyy-mm-dd hh:mitop / glancevmstat 2 20参考值:最大CPU运用

17、率:60%-70%系统进程与用户进程占用CPU最大比率:40/60数据库XXXX:数据库YYYY: 从上述的情况中看出,数据库:效力器CPU idle根本在75%以上,CPU资源较为空闲。建议:当CPU的运用率超越80%,要留意监控能否有僵死进程,假设有僵死进程占用CPU,需求将僵死进程kill掉。假设有正常进程占用大量CPU,需求查看能否属于正常业务进程等。数据库配置本次检查任务主要针对数据库XXXX。数据库版本和单独补丁目前曾经安装的单独补丁列表如下:opatch lsinventory -oh $ORACLE_HOMEPatchBase Bug(s)Installed on 建议:CRS

18、版本和单独补丁CRS安装单独补丁列表如下:opatch lsinventory -oh $ORA_CRS_HOMENameVersionInstalled on建议:ORACLE CLUSTER配置OCR运用和备份都正常。相关CRS的资源和效力都正常。$ olsnodes$ ocrcheck $ ocrconfig -showbackup$ crsctl check crsCSS appears healthyCRS appears healthyEVM appears healthy$ crs_stat -t数据库产品选项当oracle软件安装时,会选择要安装的产品。有某些产品的安装是需求l

19、icense的,本次检查不涉及license问题。普通,很多系统安装的数据库产品选项根本未被运用。以以下出的安装产品选项可供未来的运用开发参考,或是可以被确认有哪些产品选项未在原方案之内。以下是数据库安装的产品选项:ParameterValue初始化参数文件数据库SPFILE参数指定了当前运用的数据库配置参数,在数据库启动时被运用。在附录A列出了数据库一切的非默许值的参数。建议:数据库的参数可以看出大部分都是经过精心设置的。建议调整的参数值,请在测试环境数据库中测试确认之后,再调整于消费环境数据库。CRS日志文件从Oracle 10g RAC版本开场,新添加CRS组件。CRS对于RAC运用是必

20、不可少,因此crs的稳定对于RAC数据库的正常运转至关重要。在安康检查中会检查CRS、CSS和EVM的LOG信息。.建议:2检查CRS其他相关进程日志,没有发现问题。RDBMS运转日志和跟踪文件Oracle 数据库进程生成跟踪文件来记录错误或冲突,这些跟踪文件可以用来进一步分析问题。数据库参数max_dump_file_size限制了这些跟踪文件的大小(以操作系统块的大小为单位)。该当有足够的硬盘空间来包容最大值的设置,否那么的话该当修正上述参数的设置。假设参数max_dump_file_size设得太大,会超越硬盘空间容量;假设设得太小,又不能包容足够的出错信息供oracle 支持效力部门分

21、析问题。此参数可以在数据库会话级设置,这样可以有选择性地设置较大值。留意每天监控运转日志文件中的出错信息,以便于在问题还是隐患的时候及时发现并处理掉。建议每月初将当前的alert.log重新命名以作备份,同时也可以防止alert.log文件变得太大不易管理。在数据库:实例的运转日志文件发现的最近一月内的主要错误如下所示:建议:控制文件每个数据库至少有一个控制文件。控制文件记录了数据库的物理构造及同步信息。Control file location控制文件途径如下:NameStatus目前一切的控制文件文件存储在曾经做了硬件RAID的磁盘阵列上面,提供了硬件级别的维护。建议 : Redo log

22、 文件对于恢复操作,最为关键的构造是在线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文件不完好

23、或者不正确时,它的形状变为STALE。当一个STALE的文件被重用时,即其所在日志文件组活动时,此文件也可以运用。在线Redo Log文件减少了数据库数据丧失的损失,比如当发生例程缺点时,没有被写入数据文件的数据可以从在线Redo Log文件中恢复。Group #Thread #Sequence #BytesMembersArchivedStatusFirst Change #First Time建议:归档Redo log 文件Oracle允许将写满的在线Redo Log文件存放在一个或多个脱机位置,即归档Redo Log。在线日志文件经过归档写入归档日志文件。后台进程ARCn自动进展归档操作

24、。您能经过归档日志进展:在线备份基于时间的恢复Archived Redo Log SettingsParameter Value 建议:这里可以很好地在运转环境中运用归档Redo Log。这样就可以进展基于时间的恢复。监控归档日志文件所暂时存放的磁盘空间,根据实践情况调整归档日志文件备份到磁带的频度。数据文件数据文件是数据库分配的物理文件。在Oracle数据库中,一个表空间可以包含一个或多个物理文件。而一个数据文件那么只能关联一个表空间和一个数据库。Oracle经过分配一定的磁盘空间以及所需求的文件头空间,为每个表空间创建一个数据文件。Data file locations检测数据文件的位置。

25、当数据文件增长过度,数据库中必需添加数据文件。应该防止“哪里有空间,哪里建文件的错误方法,由于这样会添加备份战略和文件维护的复杂性。下面列出部分数据文件的位置。StatusNameTablespaceFile NumberRelative File NumberSizeUsed (MB)Used (%)Autoextensible 建议:目前看来,数据文件存放位置根本准确。Autoextend capabilities经过自动扩展命令进展数据文件的自动扩展。假定数据文件无法分配所需空间,那么它将提高数据文件的大小以获得更多空间。建议:表空间每个数据库由一个或多个逻辑存储单位,即表空间,所组成。

26、而表空间那么由逻辑存储单位段所组成。而段将被分为多个片。Tablespace Management以下是关于数据库表空间管理的信息。StatusNameTypeExtent ManagementSegment Space ManagementSize (MB)Used (MB)Used (%)建议:Tablespace Default Storage Management每个表空间中,可以为创建的对象指定缺省的存储参数。创建对象时指定的存储参数将覆盖缺省值。假设在创建对象时没有指定存储参数,那么系统将运用缺省值。表空间缺省存储情况:NameTypeInitial ExtentNext Exte

27、ntLargest Free ExtentMinimum ExtentsMaximum ExtentsMinimum Extent LengthIncrease (%)数据库表空间的管理方式均为本地管理,这有利于减少表空间级别的碎片,同时防止了DB在进展空间管理时对数据字典表FET$、UET$的争用。我们知道系统中存在越多的空闲extent,越容易发生碎片问题。其中空闲extent的大小非常重要,假设在表空间上有许多个无法满足指定的next大小的空闲extent,那这个空闲extent就无法被重新运用并成为碎片,这时就需求重新整理碎片;我们可以运用COALESCE命令合并相邻的extent,来

28、减少系统中的碎片。假设系统中不延续的小空闲extent过多,也就是碎片过多,那么能够需求经过重建表空间的方式来消除碎片。系统多数表空间运用ASSM,ASSM运用位图而不是传统的FreeList来管理段内的free db block,大大提升了空间管理的性能。同时显著的减少segment header类型的buffer busy wait等待事件。建议:表空间的管理方式选择合理。Next Extent保证段可以增长是很重要的,因此在必要时分配next extent。假设在表空间中没有足够的空余空间,那么next extent无法分配,对象也无法增长。在数据库中没有发现无法分配NEXT EXTEN

29、T的段。Temporary Tablespace暂时表空间用于存放暂时段。为了维护数据库的性能,暂时表空间的维护方法有别于其他普通表空间。缺省情况下,一切表空间都创建为PERMANENT。所以在创建暂时段时,需求保证表空间类型为TEMPORARY。由于这些表空间中的排序段不被去除,所以减少了空间事务争夺,同时减少了SMON对于CPU的运用率。当进展长时间清理时,用户无法进展排序操作。在这种情况下,可以指定用户运用形状为PERMANENT的暂时表空间。这有能够会引起空间事务争夺,但是可以允许用户在磁盘上进展排序操作。由于表空间的extent 运用了local management 方式,对表空间

30、采用位图管理,更利于空间的运用及回收管理。StatusNameSize (MiB)Minimum ExtentsMaximum ExtentsMinimum Extent LengthIncrease (%)建议:在数据库TEMP为TEMPORARY类型的表空间,Extent Management 方式为LOCAL。保证每一个数据库用户都被分配一个暂时类型的TEMP表空间。以以下出了将PERMANENT表空间作为默许暂时表空间的用户:没有发现用户将PERMANENT表空间作为默许暂时表空间。回滚段管理回滚段可以用来保证读一致性,回滚事务以及恢复数据库。Rollback Segment List

31、数据库简单风险评价平安性管理在平安性方面,主要思索用户访问数据库的控制以及维护系统的平安性问题。Database Administrator Usernames/PasswordsOracle自动生成两个用户,并授予DBA权限:SYS SYSTEM 经检查,SYS和SYSTEM都没有运用初始缺省密码。这样有利于维护数据库的平安性,否那么任何具有Oracle知识背景的人都能进入数据库。建议:目前数据库用户平安方面设置良好,设置平安合理。SYSDBA Users被授予SYSDBA权限的用户可以进展DBA的操作,包括建立数据库,封锁数据库。建议:目前数据库不存在具有DBA权限的业务用户,用户权限管理

32、情况较好。SqlNet 概略Net8可以在不同计算机上安装效力和运用程序,并且可以使它们好像同一层上的运用程序一样进展通讯。Net8的主要功能就是创建网络通话,并且在客户端和效力器端,或者两个效力器端之间转换数据。Net8必需安装在网络的每台机器上。当网络通路建立,Net8扮演着客户端和效力器端数据投递者的角色。监听器Listener位于效力器端的监听程序是单独的进程。它从客户端接受衔接恳求,并管理这些对效力端的恳求。当前LISTENER的参数设置如下:Parameter Value STARTUP_WAIT_TIME_LISTENERN/ACONNECT_TIMEOUT_LISTENERN/

33、ATRACE_LEVEL_LISTENERN/A只需当SQLNET需求跟踪判别所出现的问题时,TRACE_LEVEL_LISTENER才需求被设置。所获得的跟踪文件需交由Oracle Support进展分析。SQLNET跟踪只需在一段时间内开启,由于这将占用一些网络资源。SQL*Net配置文件SQLNET.ORA包含了客户端和效力器对SQL*Net配置的设置信息。当前的SQLNET参数如下:Parameter Value AUTORCLATIC_IPCN/ATRACE_LEVEL_CLIENTN/ATRACE_FILE_CLIENTN/ATRACE_DIRECTORY_CLIENTN/ASQL

34、NET.EXPIRE_TIMEN/ATNSNAMESTNSNAMES.ORA包含与衔接描画符相匹配的网络效力名。衔接描画符包括监听程序的地址以及connect_data。TNSNAMES.ORA设置如下:由于TNSNAMES中相关的网络效力名比较多,完好的TNSNAMES.ORA中的内容可以见效力器上的配置文件。数据库性能数据库的性能情况经过AWR的报告来表达。由于本次检查并不是完好的性能检查,所以本报告只列举最主要的性能问题。XXXXSnap IdSnap TimeSessionsCursors/SessionBegin Snap:End Snap:Elapsed:DB Time:YYYYS

35、nap IdSnap TimeSessionsCursors/SessionBegin Snap:End Snap:Elapsed:DB Time:我们可以参考用户系统忙时的AWR信息进展分析,不一定局限于检查时段,这样可以更加深化的发现问题。 数据库各项基于时间模型的统计信息对数据库业务负荷压力最大情况下每一个实例的一个AWR报告的列出主要的性能结果,如数据库各项基于时间模型的统计信息等:XXXXStatistic NameTime (s)% of DB Timesql execute elapsed timeDB CPUparse time elapsedhard parse elapse

36、d timehard parse (sharing criteria) elapsed timePL/SQL execution elapsed timePL/SQL compilation elapsed timeconnection management call elapsed timesequence load elapsed timerepeated bind elapsed timehard parse (bind mismatch) elapsed timeDB timebackground elapsed timebackground cpu timeYYYYStatistic

37、 NameTime (s)% of DB TimeDB CPUsql execute elapsed timeparse time elapsedhard parse elapsed timehard parse (sharing criteria) elapsed timehard parse (bind mismatch) elapsed timePL/SQL execution elapsed timesequence load elapsed timePL/SQL compilation elapsed timeconnection management call elapsed ti

38、meinbound PL/SQL rpc elapsed timerepeated bind elapsed timeDB timebackground elapsed timebackground cpu time数据库负荷压力分析XXXXLoad Profile Per SecondPer TransactionRedo size:Logical reads:Block changes:Physical reads:Physical writes:User calls:Parses:Hard parses:Sorts:Logons:Executes:Transactions:% Block

39、s changed per Read:Recursive Call %:Rollback per transaction %:Rows per Sort:YYYYLoad Profile Per SecondPer TransactionRedo size:Logical reads:Block changes:Physical reads:Physical writes:User calls:Parses:Hard parses:Sorts:Logons:Executes:Transactions:% Blocks changed per Read:Recursive Call %:Roll

40、back per transaction %:Rows per Sort:各项命中率XXXXInstance Efficiency Percentages (Target 100%) Buffer Nowait %:Redo NoWait %:Buffer Hit %:In-memory Sort %:Library Hit %:Soft Parse %:Execute to Parse %:Latch Hit %:Parse CPU to Parse Elapsd %:% Non-Parse CPU:YYYYInstance Efficiency Percentages (Target 10

41、0%) Buffer Nowait %:Redo NoWait %:Buffer Hit %:In-memory Sort %:Library Hit %:Soft Parse %:Execute to Parse %:Latch Hit %:Parse CPU to Parse Elapsd %:% Non-Parse CPU:等待事件列出最主要的等待事件:XXXXEventWaitsTime(s)Avg Wait(ms)% Total Call TimeWait ClassYYYYEventWaitsTime(s)Avg Wait(ms)% Total Call TimeWait Class统计信息分析我们选取业务最为忙碌的上午时段的AWR报告进展分析。关于CPU数据库运用情况Totalper Secondper TransCPU used by this sessionparse time cpurecursive cpu usage分析:可以看出系统CPU主要用于SQL语句的真正的执行阶段。关于数据库事务提交/会滚性能目的Totalper Secondper Transuser callsuser

温馨提示

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

评论

0/150

提交评论