tags improvments and SQL formatting

This commit is contained in:
Zulqarnain 2024-11-21 07:43:56 -05:00
parent 9d0b6b7a9e
commit 66e20186f2
10 changed files with 116 additions and 40 deletions

View File

@ -48,7 +48,7 @@
{
"tag": "top",
"type": "command",
"content": "top -b -n 1"
"content": "top -b -n 1 | head -n 27"
},
{
"tag": "iostat",

View File

@ -13,11 +13,14 @@ run_query() {
su - oracle -s /bin/bash -c "
sqlplus -s / as sysdba <<EOF >> \"$OUTPUT_FILE\"
whenever sqlerror exit sql.sqlcode;
set echo on
set heading on
SET ECHO ON
SET HEADING ON
SET UNDERLINE '='
set feedback off
set linesize 150
SET FEEDBACK OFF
SET LINESIZE 150
SET PAGESIZE 100
COLUMN AGENT FORMAT A100
COLUMN HIT_COUNT FORMAT 999999
-- Switch to the specified container
ALTER SESSION SET CONTAINER = $container_name;

View File

@ -13,11 +13,15 @@ run_query() {
su - oracle -s /bin/bash -c "
sqlplus -s / as sysdba <<EOF >> \"$OUTPUT_FILE\"
whenever sqlerror exit sql.sqlcode;
set echo on
set heading on
SET ECHO ON
SET HEADING ON
SET UNDERLINE '='
set feedback off
set linesize 150
SET FEEDBACK OFF
SET LINESIZE 150
SET PAGESIZE 100
COLUMN OWNER FORMAT A20
COLUMN MB_USED FORMAT 9999999.99
-- Switch to the specified container
ALTER SESSION SET CONTAINER = $container_name;

View File

@ -13,11 +13,16 @@ run_query() {
su - oracle -s /bin/bash -c "
sqlplus -s / as sysdba <<EOF >> \"$OUTPUT_FILE\"
whenever sqlerror exit sql.sqlcode;
set echo on
set heading on
SET ECHO ON
SET HEADING ON
SET UNDERLINE '='
set feedback off
set linesize 150
SET FEEDBACK OFF
SET LINESIZE 150
SET PAGESIZE 100
COLUMN WORKSPACE_NAME FORMAT A30
COLUMN TOTAL_EMAILS FORMAT 99999999
COLUMN UNSENT_EMAILS FORMAT 99999999
COLUMN EMAILS_WITH_ERRORS FORMAT 99999999
-- Switch to the specified container
ALTER SESSION SET CONTAINER = $container_name;

View File

@ -13,11 +13,14 @@ run_query() {
su - oracle -s /bin/bash -c "
sqlplus -s / as sysdba <<EOF >> \"$OUTPUT_FILE\"
whenever sqlerror exit sql.sqlcode;
set echo on
set heading on
SET ECHO ON
SET HEADING ON
SET UNDERLINE '='
set feedback off
set linesize 150
SET FEEDBACK OFF
SET LINESIZE 150
SET PAGESIZE 100
COLUMN PARAMETER_NAME FORMAT A20
COLUMN PARAMETER_VALUE FORMAT A50
-- Switch to the specified container
ALTER SESSION SET CONTAINER = $container_name;
@ -31,7 +34,7 @@ run_query() {
DUAL
UNION ALL
SELECT
'SMTP_PORT', APEX_INSTANCE_ADMIN.GET_PARAMETER('SMTP_PORT')
'SMTP_PORT', APEX_INSTANCE_ADMIN.GET_PARAMETER('SMTP_HOST_PORT')
FROM
DUAL
UNION ALL
@ -41,10 +44,18 @@ run_query() {
DUAL
UNION ALL
SELECT
'SMTP_AUTH_REQUIRED', APEX_INSTANCE_ADMIN.GET_PARAMETER('SMTP_AUTH_REQUIRED')
'SMTP_PASSWORD' AS PARAMETER_NAME,
CASE
WHEN APEX_INSTANCE_ADMIN.GET_PARAMETER('SMTP_PASSWORD') IS NOT NULL THEN 'ABCDEFGHIJKLM'
ELSE NULL
END AS PARAMETER_VALUE
FROM
DUAL
UNION ALL
SELECT
'SMTP_TLS_MODE', APEX_INSTANCE_ADMIN.GET_PARAMETER('SMTP_TLS_MODE')
FROM
DUAL;
exit;
EOF
"

View File

@ -13,11 +13,19 @@ run_query() {
su - oracle -s /bin/bash -c "
sqlplus -s / as sysdba <<EOF >> \"$OUTPUT_FILE\"
whenever sqlerror exit sql.sqlcode;
set echo off
set heading on
SET ECHO ON
SET HEADING ON
SET UNDERLINE '='
set feedback off
set linesize 150
SET FEEDBACK OFF
SET LINESIZE 200
SET PAGESIZE 100
COLUMN datafile_path FORMAT A50
COLUMN tablespace_name FORMAT A20
COLUMN allocated_mb FORMAT 9999999.99
COLUMN used_mb FORMAT 9999999.99
COLUMN free_mb FORMAT 9999999.99
COLUMN pct_used FORMAT 999.99
-- Switch to the specified container
ALTER SESSION SET CONTAINER = $container_name;

View File

@ -12,11 +12,13 @@ get_oracle_version() {
su - oracle -s /bin/bash -c "
sqlplus -s / as sysdba <<'EOF' >> \"$OUTPUT_FILE\"
whenever sqlerror exit sql.sqlcode;
set echo off
set heading on
SET ECHO ON
SET HEADING ON
SET UNDERLINE '='
set feedback off
set linesize 150
SET FEEDBACK OFF
SET LINESIZE 150
SET PAGESIZE 100
COLUMN BANNER FORMAT A80
PROMPT Oracle Database Version:;
SELECT banner FROM v\$version WHERE banner LIKE 'Oracle%' AND ROWNUM = 1;

View File

@ -1,7 +1,7 @@
#!/bin/bash
# Define the CPU usage threshold
CPU_THRESHOLD=90
CPU_THRESHOLD=60
# File path for output
OUTPUT_FILE="/tmp/findsql.tmp"
@ -24,8 +24,19 @@ if [ ${#pid[@]} -gt 0 ]; then
su - oracle -s /bin/bash -c "
sqlplus -s / as sysdba <<'EOF' >> \"$OUTPUT_FILE\"
whenever sqlerror exit sql.sqlcode;
set echo off
set heading on
SET ECHO ON
SET HEADING ON
SET UNDERLINE '='
SET FEEDBACK OFF
SET LINESIZE 200
SET PAGESIZE 100
COLUMN datafile_path FORMAT A50
COLUMN tablespace_name FORMAT A20
COLUMN allocated_mb FORMAT 9999999.99
COLUMN used_mb FORMAT 9999999.99
COLUMN free_mb FORMAT 9999999.99
COLUMN pct_used FORMAT 999.99
select DISTINCT
s.CLIENT_IDENTIFIER, s.schemaname, s.module, s.action, q.sql_id, q.sql_text

View File

@ -13,11 +13,18 @@ run_query() {
su - oracle -s /bin/bash -c "
sqlplus -s / as sysdba <<EOF >> \"$OUTPUT_FILE\"
whenever sqlerror exit sql.sqlcode;
set echo off
set heading on
SET ECHO ON
SET HEADING ON
SET UNDERLINE '='
set feedback off
set linesize 150
SET FEEDBACK OFF
SET LINESIZE 150
SET PAGESIZE 100
COLUMN tablespace_name FORMAT A25
COLUMN allocated FORMAT 9999999.99
COLUMN used FORMAT 9999999.99
COLUMN free FORMAT 9999999.99
COLUMN PCT_USED FORMAT 999.99
-- Switch to the specified container
ALTER SESSION SET CONTAINER = $container_name;

View File

@ -13,11 +13,18 @@ run_query() {
su - oracle -s /bin/bash -c "
sqlplus -s / as sysdba <<EOF >> \"$OUTPUT_FILE\"
whenever sqlerror exit sql.sqlcode;
set echo on
set heading on
SET ECHO ON
SET HEADING ON
SET UNDERLINE '='
set feedback off
set linesize 150
SET FEEDBACK OFF
SET LINESIZE 200
SET PAGESIZE 100
COLUMN SID FORMAT 99999
COLUMN SERIAL# FORMAT 999999
COLUMN SQL_TEXT FORMAT A100
COLUMN USERNAME FORMAT A20
COLUMN REDO_SIZE_MB FORMAT 999999.99
-- Switch to the specified container
ALTER SESSION SET CONTAINER = $container_name;
@ -41,11 +48,29 @@ run_query() {
V\\\$STATNAME N ON R.STATISTIC# = N.STATISTIC#
WHERE
N.NAME = 'redo size'
AND NVL( R.VALUE, 0 ) <> 0
AND S.LAST_CALL_ET < 7200 -- Filter sessions active within last 2 hours
ORDER BY
R.VALUE DESC
FETCH FIRST 10 ROWS ONLY;
SELECT
Q.PARSING_SCHEMA_NAME AS USERNAME,
Q.EXECUTIONS,
Q.ROWS_PROCESSED,
Q.SQL_TEXT
FROM
V\\\$SQL Q
WHERE
Q.ROWS_PROCESSED > 10
AND UPPER(Q.SQL_TEXT) NOT LIKE 'SELECT%'
AND Q.PARSING_USER_ID != 0 -- Ignore SYS
AND Q.COMMAND_TYPE != 47 -- Ignore PL/SQL
ORDER BY
Q.ROWS_PROCESSED DESC
FETCH FIRST 10 ROWS ONLY;
exit;
EOF
"