oracle 11g&12c系统巡检

--脚本用法

sh performance_check.sh

--脚本生成

vi performance_check.sh --添加如下

Ip=``
sqlplus -S "/ as sysdba" << EOF

-- |--------------------------------------------------------------------------------------|
-- | Copyright (c) 1991-2013 oracle. All rights reserved. |
-- | PURPOSE : This SQL script provides a detailed report (in HTML format) on |
-- | all database metrics including installed options, storage, |
-- | performance data, and security. |
-- | VERSION : This script was designed for Oracle Database 11g and 12c. |
-- | USAGE : |
-- | sqlplus -s <dba>/<password>@<TNS string> @performance_report_for_oracle.sql |
-- | TESTING : This script has been successfully tested on the following |
-- | platforms: |
-- | Linux : Oracle Database 11.2.0.1.0 12.1.0.1.0 |
-- | Windows server2008 sp1 : Oracle Database 10.2.0.4.0 |
-- | NOTE : As with any code, ensure to test this script in a development |
-- | environment before attempting to run it in production. |
-- +--------------------------------------------------------------------------------------+

prompt Creating database report.
prompt This script must be run as a user with SYSDBA privileges.
prompt This process can take several minutes to complete.

COLUMN version NEW_VALUE _version NOPRINT
SELECT case when substr(t.VERSION,1,2)<=11 then substr(t.VERSION,1,2)||‘g‘ else substr(t.VERSION,1,2)||‘c‘ end
version FROM v\$instance t;
define reportHeader="<center><font size=+3 color=darkgreen><b>Performance Report for Database &_version<i></i>($Ip)</b></font><hr>Copyright (c) 1991-2013 oracle. All rights reserved.<p></center>"

-- +----------------------------------------------------------------------------+
-- | SCRIPT SETTINGS |
-- +----------------------------------------------------------------------------+

set termout off
set echo off
set feedback off
set heading off
set verify off
set wrap on
set trimspool on
set serveroutput on
set escape on
set pagesize 50000
set linesize 175
set long 2000000000

clear buffer computes columns breaks

define FileName=PERRORMANCE_CHECK
define versionNumber=6.0.0

-- +----------------------------------------------------------------------------+
-- | GATHER DATABASE REPORT INFORMATION |
-- +----------------------------------------------------------------------------+
COLUMN dbname NEW_VALUE _dbname NOPRINT
COLUMN spool_time NEW_VALUE _spool_time NOPRINT
SELECT name dbname FROM v\$database;
SELECT TO_CHAR(SYSDATE,‘YYYYMMDD‘) spool_time FROM dual;
-- +----------------------------------------------------------------------------+
-- | GATHER DATABASE REPORT INFORMATION |
-- +----------------------------------------------------------------------------+

set heading on

set markup html on spool on preformat off entmap on -
head ‘ -
<title>Database Report</title> -
<style type="text/css"> -
body {font:9pt Arial,Helvetica,sans-serif; color:black; background:White;} -
p {font:9pt Arial,Helvetica,sans-serif; color:black; background:White;} -
table,tr,td {font:9pt Arial,Helvetica,sans-serif; color:Black; background:#C0C0C0; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;} -
th {font:bold 9pt Arial,Helvetica,sans-serif; color:#336699; background:#cccc99; padding:0px 0px 0px 0px;} -
h1 {font:bold 12pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; border-bottom:1px solid #cccc99; margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;} -
h2 {font:bold 10pt Arial,Helvetica,Geneva,sans-serif; color:#336699; background-color:White; margin-top:4pt; margin-bottom:0pt;} -
a {font:9pt Arial,Helvetica,sans-serif; color:#663300; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
a.link {font:9pt Arial,Helvetica,sans-serif; color:#663300; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
a.noLink {font:9pt Arial,Helvetica,sans-serif; color:#663300; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
a.noLinkBlue {font:9pt Arial,Helvetica,sans-serif; color:#0000ff; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
a.noLinkDarkBlue {font:9pt Arial,Helvetica,sans-serif; color:#000099; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
a.noLinkRed {font:9pt Arial,Helvetica,sans-serif; color:#ff0000; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
a.noLinkDarkRed {font:9pt Arial,Helvetica,sans-serif; color:#990000; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
a.noLinkGreen {font:9pt Arial,Helvetica,sans-serif; color:#00ff00; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
a.noLinkDarkGreen {font:9pt Arial,Helvetica,sans-serif; color:#009900; text-decoration: none; margin-top:0pt; margin-bottom:0pt; vertical-align:top;} -
</style>‘ -
body ‘BGCOLOR="#C0C0C0"‘ -
table ‘WIDTH="90%" BORDER="1"‘

spool &FileName._&_version._&_dbname._&_spool_time..html

set markup html on entmap off

-- +----------------------------------------------------------------------------+
-- | - REPORT HEADER - |
-- +----------------------------------------------------------------------------+
prompt <a name=top></a>
prompt &reportHeader

-- +----------------------------------------------------------------------------+
-- | - REPORT INDEX - |
-- +----------------------------------------------------------------------------+
prompt <a name="report_index"></a>

prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Report Index</b></font><hr align="center" width="300"></center> -
<table width="90%" border="1"> -
<tr><th colspan="4">Application Regulation</th></tr> -
<tr> -
<td nowrap align="center" width="25%"><a class="link" href="#SCHEDULER_JOB">SCHEDULER JOB DETAILS</a></td> -
<td nowrap align="center" width="25%"><a class="link" href="#Parameter_name">Parameter name</a></td> -
<td nowrap align="center" width="25%"><a class="link" href="#Timezone">Timezone of db and session</a></td> -
<td nowrap align="center" width="25%"><a class="link" href="#SCHEDULER_STIME">SCHEDULER JOB STIME</a></td> -
</tr> -
<tr> -
<td nowrap align="center" width="25%"><a class="link" href="#Component_name">Component name</a></td> -
<td nowrap align="center" width="25%"><a class="link" href="#DBA_SCHEDULER_GLOBAL_ATTRIBUTE">DBA SCHEDULER GLOBAL ATTRIBUTE FOR OFF OR ON</a></td> -
<td nowrap align="center" width="25%"><a class="link" href="#"></a></td> -
<td nowrap align="center" width="25%"><a class="link" href="#"></a></td> -
<td nowrap align="center" width="25%"><a class="link" href="#"></a></td> -
</tr> -
</table>

prompt <p>
prompt <center><font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#663300"><b><u>Application regulation</u></b></font></center>

prompt <a name="SCHEDULER_JOB"></a>
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>SCHEDULER JOB DETAILS</b></font><hr align="left" width="460">
SELECT T.ENABLED,T.STATE,T.JOB_NAME,T.START_DATE,T.END_DATE,T.LAST_RUN_DURATION,T.NEXT_RUN_DATE FROM DBA_SCHEDULER_JOBS T
WHERE T.OWNER=‘SSDBSP_001_000_000‘;
SELECT T.enabled,T.owner,T.program_name,T.program_type,T.program_action FROM DBA_SCHEDULER_PROGRAMS T WHERE T.OWNER=‘SSDBSP_001_000_000‘;
SELECT T.owner,T.schedule_name,T.schedule_type,T.repeat_interval FROM DBA_SCHEDULER_SCHEDULES T WHERE T.OWNER=‘SSDBSP_001_000_000‘;
SELECT T.owner,T.job_name,T.job_subname,T.ERROR#,T.STATUS,T.REQ_START_DATE,T.ACTUAL_START_DATE,T.RUN_DURATION FROM DBA_SCHEDULER_JOB_RUN_DETAILS T
WHERE T.OWNER=‘SSDBSP_001_000_000‘ and rownum<=20 ORDER BY T.ACTUAL_START_DATE DESC;
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>

prompt <a name="Parameter_name"></a>
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Parameter name</b></font><hr align="left" width="460">
select count(*) as process_count from v\$process;
select value as process_value from v\$parameter where name = ‘processes‘;
select count(*) as session_count from v\$session;
select value as session_value from v\$parameter where name = ‘sessions‘;
select count(*) num_curs from v\$open_cursor o, v\$session s where o.sid=s.sid;
select t.NAME,t.VALUE,t.DISPLAY_VALUE,t.ISDEFAULT,t.ISDEPRECATED from v\$parameter t where t.NAME like ‘%cursor%‘;
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>

prompt <a name="Timezone"></a>
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Timezone of db and session</b></font><hr align="left" width="460">
select dbtimezone from dual;
select sessiontimezone from dual;
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>

prompt <a name="SCHEDULER_STIME"></a>
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>SCHEDULER JOB STIME</b></font><hr align="left" width="460">
select DBMS_SCHEDULER.STIME from dual;
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>

prompt <a name="Component_name"></a>
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>Component name</b></font><hr align="left" width="460">
SELECT t.comp_id,t.comp_name,t.status,t.schema,t.procedure,t.modified FROM dba_registry t;
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>

prompt <a name="DBA_SCHEDULER_GLOBAL_ATTRIBUTE"></a>
prompt <font size="+2" face="Arial,Helvetica,Geneva,sans-serif" color="#336699"><b>DBA SCHEDULER GLOBAL ATTRIBUTE FOR OFF OR ON</b></font><hr align="left" width="460">
select T.attribute_name, T.value from DBA_SCHEDULER_GLOBAL_ATTRIBUTE T;
prompt <center>[<a class="noLink" href="#top">Top</a>]</center><p>

SPOOL OFF

SET MARKUP HTML OFF
SET TERMOUT ON

prompt
prompt Output written to: &FileName._&_dbname._&_spool_time..html

disconnect
EXIT;
EOF

原文地址:https://www.cnblogs.com/buffercache/p/11478884.html

时间: 2024-08-30 14:51:32

oracle 11g&12c系统巡检的相关文章

oracle 11g 12c dg环境 SYS密码同步的问题

When password file is used for Redo Transport Authentication, the password of redo transport user should be same across primary and all its physical and snapshot standby databases. By default SYS user is used to authenticate redo transport sessions w

43、Windows 7下安装Oracle 11g相关问题解决方法

很多DBA目前还停留在Oracle 9i或者10g,究其原因有可能是Oracle 11g的价格问题.本文将为大家讲解在Windows 7下安装Oracle 11g,也希望大家能从中看到11g的一些新特点. 前不久卸载掉了自己的Windows Vista系统,装上了Windows7 旗舰版,在装机过程中也遇到了很多问题,有些问题是自己不曾遇到过的,但自己尝试着去解决,一步一步尝试着去努力.自己的不懈努力,也换回了成果.比如在装SQL Server 2005和Oracle 11g时就碰到了问题,在装

Oracle 11g新特性direct path read引发的系统停运故障诊断处理

黎俊杰 | 2016-07-28 14:37 声明:部分表名为了脱敏而用XX代替 1.故障现象 (1)一个业务系统输入用户名与密码后无法进入首页,表现为一直在运行等待,运行缓慢 (2)整个系统无法正常使用,接近停运状态 2.故障解决方法 调整数据库参数alter system setevent='10949 trace name context forever, level 1'来关闭"direct path read"(直接路径读)特性,使SQL语句可以从缓存中查询数据,达到降低I/

64位 Windows 8/7 系统下的 32位PLSQL 联接 64 位 Oracle 11g

64位 Windows 8/7 系统下的 32位PL/SQL 联接 64 位 Oracle 11g 说明:安装完后Oracle的 oci.dll 是64位的,而32位应用程序 PL/SQL Developer 无法加载 解决方案 步骤一:下载Instant Client for Microsoft Windows (32-bit) 包  地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html 步骤二:解压文件 步骤三:配置系

64地点 Windows 8/7 根据系统 32地点PLSQL 耦合 64 地点 Oracle 11g

64地点 Windows 8/7 根据系统 32地点PL/SQL 耦合 64 地点 Oracle 11g 说明:安装后Oracle的 oci.dll 是64位的,而32位应用程序 PL/SQL Developer 无法载入 解决方式 步骤一:下载Instant Client for Microsoft Windows (32-bit) 包  地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html 步骤二:解压文件 步骤三:配

Linux系统下Oracle 11g的安装和配置使用

因项目需求,需要在64位linux系统中安装Oracle 11g,在网上查了很多内容,结合自己的实际经验,终于安装成功,记录下来,分享给有需要的同志们,不谢哈!^_^ 一.修改操作系统核心参数 在Root用户下执行以下步骤: 1)修改用户的SHELL的限制,修改/etc/security/limits.conf文件 输入命令:vi /etc/security/limits.conf,按i键进入编辑模式,将下列内容加入该文件. ? oracle soft nproc 2047 oracle har

win7 64位系统 Oracle32bit + PL/SQL访问Orale服务,Oracle 11g的安装,中文乱码问题的解决

前几天因为装了个Oracle32bit客户端 + PL/SQL连接不上oracle遭到组长鄙视,问我用过PL/SQL没有,我安装完打开PL/SQL登录界面跟他的都不一样,没有那个连接为Normal.SYSDBA的选项,还问我为什么有了PL/SQL还装Oracle客户端,当时我也答不出来,后来在网上还是找到了答案,心里也鄙视了他一把,自己搞不太清楚欺负新人吗?水平好像也不咋滴.要装ORacle客户端的原因是oci.dll是64位的,32位应用程序PLSQL Developer无法加载. 为了省事就

安装最新版本的Oracle公司的虚拟机软件 VirtualBox + 安装虚拟机 Windows XP 系统 + 安装 Oracle 11G 软件

一.先去下载 VirtualBox 的安装文件 以及 扩展包 VirtualBox的下载链接:https://www.virtualbox.org/wiki/Downloads 二.安装文件 2.1.跟着安装向导,点击 “下一步” 2.2.选择安装文件路径 ,选择 “浏览” 2.3.默认全部安装,点击 “下一步” 2.4.默认全选,点击 “下一步” 2.5.点击 “是” 即可 2.6.点击 “安装” 2.7.会弹出一些窗口,点击 “安装” 即可 2.8.等待安装 2.9.安装完成,点击 “完成”

在Linux系统(x64)中安装Oracle 11g(虚拟机中)

博主小白一枚,最近正在学习关于Linux,Oracle的相关知识.所写内容是经博主在网上参考了诸多内容,亲身实践成功,因博主能力有限,如发现错误,或遇到问题,希望各位多多指教,共同讨论.分享给有需要的朋友,不谢啊!!! Linux版本(x64)6.4  Oracle 11g 因为博主的Linux为RedHat所以查看版本的方法为: cat /etc/redhat-release 其它版本的可到网上搜查 一,把Oracle安装包和镜像放到虚拟机中 我是在虚拟机中安装的,对于Linux和window