当前位置: 首页 > news >正文

网站建设与维护学什么/全网营销推广靠谱吗

网站建设与维护学什么,全网营销推广靠谱吗,网页实训内容及过程,vultr部署wordpress文章目录 摘要常用脚本 摘要 保持 Oracle 数据库的良好健康状况对于系统的可靠性和性能至关重要。本文将介绍一些常用的 Oracle 日常健康脚本,帮助您监控数据库并及时识别潜在的问题,以保证数据库的稳定运行。 常用脚本 1.查询数据库实例和实例级别的…

文章目录

      • 摘要
      • 常用脚本

摘要

保持 Oracle 数据库的良好健康状况对于系统的可靠性和性能至关重要。本文将介绍一些常用的 Oracle 日常健康脚本,帮助您监控数据库并及时识别潜在的问题,以保证数据库的稳定运行。

常用脚本

1.查询数据库实例和实例级别的信息
通过 gv d a t a b a s e 、 g v database、 gv databasegvinstance
查询数据库实例和实例级别的信息。
获取数据库名称、实例名称、平台名称、主机名称、数据库版本和启动时间等信息。

SELECT a.NAME DBNAME,b.instance_name,a.PLATFORM_NAME,b.host_name,b.version,b.startup_timeFROM gV$DATABASE a, gv$instance b
where a.inst_id = b.inst_id
order by 2;

2.查询数据库注册表历史记录的详细信息
包括操作时间、动作和注释。通过按照时间降序排序,可以查看最近执行的注册表更改操作和对应的注释。

SELECT TO_CHAR(ACTION_TIME, 'YYYY-MM-DD HH24:MI:SS')  ACTION_TIME,ACTION,COMMENTSFROM SYS.DBA_REGISTRY_HISTORY
ORDER BY 1 DESC;

3.查询从V$LOG_HISTORY表中检索最近10天的日志记录
按照日期和小时统计每个小时的日志数量。查询结果按日期和小时排序。
查询使用了SUBSTR函数来提取日期和小时部分,并通过TO_CHAR函数格式化为’MM/DD/RR HH24:MI:SS’的形式。然后使用DECODE函数根据小时值进行条件判断,如果符合条件则返回1,否则返回0。使用SUM函数对每个小时的返回值进行求和,得到每个小时的日志数量。最后使用COUNT函数统计总日志数量。

SELECT SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR HH:MI:SS'), 1,  5) DAY,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'00',1,0)) H00,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'01',1,0)) H01,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'02',1,0)) H02,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'03',1,0)) H03,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'04',1,0)) H04,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'05',1,0)) H05,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'06',1,0)) H06,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'07',1,0)) H07,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'08',1,0)) H08,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'09',1,0)) H09,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'10',1,0)) H10,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'11',1,0)) H11,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'12',1,0)) H12,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'13',1,0)) H13,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'14',1,0)) H14,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'15',1,0)) H15,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'16',1,0)) H16,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'17',1,0)) H17,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'18',1,0)) H18,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'19',1,0)) H19,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'20',1,0)) H20,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'21',1,0)) H21,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'22',1,0)) H22,SUM(DECODE(SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR  HH24:MI:SS'), 10, 2),'23',1,0)) H23,COUNT(*) TOTALFROM V$LOG_HISTORY A
WHERE FIRST_TIME > TRUNC(SYSDATE - 10)
GROUP BY SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR HH:MI:SS'),  1, 5)
ORDER BY SUBSTR(TO_CHAR(FIRST_TIME, 'MM/DD/RR HH:MI:SS'),  1, 5);

4.检索有关数据库存储和结构的统计信息
TOTAL STORAGES 和对应的总存储大小
INDEX STORAGES 和对应的索引存储大小
TABLESPACES 和对应的表空间数量
FILES 和对应的数据文件数量
TOTAL TABLES 和对应的表数量
TOTAL INDEXES 和对应的索引数量
DB_BLOCK_SIZE 和对应的数据块大小
NLS_CHARACTERSET 和对应的字符集
NLS_NCHAR_CHARACTERSET 和对应的NCHAR字符集

set linesize 100
set pages 200
col ITEM  format a30
col TOTAL_SIZE  format a30
SELECT 'TOTAL STORAGES' AS ITEM,ROUND(SUM(BYTES) / 1024 / 1024 / 1024, 2) || 'GB'  TOTAL_SIZEFROM DBA_SEGMENTS
UNION ALL
SELECT 'INDEX STORAGES', ROUND(SUM(BYTES) / 1024 / 1024 /  1024, 2) || 'GB'FROM DBA_SEGMENTS
WHERE SEGMENT_TYPE = 'INDEX'
UNION ALL
SELECT 'TABLESPACES', TO_CHAR(COUNT(*))FROM V$TABLESPACE
UNION ALL
SELECT 'FILES', TO_CHAR(COUNT(*))FROM V$DATAFILE
UNION ALL
SELECT 'TOTAL TABLES', TO_CHAR(COUNT(*))FROM DBA_TABLES
UNION ALL
SELECT 'TOTAL INDEXES', TO_CHAR(COUNT(*))FROM DBA_INDEXES
UNION ALL
SELECT 'DB_BLOCK_SIZE', VALUEFROM V$PARAMETER
WHERE TRIM(UPPER(NAME)) = 'DB_BLOCK_SIZE'
UNION ALL
SELECT T1.PARAMETER, T1.VALUEFROM V$NLS_PARAMETERS T1
WHERE UPPER(TRIM(T1.PARAMETER)) IN('NLS_CHARACTERSET', 'NLS_NCHAR_CHARACTERSET');

5.检索ASM磁盘的相关信息
从V$ASM_DISK视图检索ASM磁盘的相关信息
GROUP_NUMBER:ASM磁盘所属的磁盘组编号。
DISK_NUMBER:ASM磁盘的编号。
TOTAL_MB:ASM磁盘的总容量(以MB为单位)。
FREE_MB:ASM磁盘的可用容量(以MB为单位)。
NAME:ASM磁盘的名称。
FAILGROUP:ASM磁盘所属的失效组。
PATH:ASM磁盘的路径。
CREATE_DATE:ASM磁盘的创建日期和时间。

set linesize 400
set pages 300
col NAME  format a15
col FAILGROUP  format a15
col PATH  format a30
SELECT GROUP_NUMBER,DISK_NUMBER,TOTAL_MB,FREE_MB,NAME,FAILGROUP,PATH,TO_CHAR(CREATE_DATE, 'YYYY-MM-DD HH24:MI:SS')  CREATE_DATEFROM V$ASM_DISK A
ORDER BY 1;

6.检索ASM磁盘组的相关信息
GROUP_NUMBER:ASM磁盘组的编号。
NAME:ASM磁盘组的名称。
STATE:ASM磁盘组的状态。可能的值包括:MOUNTED(已挂载)、DISMOUNTED(已卸载)、UNKNOWN(未知)等。
TYPE:ASM磁盘组的类型。例如,NORMAL(普通磁盘组)或HIGH_REDUNDANCY(高冗余磁盘组)。
TOTAL_MB:ASM磁盘组的总容量(以MB为单位)。
FREE_MB:ASM磁盘组的可用容量(以MB为单位)。

这条SQL查询用于从V$ASM_DISKGROUP视图检索ASM磁盘组的相关信息,并按照GROUP_NUMBER和NAME进行排序。

SELECT A.GROUP_NUMBER,A.NAME,A.STATE,A.TYPE, A.TOTAL_MB, A.FREE_MB     FROM V$ASM_DISKGROUP A  ORDER BY 1, 2

7.查看表空间的相关信息
STATUS:表空间的状态。
NAME:表空间的名称。
TYPE:表空间的类型。
EXTENT_MGT:表空间的数据段管理方式。
SEGMENT_MGT:表空间的段空间管理方式。
TS_SIZE:表空间的总大小(以MB为单位)。
FREE:表空间的可用空间(以MB为单位)。
USED:表空间的已使用空间(以MB为单位)。
PCT_USED:表空间的使用率。

第一部分查询从SYS.DBA_TABLESPACES表、DBA_DATA_FILES表和DBA_FREE_SPACE表中检索非临时表空间的相关信息,并计算出表空间的总大小、可用空间、已使用空间以及使用率。
第二部分查询从SYS.DBA_TABLESPACES表、DBA_TEMP_FILES表和V$TEMP_EXTENT_POOL表中检索临时表空间的相关信息,并计算出表空间的总大小、可用空间、已使用空间以及使用率。

SELECT STATUS,NAME,TYPE,EXTENT_MGT,SEGMENT_MGT,TS_SIZE,FREE,USED,PCT_USEDFROM (SELECT DECODE(D.STATUS, 'OFFLINE', D.STATUS,  D.STATUS) STATUS,D.TABLESPACE_NAME NAME,D.CONTENTS TYPE,D.EXTENT_MANAGEMENT EXTENT_MGT,D.SEGMENT_SPACE_MANAGEMENT SEGMENT_MGT,ROUND(NVL(A.BYTES, 0) / 1024 / 1024, 0)  TS_SIZE,ROUND(NVL(F.BYTES, 0) / 1024 / 1024, 0) FREE,ROUND(NVL(A.BYTES - NVL(F.BYTES, 0), 0) / 1024  / 1024, 0) USED,DECODE((1 -SIGN(1 - SIGN(TRUNC(NVL((A.BYTES -  NVL(F.BYTES, 0)) /A.BYTES * 100,0)) - 90))),1,TO_CHAR(TRUNC(NVL((A.BYTES -  NVL(F.BYTES, 0)) / A.BYTES * 100,0))),TO_CHAR(TRUNC(NVL((A.BYTES -  NVL(F.BYTES, 0)) / A.BYTES * 100,0)))) || '%%' PCT_USEDFROM 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' ANDD.CONTENTS LIKE 'TEMPORARY')ORDER BY 2)
UNION ALL
SELECT DECODE(D.STATUS, 'OFFLINE', D.STATUS, D.STATUS)  STATUS,D.TABLESPACE_NAME,D.CONTENTS TYPE,D.EXTENT_MANAGEMENT EXTENT_MGT,D.SEGMENT_SPACE_MANAGEMENT SEGMENT_MGT,ROUND(NVL(A.BYTES, 0) / 1024 / 1024, 2) TS_SIZE,ROUND(NVL(A.BYTES - NVL(T.BYTES, 0), 0) / 1024 /  1024, 2) FREE,ROUND(NVL(T.BYTES, 0) / 1024 / 1024, 2) USED,DECODE((1 -SIGN(1 - SIGN(TRUNC(NVL(T.BYTES / A.BYTES *  100,  0)) - 90))),1,TO_CHAR(TRUNC(NVL(T.BYTES / A.BYTES * 100,  0))),TO_CHAR(TRUNC(NVL(T.BYTES / A.BYTES * 100,  0)))) PCT_USEDFROM SYS.DBA_TABLESPACES D,(SELECT TABLESPACE_NAME, SUM(BYTES) BYTESFROM DBA_TEMP_FILESGROUP BY TABLESPACE_NAME) A,(SELECT TABLESPACE_NAME, SUM(BYTES_CACHED) BYTESFROM V$TEMP_EXTENT_POOLGROUP BY TABLESPACE_NAME) T
WHERE 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;

8.查询RMAN备份作业的相关信息

包括备份名称(BACKUP_NAME)
开始时间(START_TIME)
耗时(ELAPSED_TIME)
状态(STATUS)
输入类型(INPUT_TYPE)
输出设备类型(OUTPUT_DEVICE_TYPE)
输入大小(INPUT_SIZE)
输出大小(OUTPUT_SIZE)
输出速率(OUTPUT_RATE_PER_SEC)

SELECT R.COMMAND_ID BACKUP_NAME,TO_CHAR(R.START_TIME, 'MM/DD/YYYY HH24:MI:SS')  START_TIME,R.TIME_TAKEN_DISPLAY ELAPSED_TIME,DECODE(R.STATUS,'COMPLETED',R.STATUS,'RUNNING',R.STATUS,'FAILED',R.STATUS,R.STATUS) STATUS,R.INPUT_TYPE,R.OUTPUT_DEVICE_TYPE,R.INPUT_BYTES_DISPLAY INPUT_SIZE,R.OUTPUT_BYTES_DISPLAY OUTPUT_SIZE,R.OUTPUT_BYTES_PER_SEC_DISPLAY OUTPUT_RATE_PER_SECFROM (SELECT COMMAND_ID,START_TIME,TIME_TAKEN_DISPLAY,STATUS,INPUT_TYPE,OUTPUT_DEVICE_TYPE,INPUT_BYTES_DISPLAY,OUTPUT_BYTES_DISPLAY,OUTPUT_BYTES_PER_SEC_DISPLAYFROM V$RMAN_BACKUP_JOB_DETAILSORDER BY START_TIME DESC) R
WHERE ROWNUM < 30;

9.查看备份集信息(控制文件)

从V$BACKUP_SET,V$BACKUP_PIECE视图查询

BS_KEY:备份集标识(BS.RECID)
PIECE:备份片号(BP.PIECE#)
COPY: 备份片拷贝号(BP.COPY#)
BP_KEY:备份片标识(BP.RECID)
CONTROLFILE_INCLUDED:控制文件是否包含在备份集中的标志列,如果是’NO’则显示为’-',否则显示原值。
STATUS:备份片的状态,将’A’转换为’AVAILABL’,‘D’转换为’DELETED’,‘X’转换为’EXPIRED’。AVAILAB代表可用状态
HANDLE:备份片的句柄信息。格式化为最大长度为25的字符串。
该查询筛选出满足以下条件的备份集和备份片:

备份片的状态为’A’或’X’。
备份集中包含控制文件。
备份集的完成时间在当前时间的前一天以后。

set linesize 500
set pages 500
column BS_KEY format 999999
column PIECE  format 99
column COPY  format 99
column BS_KEY format 999999
column CONTROLFILE_INCLUDED  format a15
column STATUS  format a20
column HANDLE  format a25
SELECT BS.RECID BS_KEY,BP.PIECE# PIECE,BP.COPY# COPY,BP.RECID BP_KEY,DECODE(BS.CONTROLFILE_INCLUDED, 'NO', '-', BS.CONTROLFILE_INCLUDED) CONTROLFILE_INCLUDED,DECODE(STATUS, 'A', 'AVAILABL', 'D', 'DELETED', 'X', 'EXPIRED') STATUS,HANDLE HANDLEFROM V$BACKUP_SET BS, V$BACKUP_PIECE BP
WHERE BS.SET_STAMP = BP.SET_STAMPAND BS.SET_COUNT = BP.SET_COUNTAND BP.STATUS IN ('A', 'X')AND BS.CONTROLFILE_INCLUDED != 'NO'AND BS.COMPLETION_TIME > SYSDATE - 1
ORDER BY BS.RECID DESC, PIECE# ;

10.获取数据库日志的相关信息
LOG_MODE:数据库的日志模式,将根据LOG_MODE的值进行解码,并显示为更易读的形式。如果LOG_MODE是’ARCHIVELOG’,则显示为’ARCHIVE MODE;如果LOG_MODE是’NOARCHIVELOG’,则显示为’NO ARCHIVE MODE’;否则,将显示原始的LOG_MODE值。
LOG_ARCHIVE_START:日志归档是否启用的标志,根据LOG_MODE进行解码。如果LOG_MODE是’ARCHIVELOG’,则显示为’ENABLED’;如果LOG_MODE是’NOARCHIVELOG’,则显示为’DISABLED’。
CURRENT_LOG_SEQ:当前日志的序列号,从VKaTeX parse error: Expected 'EOF', got '#' at position 35: …’的日志条目的SEQUENCE#̲进行获取。 OLDEST_ON…LOG视图中选择SEQUENCE#的最小值作为最旧的在线日志的序列号。

通过执行这个查询,可以获取数据库的日志模式、日志归档是否启用、当前日志的序列号以及最旧的在线日志的序列号。这些信息对于管理和监控数据库日志非常有用。

SELECT D.LOG_MODE,P.LOG_ARCHIVE_START,C.CURRENT_LOG_SEQ,O.OLDEST_ONLINE_LOG_SEQUENCEFROM (SELECT DECODE(LOG_MODE,'ARCHIVELOG','ARCHIVE MODE','NOARCHIVELOG','NO ARCHIVE MODE',LOG_MODE) LOG_MODEFROM V$DATABASE) D,(SELECT DECODE(LOG_MODE,'ARCHIVELOG','ENABLED','NOARCHIVELOG','DISABLED') LOG_ARCHIVE_STARTFROM V$DATABASE) P,(SELECT A.SEQUENCE# CURRENT_LOG_SEQFROM V$LOG AWHERE A.STATUS = 'CURRENT') C,(SELECT MIN(A.SEQUENCE#) OLDEST_ONLINE_LOG_SEQUENCE FROM V$LOG A) O;

11.查询数据库dblink

包含以下列:OWNER:链接所属的所有者。
DB_LINK:链接的名称。
USERNAME:连接到链接所使用的用户名。
HOST:链接的目标主机。
CREATED:链接的创建时间,格式为 ‘MM/DD/YYYY HH24:MI:SS’
set linesize 500set pagesize 400column OWNER format a10column DB_LINK format a25column USERNAME format a15column HOST format a20column CREATED format a20SELECT OWNER , DB_LINK , USERNAME , HOST , TO_CHAR(CREATED, 'MM/DD/YYYY HH24:MI:SS') CREATED FROM DBA_DB_LINKS ORDER BY OWNER, DB_LINK;

12.查询表的高水位线

SELECT *  FROM (SELECT OWNER,               SEGMENT_NAME TABLE_NAME,               SEGMENT_TYPE,               NVL(HWM - AVG_USED_BLOCKS, 0) WASTE_BLOCKS,               GREATEST(ROUND(100 * (NVL(HWM -  AVG_USED_BLOCKS, 0) /                              GREATEST(NVL(HWM, 1), 1)),                              2),                        0) WASTE_PER,               ROUND(BYTES / 1024 / 1024, 2) TABLE_MB,               ROUND(BYTES / 1024 / 1024, 2) *               GREATEST(ROUND((NVL(HWM - AVG_USED_BLOCKS, 0)  /                              GREATEST(NVL(HWM, 1), 1)),                              2),                        0) WASTE_MB,               O_TABLESPACE_NAME TABLESPACE_NAME          FROM (SELECT A.OWNER OWNER,                       A.SEGMENT_NAME,                       A.SEGMENT_TYPE,                       A.BYTES,                       B.NUM_ROWS,                       A.BLOCKS BLOCKS,                       B.EMPTY_BLOCKS EMPTY_BLOCKS,                       A.BLOCKS - B.EMPTY_BLOCKS - 1 HWM,                       DECODE(ROUND((B.AVG_ROW_LEN * NUM_ROWS  *                                    (1 + (PCT_FREE / 100))) /  C.BLOCKSIZE,                                    0),                              0,                              1,                              ROUND((B.AVG_ROW_LEN * NUM_ROWS  *                                    (1 + (PCT_FREE / 100))) /  C.BLOCKSIZE,                                    0)) + 2 AVG_USED_BLOCKS,                       ROUND(100 * (NVL(B.CHAIN_CNT, 0) /                             GREATEST(NVL(B.NUM_ROWS, 1), 1)),                             2) CHAIN_PER,                       ROUND(100 * (A.EXTENTS /  A.MAX_EXTENTS), 2) ALLO_EXTENT_PER,                       A.EXTENTS EXTENTS,                       A.MAX_EXTENTS MAX_EXTENTS,                       B.NEXT_EXTENT NEXT_EXTENT,                       B.TABLESPACE_NAME O_TABLESPACE_NAME                  FROM SYS.DBA_SEGMENTS A, SYS.DBA_TABLES B,  SYS.TS$ C                 WHERE A.OWNER = B.OWNER                   AND SEGMENT_NAME = TABLE_NAME                   AND SEGMENT_TYPE = 'TABLE'                   AND B.TABLESPACE_NAME = C.NAME                UNION ALL                SELECT A.OWNER OWNER,                       SEGMENT_NAME || '.' ||  B.PARTITION_NAME,                       SEGMENT_TYPE,                       BYTES,                       B.NUM_ROWS,                       A.BLOCKS BLOCKS,                       B.EMPTY_BLOCKS EMPTY_BLOCKS,                       A.BLOCKS - B.EMPTY_BLOCKS - 1 HWM,                       DECODE(ROUND((B.AVG_ROW_LEN *  B.NUM_ROWS *                                    (1 + (B.PCT_FREE / 100))) /  C.BLOCKSIZE,                                    0),                              0,                              1,                              ROUND((B.AVG_ROW_LEN *  B.NUM_ROWS *                                    (1 + (B.PCT_FREE / 100))) /  C.BLOCKSIZE,                                    0)) + 2 AVG_USED_BLOCKS,                       ROUND(100 * (NVL(B.CHAIN_CNT, 0) /                             GREATEST(NVL(B.NUM_ROWS, 1), 1)),                             2) CHAIN_PER,                       ROUND(100 * (A.EXTENTS /  A.MAX_EXTENTS), 2) ALLO_EXTENT_PER,                       A.EXTENTS EXTENTS,                       A.MAX_EXTENTS MAX_EXTENTS,                       B.NEXT_EXTENT,                       B.TABLESPACE_NAME O_TABLESPACE_NAME                  FROM SYS.DBA_SEGMENTS       A,                       SYS.DBA_TAB_PARTITIONS B,                       SYS.TS$                C,                       SYS.DBA_TABLES         D                 WHERE A.OWNER = B.TABLE_OWNER                   AND SEGMENT_NAME = B.TABLE_NAME                   AND SEGMENT_TYPE = 'TABLE PARTITION'                   AND B.TABLESPACE_NAME = C.NAME                   AND D.OWNER = B.TABLE_OWNER                   AND D.TABLE_NAME = B.TABLE_NAME                   AND A.PARTITION_NAME = B.PARTITION_NAME),               (SELECT TABLESPACE_NAME F_TABLESPACE_NAME,                       MAX(BYTES) MAX_FREE_SPACE                  FROM SYS.DBA_FREE_SPACE                 GROUP BY TABLESPACE_NAME)         WHERE F_TABLESPACE_NAME = O_TABLESPACE_NAME           AND GREATEST(ROUND(100 * (NVL(HWM -  AVG_USED_BLOCKS, 0) /                              GREATEST(NVL(HWM, 1), 1)),                              2),                        0) > 20           AND OWNER NOT IN ('CTXSYS',                             'DBSNMP',                             'DMSYS',                             'EXFSYS',                             'IX',                             'LBACSYS',                             'MDSYS',                             'OLAPSYS',                             'ORDSYS',                             'OUTLN',                             'SYS',                             'SYSMAN',                             'SYSTEM',                             'WKSYS',                             'WMSYS',                             'XDB',                             'APEX_030200',                             'ORDDATA')           AND BLOCKS > 128         ORDER BY 4 DESC, 1 ASC, 2 ASC)where rownum <= 30;

相关文章:

Oracle 日常健康脚本

文章目录 摘要常用脚本 摘要 保持 Oracle 数据库的良好健康状况对于系统的可靠性和性能至关重要。本文将介绍一些常用的 Oracle 日常健康脚本&#xff0c;帮助您监控数据库并及时识别潜在的问题&#xff0c;以保证数据库的稳定运行。 常用脚本 1.查询数据库实例和实例级别的…...

leetcode670最大交换

给定一个非负整数&#xff0c;你至多可以交换一次数字中的任意两位。返回你能得到的最大值。 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7。 示例 2 : 输入: 9973 输出: 9973 解释: 不需要交换。 注意: 给定数字的范围是 [0, 108] int maximumSwap(int num) {…...

XML 注入漏洞原理以及修复方法

漏洞名称&#xff1a;XML注入 漏洞描述&#xff1a;可扩展标记语言 (Extensible Markup Language, XML) &#xff0c;用于标记电子文件使其具 有结构性的标记语言&#xff0c;可以用来标记数据、定义数据类型&#xff0c;是一种允许用户对自己的标记语言进行定义的源语言。 XM…...

x-cmd pkg | dasel - JSON、YAML、TOML、XML、CSV 数据的查询和修改工具

目录 简介首次用户快速实验指南基本功能性能特点竞品进一步探索 简介 dasel&#xff0c;是数据&#xff08;data&#xff09;和 选择器&#xff08;selector&#xff09;的简写&#xff0c;该工具使用选择器查询和修改数据结构。 支持 JSON&#xff0c;YAML&#xff0c;TOML&…...

Oracle 19c RAC集群管理 ---------关键参数以及常用命令

Oracle 19c RAC集群管理 ---------关键参数 Oracle 19C RAC 参数最佳实践 --开启强制归档 ALTER DATABASE FORCE LOGGING; --设置 30分钟 强制归档 ALTER SYSTEM SET ARCHIVE_LAG_TARGET1800 SCOPEBOTH SID*; --设置期望undo保持时间3h ALTER SYSTEM SET UNDO_RETENTION21600…...

时限挑战——深度解析Pytest插件 pytest-timeout

在软件开发中&#xff0c;测试用例的执行时间通常是一个关键考虑因素。Pytest插件 pytest-timeout 提供了一个强大的插件&#xff0c;允许你设置测试用例的超时时间。本文将深入介绍 pytest-timeout 插件的基本用法和实际案例&#xff0c;助你精确掌控测试用例的执行时限。 什么…...

Java入门篇:打造你的Java开发环境——从零开始配置IDEA与Eclipse

引言 “工欲善其事,必先利其器” 作为每一位Java初学者的必经之路,搭建合适的开发环境是至关重要的第一步。本篇将详细指导你如何安装并配置两大主流Java开发工具——IntelliJ IDEA和Eclipse,助你在编程之旅上迈出坚实的第一步。 一、Java开发环境准备 1. 下载并安装Java D…...

文本批量处理大师:简化文本处理,释放无限生产力!

在数字化时代&#xff0c;我们每天都要处理大量的文本数据&#xff0c;无论是办公文档、网页内容还是社交媒体帖子。然而&#xff0c;面对海量的信息&#xff0c;传统的一键式操作已经无法满足我们的需求。我们需要一个更高效、更智能的工具来提升我们的工作效率。今天&#xf…...

Go 方法

第 1 章 方法 Go 语言也支持面向对象的思想&#xff1b;所谓面向对象编程&#xff1a;1对象就是简单的一个值或者变量&#xff0c;并且拥有其方法2方法是某种特定类型的函数3 面向对象编程就是使用方法来描述每个数据结构的属性和操作&#xff1b; 使用者不需要了解对象本身的…...

深度学习与大数据在自然语言处理中的应用与进展

引言 在当今社会&#xff0c;深度学习和大数据技术的快速发展为自然语言处理&#xff08;NLP&#xff09;领域带来了显著的进步。这种技术能够使计算机更好地理解和生成人类语言&#xff0c;从而推动了搜索引擎、语音助手、机器翻译等领域的创新和改进。 NLP的发展与技术进步…...

GPT4+Python近红外光谱数据分析及机器学习与深度学习建模

详情点击链接&#xff1a;GPT4Python近红外光谱数据分析及机器学习与深度学习建模 第一&#xff1a;GPT4 1、ChatGPT&#xff08;GPT-1、GPT-2、GPT-3、GPT-3.5、GPT-4模型的演变&#xff09; 2、ChatGPT对话初体验 3、GPT-4与GPT-3.5的区别&#xff0c;以及与国内大语言模…...

Java项目:12 Springboot的垃圾回收管理系统

作者主页&#xff1a;源码空间codegym 简介&#xff1a;Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 1.介绍 垃圾分类查询管理系统&#xff0c;对不懂的垃圾进行查询进行分类并可以预约上门回收垃圾。 让用户自己分类垃圾&#xff0c; 按国家标准自己分类…...

HarmonyOS自定义弹出对话框CustomDialog并传递变量

HarmonyOS定义了一系列弹窗反馈类的组件​ 和前端开发框架VUE3配套生态库element plus中的提供各种组件相比,还是要少一些。可能是手机端操作和PC端操作的差异导致的​ 如果内置的弹窗不满足要求,可以基于CustomDialog自定义出各种个性化的反馈组件。 首先新建一个ets文件,…...

React16源码: React中的renderRoot的错误处理的源码实现

renderRoot的错误处理 1 &#xff09;概述 在 completeWork这个方法之后, 再次回到 renderRoot 里面在 renderRoot 里面执行了 workLoop, 之后&#xff0c;对 workLoop 使用了try catch如果在里面有任何一个节点在更新的过程当中 throw Error 都会被catch到catch到之后就是错误…...

强化学习:MuJoCo机器人强化学习仿真入门(1)

声明&#xff1a;我们跳过mujoco环境的搭建&#xff0c;搭建环境不难&#xff0c;可自行百度 下面开始进入正题&#xff08;需要有一定的python基础与xml基础&#xff09;&#xff1a; 下面进入到建立机器人模型的部分&#xff1a; 需要先介绍URDF模型文件和导出MJCF格式 介绍完…...

8.Gateway服务网关

3.Gateway服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式…...

JVM篇----第四篇

系列文章目录 文章目录 系列文章目录前言一、虚拟机栈(线程私有)二、本地方法区(线程私有)三、你能保证 GC 执行吗?四、怎么获取 Java 程序使用的内存?堆使用的百分比?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到…...

WPF引用halcon的HSmartWindowControlWPF控件一加上Name属性就,无缘无故运行后报错

报错内容&#xff1a; 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MC1000 未知的生成错误“Could not find assembly System.Drawing.Common, Version0.0.0.0, Cultureneutral, PublicKeyTokencc7b13ffcd2ddd51. Either explicitly load this assembly using a method …...

Vue3组件库开发 之Button(2) 未完待续

Vue3组件库开发 之Button(1) 中新建项目&#xff0c;但未安装成功ESLINT 安装ESLINT npm install eslint vite-plugin-eslint --save-dev 安装eslint后&#xff0c;组件文件出现错误提示 添加第三方macros &#xff0c;虽然不是官网但很多开发者都是vue3开发人员 安装macros…...

k8s节点RouteCreated为false

出现该情况后&#xff0c;一般是初始化节点失败。因此&#xff0c;需要把节点从集群中移除&#xff0c;再加入到集群中&#xff0c;即可解决。 通常出现这个状况后&#xff0c;该节点上是没有被分配pod ip的&#xff0c;可以通过命令查看&#xff1a; # 发现没有PodCIDR、PodC…...

Kafka(二)原理详解

一 、kafka核心总控制器&#xff08;Controller&#xff09; 在Kafka集群中会有一个或者多个broker&#xff0c;其中有一个broker会被选举为控制器&#xff08;Kafka Controller&#xff09;&#xff0c;它负责管理整个集群中所有分区和副本的状态。 作用&#xff1a;leader副…...

Flutter 屏幕适配之相对尺寸适配

在Android中我们可以通过脚本来动态生成适配于各个厂商的屏幕的相对尺寸。 那么在Flutter中我们如何通过相同的思路来实现同样的效果呢&#xff1f;我们知道&#xff0c;Android的每个厂商的屏幕大小存在非常大区别。有些长&#xff0c;有的短&#xff0c;有的粗&#xff0c;有…...

在线预约小程序源码系统:适合任何行业的在线预约,快捷方便,省时省心 带完整的搭建教程

互联网技术的发展&#xff0c;人们对便捷服务的需求越来越高。特别是在线预约服务&#xff0c;无论是在医疗、美容、餐饮还是其他行业中&#xff0c;用户都希望能够通过简单的方式预约到所需的服务。然而&#xff0c;传统的预约方式往往效率低下&#xff0c;不能满足用户的快速…...

AI部署开发指南:用vs2019编译OnnxRuntime-v1.16.2

前言 要详细了解一个系统的部署&#xff0c;对其源码进行调试可能是最好的办法。 Pytorch的部署几经改版&#xff0c;最大的特点依然是不稳定&#xff0c;或者使用libtorch这种稳定但优化力度不够的部署方案。 而稳定且通用的方案&#xff0c;目前仍然是export to onnx的办法…...

【强化学习】QAC、A2C、A3C学习笔记

强化学习算法&#xff1a;QAC vs A2C vs A3C 引言 经典的REINFORCE算法为我们提供了一种直接优化策略的方式&#xff0c;它通过梯度上升方法来寻找最优策略。然而&#xff0c;REINFORCE算法也有其局限性&#xff0c;采样效率低、高方差、收敛性差、难以处理高维离散空间。 为…...

android usb2.0 协议基础(2)

2.4 USB逻辑部件 USB 逻辑部件 设备---》 接口 &#xff08;一个或多个&#xff09;&#xff1a;用于描述特定功能&#xff0c;包含多个端点----》端点&#xff08;一个或多个&#xff09;&#xff1a; 传输的最终对象端点号&#xff0c;传输类型传输方向&#xff0c;最大的数据…...

C语言快速排序(非递归)图文详解

前言&#xff1a; 上一期分析了快速排序的三种写法&#xff0c;这三种写法有一个相同点&#xff0c;都是采用递归形式来实现的&#xff0c;那么有没有非递归的方法实现呢&#xff1f;答案是当然有&#xff0c;用非递归的方法实现快速排序&#xff0c;其实可以借助数据结构中的栈…...

Java面试题136-150

36、用JDBC如何调用存储过程 代码如下&#xff1a; package com.huawei.interview.lym; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Types; public class JdbcTest…...

使用trace工具分析Mysql如何选择索引

背景说明 工作中,可能会遇到执行一个SQL,明明有索引,但是采用explain分析后发现执行结果并未走索引。甚至还有部分SQL语句相同就只是查询条件不一样也会出现有的走索引,有的不走索引情况。比如: 我的示例环境有个employees表,并有个idx_name_age_position的联合索引…...

微信小程序(十二)在线图标与字体的获取与引入

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.从IconFont获取图标与文字的样式链接 2.将在线图标配置进页面中&#xff08;源码&#xff09; 3.将字体配置进页面文字中&#xff08;源码&#xff09; 4.css样式的多文件导入 获取链接 1.获取图标链接 登入…...