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

网站的基本知识百度代理加盟

网站的基本知识,百度代理加盟,图标不显示wordpress,做网站的分辨率多少之前我曾经发过一个自动处理表空间的脚本,可以通过定时任务自动处理表空间不足的问题;但是之前那个脚本没有涵盖CDB模式下的PDB,这里将脚本做了一下更新,可以处理CDB模式下多PDB的表空间问题。 传统模式的脚本请参考这个链接 Or…

之前我曾经发过一个自动处理表空间的脚本,可以通过定时任务自动处理表空间不足的问题;但是之前那个脚本没有涵盖CDB模式下的PDB,这里将脚本做了一下更新,可以处理CDB模式下多PDB的表空间问题。

传统模式的脚本请参考这个链接

Oracle自动处理表空间不足脚本 - 墨天轮

表空间问题引起的问题请看如下

Oracle 11G还有新BUG?ORACLE 表空间迷案! - 墨天轮

脚本如下

#!/bin/bash# name: check_ts_usage.sh# purpose: Check tablespace usage in CDB and auto-extend if needed, then send email notification if data files are added.# updated by 潇湘秦#  /home/oracle/.bash_profil设置 ORACLE_S ORACLE_HOMEsource /home/oracle/.bash_profileHOST_NAME=$(uname -n)export HOST_NAMEJOB_PWD=$HOME/jobsexport JOB_PWDEMAIL_RECIPIENTS=xxxxxx@mail.com  # 设置告警邮件mailDATA_FILE_ADDED=false  #设置是否加数据文件的flag# 确认 ORACLE_SID 和 ORACLE_HOME 是否已设置if [[ -z "$ORACLE_SID" || -z "$ORACLE_HOME" ]]; then    echo "ORACLE_SID 或 ORACLE_HOME 未设置,请检查 /home/oracle/.bash_profile 文件。"    exit 1fi# 临时文件用于存放邮件内容EMAIL_CONTENT_FILE="/tmp/tablespace_alert_email.txt"#clear history info>$EMAIL_CONTENT_FILEecho "Notice: Tablespace auto-extension triggered on $HOST_NAME" > "$EMAIL_CONTENT_FILE"# Function to check tablespace usage and add datafiles if neededcheck_and_add_datafiles() {    local PDB_NAME=$1    echo "Checking tablespace usage in PDB: $PDB_NAME" >> "$EMAIL_CONTENT_FILE"    CHECK_TS_USAGE=$($ORACLE_HOME/bin/sqlplus -s "/ as sysdba" <<EOF        SET HEADING OFF FEEDBACK OFF VERIFY OFF ECHO OFF        ALTER SESSION SET CONTAINER=$PDB_NAME;        SELECT COUNT(*)        FROM (SELECT t.tablespace_name              FROM (SELECT a.tablespace_name,                           a.unalloc_size,                           NVL(f.free_size, 0) free_size,                           a.used_size - NVL(f.free_size, 0) used_size,                           ROUND((a.used_size - NVL(f.free_size, 0)) / (a.unalloc_size + a.used_size), 2) capacity                      FROM (SELECT tablespace_name, ROUND(SUM(bytes) / 1024 / 1024) free_size                              FROM dba_free_space                             GROUP BY tablespace_name) f,                           (SELECT tablespace_name,                                   ROUND(SUM(user_bytes) / 1024 / 1024) used_size,                                   ROUND(SUM(DECODE(autoextensible, 'YES', DECODE(SIGN(maxbytes - user_bytes), -1, 0, maxbytes - user_bytes), 0)) / 1024 / 1024) unalloc_size                              FROM dba_data_files                             GROUP BY tablespace_name) a                     WHERE a.tablespace_name = f.tablespace_name(+)) t             WHERE capacity >= 0.80  # 这里的阈值按自己的需求设定                      AND (unalloc_size + free_size) < 10000                      AND (unalloc_size + free_size) < used_size / 2        );EOF    )    if [[ $CHECK_TS_USAGE -gt 0 ]]; then        echo "Threshold exceeded in PDB $PDB_NAME: initiating data file addition." >> "$EMAIL_CONTENT_FILE"        DATA_FILE_ADDED=true         $ORACLE_HOME/bin/sqlplus -s "/ as sysdba" <<EOF >> "$EMAIL_CONTENT_FILE"            SET SERVEROUTPUT ON;            SET LINESIZE 1000;            SET PAGESIZE 0            ALTER SESSION SET CONTAINER=$PDB_NAME;            DECLARE                ts_name VARCHAR2(50);                datafile_path VARCHAR2(500);                is_omf  NUMBER;            BEGIN                -- Loop through tablespaces with low space                FOR ts IN (                    SELECT t.tablespace_name                    FROM (SELECT a.tablespace_name,                                 a.unalloc_size,                                 NVL(f.free_size, 0) free_size,                                 a.used_size - NVL(f.free_size, 0) used_size,                                 ROUND((a.used_size - NVL(f.free_size, 0)) / (a.unalloc_size + a.used_size), 2) capacity                            FROM (SELECT tablespace_name, ROUND(SUM(bytes) / 1024 / 1024) free_size                                    FROM dba_free_space                                   GROUP BY tablespace_name) f,                                 (SELECT tablespace_name,                                         ROUND(SUM(user_bytes) / 1024 / 1024) used_size,                                         ROUND(SUM(DECODE(autoextensible, 'YES', DECODE(SIGN(maxbytes - user_bytes), -1, 0, maxbytes - user_bytes), 0)) / 1024 / 1024) unalloc_size                                    FROM dba_data_files                                   GROUP BY tablespace_name) a                           WHERE a.tablespace_name = f.tablespace_name(+)) t                   WHERE capacity >= 0.80                           AND (unalloc_size + free_size) < 10000                           AND (unalloc_size + free_size) < used_size / 2                ) LOOP                    ts_name := ts.tablespace_name;                    -- Find the path of an existing datafile for this tablespace                    SELECT SUBSTR(file_name, 1, INSTR(file_name, '/', -1))                     INTO datafile_path                    FROM dba_data_files                    WHERE tablespace_name = ts_name                    AND ROWNUM = 1;                    -- Check if OMF is enabled                    SELECT COUNT(*) INTO is_omf                     FROM v\$parameter WHERE name = 'db_create_file_dest' AND value IS NOT NULL;                    IF is_omf > 0 THEN                        -- Add datafile with OMF                        EXECUTE IMMEDIATE 'ALTER TABLESPACE ' || ts_name || ' ADD DATAFILE SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 30G';                        DBMS_OUTPUT.PUT_LINE('OMF Enabled: Added datafile for tablespace ' || ts_name || ' in PDB ' || '$PDB_NAME');                    ELSE                        -- Add datafile with custom path based on existing path                        EXECUTE IMMEDIATE 'ALTER TABLESPACE ' || ts_name ||                                           ' ADD DATAFILE ''' || datafile_path || ts_name || '_' || TO_CHAR(SYSDATE, 'YYYYMMDD') || '.dbf'' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 30G';                         DBMS_OUTPUT.PUT_LINE('Non-OMF: Added datafile ' || datafile_path || ts_name || '_' || TO_CHAR(SYSDATE, 'YYYYMMDD') || '.dbf for tablespace ' || ts_name || ' in PDB ' || '$PDB_NAME');                    END IF;                END LOOP;            END;            /EOF    else        echo "No tablespaces are exceeding the threshold in PDB $PDB_NAME; no action required." >> "$EMAIL_CONTENT_FILE"    fi}# Get list of PDBs in the CDBPDB_LIST=$($ORACLE_HOME/bin/sqlplus -s "/ as sysdba" <<EOF    SET HEADING OFF FEEDBACK OFF VERIFY OFF ECHO OFF    SELECT name FROM v\$pdbs WHERE open_mode = 'READ WRITE';EOF)# Check and add datafiles for each PDBfor PDB in $PDB_LIST; do    check_and_add_datafiles $PDBdone# Send email notification with the contents of EMAIL_CONTENT_FILEif $DATA_FILE_ADDED; then    mailx -s "Notice: Tablespace Auto-Extension on $HOST_NAME"  "$EMAIL_RECIPIENTS" < "$EMAIL_CONTENT_FILE"fi# Clean up temporary filerm -f "$EMAIL_CONTENT_FILE"

比如有多个PDB可以一个脚本搞定,设置定时任务就可以自动处理表空间问题,无需人工介入。

[oracle@ssycmes01 jobs]$ cat /tmp/tablespace_alert_email.txtNotice: Tablespace auto-extension triggered on ssycmes01Checking tablespace usage in PDB: MESNo tablespaces are exceeding the threshold in PDB MES; no action required.Checking tablespace usage in PDB: QMSNo tablespaces are exceeding the threshold in PDB QMS; no action required.Checking tablespace usage in PDB: EAMNo tablespaces are exceeding the threshold in PDB EAM; no action required.Checking tablespace usage in PDB: SPCNo tablespaces are exceeding the threshold in PDB SPC; no action required.Checking tablespace usage in PDB: REPORTNo tablespaces are exceeding the threshold in PDB REPORT; no action required.

如果达到阈值添加了数据文件则发送邮件告警


文章转载自:
http://dinncothoracic.wbqt.cn
http://dinncosemidaily.wbqt.cn
http://dinncoastronautics.wbqt.cn
http://dinncoboxroom.wbqt.cn
http://dinncocondor.wbqt.cn
http://dinncodisobey.wbqt.cn
http://dinncophonoreception.wbqt.cn
http://dinnconephrite.wbqt.cn
http://dinncoergal.wbqt.cn
http://dinncoguttulate.wbqt.cn
http://dinncophotothermic.wbqt.cn
http://dinncoarbitration.wbqt.cn
http://dinncothunder.wbqt.cn
http://dinncopukka.wbqt.cn
http://dinncosymphile.wbqt.cn
http://dinncoentomophagous.wbqt.cn
http://dinncobureaucratism.wbqt.cn
http://dinncoscrapnel.wbqt.cn
http://dinncobunned.wbqt.cn
http://dinncounpromising.wbqt.cn
http://dinncoluteotropin.wbqt.cn
http://dinncotintype.wbqt.cn
http://dinncosneery.wbqt.cn
http://dinncothermotics.wbqt.cn
http://dinncohemostasia.wbqt.cn
http://dinncohackberry.wbqt.cn
http://dinncosabretache.wbqt.cn
http://dinncodiphosphate.wbqt.cn
http://dinncofarcicality.wbqt.cn
http://dinncomaterialise.wbqt.cn
http://dinncotenuis.wbqt.cn
http://dinncotectonization.wbqt.cn
http://dinncoslatch.wbqt.cn
http://dinncojerez.wbqt.cn
http://dinncobusses.wbqt.cn
http://dinncozhuhai.wbqt.cn
http://dinncoweightiness.wbqt.cn
http://dinncosclerous.wbqt.cn
http://dinnconix.wbqt.cn
http://dinncodogginess.wbqt.cn
http://dinncomithridatic.wbqt.cn
http://dinnconfwi.wbqt.cn
http://dinncogipsydom.wbqt.cn
http://dinncobatrachoid.wbqt.cn
http://dinncodemocrat.wbqt.cn
http://dinncobounteous.wbqt.cn
http://dinncosnooperscope.wbqt.cn
http://dinncocountdown.wbqt.cn
http://dinncospoliative.wbqt.cn
http://dinncorenormalization.wbqt.cn
http://dinncosurprint.wbqt.cn
http://dinncophenetidin.wbqt.cn
http://dinncotriquetrous.wbqt.cn
http://dinncobuckshee.wbqt.cn
http://dinncocorrigenda.wbqt.cn
http://dinncosexually.wbqt.cn
http://dinncoinsurgence.wbqt.cn
http://dinncoantifreeze.wbqt.cn
http://dinncolively.wbqt.cn
http://dinncoaswoon.wbqt.cn
http://dinncofawning.wbqt.cn
http://dinncovelocity.wbqt.cn
http://dinncoashes.wbqt.cn
http://dinncobromidic.wbqt.cn
http://dinncobootlicker.wbqt.cn
http://dinncobrowny.wbqt.cn
http://dinncorheostat.wbqt.cn
http://dinncoprepreference.wbqt.cn
http://dinncoduressor.wbqt.cn
http://dinncoantiphonal.wbqt.cn
http://dinncobastion.wbqt.cn
http://dinncounvoice.wbqt.cn
http://dinnconecrogenic.wbqt.cn
http://dinncoursine.wbqt.cn
http://dinncoenvy.wbqt.cn
http://dinncotinamou.wbqt.cn
http://dinncohexachord.wbqt.cn
http://dinncobisulfate.wbqt.cn
http://dinncoresorcin.wbqt.cn
http://dinncocommittee.wbqt.cn
http://dinncofluyt.wbqt.cn
http://dinncogasometric.wbqt.cn
http://dinncocomrade.wbqt.cn
http://dinncoaxite.wbqt.cn
http://dinncoenslaver.wbqt.cn
http://dinncoportasystemic.wbqt.cn
http://dinncotaurocholic.wbqt.cn
http://dinncomanifold.wbqt.cn
http://dinncogunsight.wbqt.cn
http://dinncocep.wbqt.cn
http://dinncoparaclete.wbqt.cn
http://dinncofuel.wbqt.cn
http://dinncojerky.wbqt.cn
http://dinncorann.wbqt.cn
http://dinncorepatriate.wbqt.cn
http://dinncobroncobuster.wbqt.cn
http://dinncoconfidence.wbqt.cn
http://dinncomultiplicate.wbqt.cn
http://dinncodominus.wbqt.cn
http://dinncoricebird.wbqt.cn
http://www.dinnco.com/news/108958.html

相关文章:

  • 什么是企业网站营销阿里域名购买网站
  • 网站开发研究综述竞价推广课程
  • 仿站源码网络营销课程个人总结3000字
  • 校园网站建设模板产品怎么做推广和宣传
  • 做数据图网站百度网盘网页版登录首页
  • 适合翻译做兼职的网站seo和sem的联系
  • 西宁网站制作费用是多少钱品牌运营管理公司
  • 盗版网站是如何做的广州seo网站管理
  • 系统开发的生命周期分为几个阶段网络优化的工作内容
  • 网站建设中图片怎么样网络推广包括哪些
  • 如何用.net做网站线上直播营销策划方案
  • 新余 网站建站 设计 公司google网站
  • 一家公司做网站需要什么资料比较正规的代运营
  • 网站建设公司怎么赚钱国外搜索引擎大全
  • 网站开发计划书封面乔拓云网微信小程序制作
  • 网页设计与制作项目好搜网惠州seo
  • 网站客服系统公司短链接在线生成器
  • 中国十大网站建设杭州百度首页排名
  • 网络公司网站建设规划新开传奇网站发布站
  • 广东网站设计哪家好百度竞价ocpc
  • 免费二级域名申请网站空间win7优化工具哪个好用
  • 一半都有哪些做影视外包的网站龙岩seo
  • 微信公众号对接网站做性价比高seo排名
  • 北京网站如何做推广制作网页app
  • 网站里的个人中心下拉列表怎么做建站优化
  • 做网站要营业执照吗天津网站建设优化
  • 网站开发设计技术网站怎么优化搜索
  • 公主岭网站开发怎么样把自己的产品网上推广
  • 网页游戏网站有哪些字节跳动广告代理商加盟
  • 做网站江西谷歌浏览器下载安装(手机安卓版)