笔记:Linux下的Oracle日常简单检查

日常检查

01 00 * * * /root/lcl/daycheck.sh >> /root/lcl/daycheck.sh.log 2>&1

daycheck.sh

#!/bin/sh
current_datetime=$(date +"%Y%m%d_%H%M%S")  
file_name="wmsdb_daycheck_$current_datetime.log"  
file="/root/lcl/log/${file_name}"
echo "******************************Time************************************" > "$file"
date >> "$file"
echo "******************************hostname************************************" >> "$file"
hostname >> "$file"
echo "******************************Processor number****************************" >> "$file"
cat /proc/cpuinfo | grep processor | wc -l >> "$file"
echo "******************************Memory size*********************************" >> "$file"
cat /proc/meminfo | grep MemTotal >> "$file"
cat /proc/meminfo | grep MemFree >> "$file"
cat /proc/meminfo | grep Cached >> "$file"
free -g >> "$file"
echo "******************************Page space size******************************" >> "$file"
cat /proc/meminfo | grep SwapTotal >> "$file"
echo "******************************CPU usage************************************" >> "$file"
sar -u 5 5 >> "$file"
echo "******************************disk*****************************************" >> "$file"
df -h >> "$file"
echo " " >> "$file"
df -i >> "$file"echo "*******************************Listener********************************************" >> "$file"
su - oracle -c 'lsnrctl status' >> "$file" 
echo "*******************************DB CHECK********************************************" >> "$file"su - oracle -c '
sqlplus -s "/ as sysdba"<<EOF
@/home/oracle/lcl/check/daycheck.sql
EOF
'
cat /home/oracle/lcl/check/daycheck.tmp >> "$file"echo "*******************************END********************************************" >> "$file"

daycheck.sql

set echo off
SET VERIFY OFF
set termout off
set linesize 200	
set long 9999
set feedback off
spool /home/oracle/lcl/check/daycheck.tmp
set pagesize
select '*******************************DB_NAME********************************************' from dual;
set pagesize 300
select name from v$database;
set pagesize
select '*******************************INSTANCE********************************************' from dual;
set pagesize 300
select INSTANCE_NAME,HOST_NAME,VERSION,STATUS,DATABASE_STATUS  from v$instance;
set pagesize
select '*******************************TABLESPACE INFO********************************************' from dual;
set pagesize 300
col name for a30
SELECT d.tablespace_name name,d.status status,d.contents type,d.extent_management extent_mgt,d.segment_space_management segment_mgt,NVL(a.bytes, 0) / 1024 / 1024 ts_size,NVL(f.bytes, 0) / 1024 / 1024 free,NVL(a.bytes, 0)/1024/1024 - NVL(f.bytes, 0)/1024/1024 used,NVL(f.bytes / a.bytes * 100, 0) pct_freeFROM sys.dba_tablespaces d,(select tablespace_name, sum(bytes) bytesfrom dba_data_filesgroup by tablespace_name) a,(select tablespace_name, sum(bytes) bytesfrom dba_free_spacegroup by tablespace_name) fWHERE d.tablespace_name = a.tablespace_name(+)AND d.tablespace_name = f.tablespace_name(+)AND NOT(d.extent_management like 'LOCAL' AND d.contents like 'TEMPORARY')
UNION ALL
SELECT d.tablespace_name name,d.status status,d.contents type,d.extent_management extent_mgt,d.segment_space_management segment_mgt,NVL(a.bytes, 0) / 1024 / 1024 ts_size,NVL(a.bytes - NVL(t.bytes, 0), 0) / 1024 / 1024 free,NVL(t.bytes, 0) / 1024 / 1024 used,NVL((a.bytes - NVL(t.bytes, 0)) / a.bytes * 100, 0) pct_freeFROM sys.dba_tablespaces d,(select tablespace_name, sum(bytes) bytes from dba_temp_filesgroup by tablespace_name) a,(select tablespace_name, sum(bytes_cached) bytesfrom v$temp_extent_poolgroup by tablespace_name) tWHERE d.tablespace_name = a.tablespace_name(+)AND d.tablespace_name = t.tablespace_name(+)AND d.extent_management like 'LOCAL'AND d.contents like 'TEMPORARY'ORDER BY 2,9;
set pagesize
select '*******************************USERS INFO********************************************' from dual;
set pagesize 300
col username for a30
select USERNAME,ACCOUNT_STATUS,LOCK_DATE,EXPIRY_DATE from dba_users order by 2,1;
set pagesize
select '*******************************BACKUP INFO********************************************' from dual;
set pagesize 300
col TIME_TAKEN_DISPLAY for a8 
col "INPUT(SUM)" for a9 
col "OUTPUT(SUM)" for a10 
col status for a30 
col "INPUT(s)" for a9
col "OUTPUT(s)" for a9 
col OUTPUT_DEVICE_TYPE for a5 
col INPUT_TYPE for a15 
col start_time for a20 
col end_time for a20 
SELECT session_key, 
TO_CHAR (START_TIME, 'yyyy-mm-dd hh24:mi:ss') start_time, 
TO_CHAR (end_time, 'yyyy-mm-dd hh24:mi:ss') end_time, 
TIME_TAKEN_DISPLAY, 
INPUT_BYTES_DISPLAY "INPUT(SUM)", 
OUTPUT_BYTES_DISPLAY "OUTPUT(SUM)", 
OUTPUT_DEVICE_TYPE, 
STATUS, 
INPUT_TYPE, 
INPUT_BYTES_PER_SEC_DISPLAY "INPUT(s)", 
OUTPUT_BYTES_PER_SEC_DISPLAY "OUTPUT(s)" 
FROM v$rman_backup_job_details 
where TO_CHAR (START_TIME, 'yyyy-mm-dd') >  to_char(sysdate-15,'yyyy-mm-dd')
order by session_key ;
set pagesize
select '*******************************SESSION INFO********************************************' from dual;
set pagesize 300
select current_sessions,max_sessions,ROUND((current_sessions * 100.0 / max_sessions), 2)||'%' AS percentage_used from
(SELECT  (select COUNT(*) from v$session) AS current_sessions,  (select TO_NUMBER(VALUE) from V$PARAMETER WHERE NAME = 'sessions') AS max_sessions
from dual);
set pagesize
select '*******************************DG SYNC INFO********************************************' from dual;
set pagesize 300
select dest_id,thread#,max(sequence#) 
from v$archived_log
where dest_id=1
group by thread#,dest_id
union
select dest_id,thread#,max(sequence#) 
from v$archived_log
where dest_id=2 and applied='YES'
group by thread#,dest_id;
set pagesize
select '*******************************DBTIME INFO********************************************' from dual;
set pagesize 300
col dbtime for 999,999.99
col begin_timestamp for a40
select begin_snap, end_snap, timestamp begin_timestamp, inst, trunc(a/1000000/60,2) DBtime from
(
select e.snap_id end_snap,
lag(e.snap_id) over (order by e.snap_id) begin_snap,
lag(s.end_interval_time) over (order by e.snap_id) timestamp,
s.instance_number inst,
e.value,
nvl(value-lag(value) over (order by e.snap_id),0) a
from dba_hist_sys_time_model e, DBA_HIST_SNAPSHOT s
where s.snap_id = e.snap_id
and e.instance_number = s.instance_number
and stat_name = 'DB time'
)
where begin_snap=end_snap-1
order by begin_timestamp asc;set pagesize
select '*******************************DBSIZE(GB) INFO********************************************' from dual;
set pagesize 300
select SUM(bytes)/1024/1024 from dba_segments;select owner,sum(bytes)/1024/1024 from dba_segments group by owner;
set pagesize
select '*******************************LOG SWITCH INFO********************************************' from dual;
set pagesize 300
set linesize 230
SELECT  THREAD#,trunc(first_time) "Date",
to_char(first_time, 'Dy') "Day",
substr(count(1),1,5) as "Total",
substr(SUM(decode(to_char(first_time, 'hh24'),'00',1,0)),1,3) as "h00",
substr(SUM(decode(to_char(first_time, 'hh24'),'01',1,0)),1,3) as "h01",
substr(SUM(decode(to_char(first_time, 'hh24'),'02',1,0)),1,3) as "h02",
substr(SUM(decode(to_char(first_time, 'hh24'),'03',1,0)),1,3) as "h03",
substr(SUM(decode(to_char(first_time, 'hh24'),'04',1,0)),1,3) as "h04",
substr(SUM(decode(to_char(first_time, 'hh24'),'05',1,0)),1,3) as "h05",
substr(SUM(decode(to_char(first_time, 'hh24'),'06',1,0)),1,3) as "h06",
substr(SUM(decode(to_char(first_time, 'hh24'),'07',1,0)),1,3) as "h07",
substr(SUM(decode(to_char(first_time, 'hh24'),'08',1,0)),1,3) as "h08",
substr(SUM(decode(to_char(first_time, 'hh24'),'09',1,0)),1,3) as "h09",
substr(SUM(decode(to_char(first_time, 'hh24'),'10',1,0)),1,3) as "h10",
substr(SUM(decode(to_char(first_time, 'hh24'),'11',1,0)),1,3) as "h11",
substr(SUM(decode(to_char(first_time, 'hh24'),'12',1,0)),1,3) as "h12",
substr(SUM(decode(to_char(first_time, 'hh24'),'13',1,0)),1,3) as "h13",
substr(SUM(decode(to_char(first_time, 'hh24'),'14',1,0)),1,3) as "h14",
substr(SUM(decode(to_char(first_time, 'hh24'),'15',1,0)),1,3) as "h15",
substr(SUM(decode(to_char(first_time, 'hh24'),'16',1,0)),1,3) as "h16",
substr(SUM(decode(to_char(first_time, 'hh24'),'17',1,0)),1,3) as "h17",
substr(SUM(decode(to_char(first_time, 'hh24'),'18',1,0)),1,3) as "h18",
substr(SUM(decode(to_char(first_time, 'hh24'),'19',1,0)),1,3) as "h19",
substr(SUM(decode(to_char(first_time, 'hh24'),'20',1,0)),1,3) as "h20",
substr(SUM(decode(to_char(first_time, 'hh24'),'21',1,0)),1,3) as "h21",
substr(SUM(decode(to_char(first_time, 'hh24'),'22',1,0)),1,3) as "h22",
substr(SUM(decode(to_char(first_time, 'hh24'),'23',1,0)),1,3) as "h23"
FROM    V$log_history
where  first_time > sysdate-7
group by trunc(first_time), to_char(first_time, 'Dy'),THREAD#
Order by 1,2; 
spool off

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/722826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java核心技术第十一章学习笔记

swing常用用户界面组件 Swing和模型-视图-控制器设计模式 模型&#xff1a;存储内容&#xff0c;必须实现改变内容和查找内容的方法&#xff0c;不可见 视图&#xff1a;显示内容 控制器&#xff1a;处理用户输入 一个模型可以有多个视图&#xff0c;每个视图可以显示全部…

嵌入式学习 Day 27

1.信号&#xff1a; 1.pause int pause(void); 功能: 让进程睡眠,直到接收到信号(捕捉)才能继续向下执行 2.alarm unsigned int alarm(unsigned int seconds); 功能: 定时seconds秒后给调用进程发送SIGALRM信号 参数: seconds:定时的…

微信小程序开发系列(十九)·wxml语法·setData()修改数据

目录 步骤一&#xff1a;创建一个data对象 步骤二&#xff1a;双大括号写法的使用 步骤三&#xff1a;创建一个更新事件按钮 步骤四&#xff1a;定义事件处理函数获取数据 步骤五&#xff1a;定义事件处理函数修改数据 方法一&#xff1a;通过赋值的方式直接修改数据 方…

android音视频编解码,你有过迷茫吗

3-5年的Android工程师最容易遇到的4个瓶颈是什么&#xff1f; 1.原理认知浅 工作内容多是简单UI界面开发和第三方SDK整合&#xff0c;对原理层和底层开发了解不深 2.技术视野窄 长期在小型软件公司&#xff0c;外包公司工作&#xff0c;技术视野被限制的太厉害 3.薪资提升…

java算法第十三天 | ● 239. 滑动窗口最大值 ● 347.前 K 个高频元素 ● 总结

239. 滑动窗口最大值 leetcode链接 之前讲的都是栈的应用&#xff0c;这次该是队列的应用了。 本题算比较有难度的&#xff0c;需要自己去构造单调队列&#xff0c;建议先看视频来理解。 思路&#xff1a; 自定义一个单调队列维护当前滑动窗口的最大值。 代码随想录解题思路 …

React富文本编辑器开发(五)

到目前为止我们所有的功能操作都是直接写在 onKeydown 事件里了&#xff0c;但如果我想复用相同的功能怎么办呢&#xff0c;最好的办法就是拨离了&#xff0c;下面我就形如进行这样的操作&#xff0c;把相关的可复用的命令操作抽取出来。 新建文件 _helper.jsx,创建一个协助器…

游戏引擎渲染流程

一、渲染概述 我们首先看到渲染技术的发展 游戏渲染面临的挑战&#xff1a; 一个容器中同一时刻有大量的游戏对象需要进行渲染&#xff0c;并且不同对象渲染的形式、算法还有所差异&#xff0c;这些使得游戏的绘制系统变得非常复杂&#xff1b;其次&#xff0c;游戏引擎的渲染…

空间直角坐标系、大地坐标系、平面坐标系介绍

空间直角坐标系、大地坐标系、平面坐标系 2017-04-11 13:53 ( 一)空间直角坐标系 空间直角坐标系的坐标原点位于参考椭球的中心,Z轴指向参考椭球的北极,X轴指向起始子午面与赤道的交点,Y轴位于赤道面上切按右手系于X轴呈90度夹角,某点中的坐标可用该点在此坐标系的各…

【深度学习】目标检测神经网络1/2

目标检测神经网络 概念 模型分类有三种&#xff1a;图像分类即输出图像类别和概率&#xff1b;单目标检测&#xff0c;输出目标的概率和位置&#xff1b;多目标检测&#xff0c;同时输出多个目标的分类、位置、概率。 位置检测分为两种形式&#xff1a;一种是矩形框&#xf…

如何分辨Mac设备X86或ARM

在终端中输入如下命令可以获取到当前 Mac 设备是 X86 还是 ARM 类型 uname -a 以上便是此次分享的全部内容&#xff0c;希望能对大家有所帮助!

Vue响应式内容丢失处理

对数组和对象进行不当的修改会使Vue的对象丢失响应式&#xff0c;这时可以直接console.log丢失的对象&#xff0c;看是否有getter和setter 对于数组和对象&#xff0c;只有使用 Vue 提供的一些方法&#xff08;如 push()、pop()、splice()、set() 等&#xff09;进行修改才会触…

linux循环之for循环

1.循环介绍 循环就是迭代(重复)一些命令的代码块&#xff0c;如果循环控制条件不满足的话&#xff0c;就结束循环 2.for循环语法 for 循环控制条件 do commands done #当“循环控制条件”不满足条件&#xff0c;结束for循环 3.for循环样例 [rootkibana ~]# cat for-1.…

css深度选择器 /deep/ 在89版本后就失效了

css深度选择器 /deep/ 在89版本后就失效了 前言&#xff1a;在高版本中&#xff08;89版本以后&#xff09;css使用/deep/样式就失效了 原因&#xff1a;css深度选择器 /deep/ 在89版本后就不支持了 解决办法&#xff1a;使用scss预编译 <style lang"scss" sc…

DxO PureRAW:赋予RAW图像生命,打造非凡视觉体验 mac/win版

DxO PureRAW 是一款专为RAW图像处理而设计的软件&#xff0c;旨在帮助摄影师充分利用RAW格式的优势&#xff0c;实现更加纯净、细腻的图像效果。该软件凭借其强大的功能和易于使用的界面&#xff0c;成为了RAW图像处理领域的佼佼者。 DxO PureRAW 软件获取 首先&#xff0c;Dx…

几种电脑提示mfc140.dll丢失的解决方法,以及如何预防mfc140.dll丢失

mfc140.dll真是一个超级关键的动态链接库文件&#xff01;一旦这个文件不翼而飞&#xff0c;可能会导致一些程序无法顺利运行&#xff0c;甚至给系统带来麻烦。但别担心&#xff01;遇到mfc140.dll文件丢失的情况&#xff0c;我们有一堆应对措施可以立马施行&#xff0c;确保问…

计算机网络-物理层

物理层 基本概念传输媒体信道复用频分复用&#xff08;FDM&#xff09;时分复用&#xff08;TDM&#xff09;波分复用&#xff08;WDM&#xff09;码分复用&#xff08;CDM&#xff09; 宽带接入技术ADSL技术光纤同轴混合网(HFC网)FTTx技术 数据通信常识 上次我们已经大致学习了…

探秘Netty:打造高性能网络通信利器

目录 Netty真强大啊&#xff01;TCP拆包与粘包长连接握手认证心跳机制断线重连机制消息重发机制读写超时机制离线消息线程池结语感谢您的阅读&#xff01; Netty真强大啊&#xff01; Netty是一个基于Java的异步事件驱动的网络应用框架&#xff0c;被广泛应用于高性能、高可靠…

06 - 镜像管理

1 了解镜像 Docker镜像是一个特殊的文件系统&#xff0c;除了提供容器运行时所需的程序、库、资源、配置等文件外&#xff0c;还包含了一些为运行时准备的一些配置参数&#xff08;如匿名卷、环境变量、用户等&#xff09;。 但注意&#xff0c; 镜像不包含任何动态数据&#…

【探索AI】二十五 深度学习之第8周:深度学习项目实战

项目名称&#xff1a;基于深度学习的图像分类系统 一、项目背景 随着大数据和人工智能技术的快速发展&#xff0c;图像分类技术在各个领域得到了广泛应用&#xff0c;如安防监控、医疗诊断、自动驾驶等。本项目旨在利用深度学习技术构建一个高效的图像分类系统&#xff0c;实…

C++高级面试题:请解释 C++ 中的递归模板(Recursive Templates)

请解释 C 中的递归模板&#xff08;Recursive Templates&#xff09; 递归模板&#xff08;Recursive Templates&#xff09;是一种使用模板递归定义的技术&#xff0c;在编译时生成具有不同结构的代码。这种技术通常用于处理数据结构或实现算法&#xff0c;其中需要对数据进行…