Oracleのバックグラウンドが必要な処理します

 

Oracleのバックグラウンドが必要な処理します

1つの ブリーフ

oralceそこにすべての主要なバージョン変更、バックグラウンド・プロセスは、いくつかの変更、およびいくつかの新しいプロセス、または元の分割プロセスが殺さすることはできないであろう。キルは、データベースのクラッシュを引き起こす可能性があります。プロセスが明確で曖昧でないでなければならない何を殺すことはできません。

2つの 必要な処理

 

2.1 デフォルトの起動デーモン

  • 11G

    [オラクル@ test1に〜] $ sqlplusを-v 
    
    SQL * Plusの:11.2.0.4.0生産をリリース
    
    [オラクル@ test1に〜] $ psの-ef | grepをのオーラ| SU -v grepの|はgrep -v grepの|はgrep -vのbash | grepの-vより多くの|はgrepの-v PSは
    オラクル23144 1 0午前22時16分?午前〇時00分00秒ora_pmon_wtdb 
    オラクル23152 1 2 22:16?午後12時00分12秒ora_vktm_wtdb 
    オラクル23156 1 0夜09時16分?午前〇時00分00秒ora_gen0_wtdb 
    オラクル23158 1 0 22:16?午前〇時00分00秒ora_diag_wtdb 
    オラクル23160 1 0 22:16?午前〇時00分00秒ora_dbrm_wtdb 
    オラクル23165 1 0 22:16?午前〇時00分00秒ora_dia0_wtdb 
    オラクル23167 1 0 22:16?午前〇時00分00秒ora_mman_wtdb  
    オラクル23169 1 0 22:16?午前0時00分○○秒ora_dbw0_wtdb
    オラクル23171 1 0 22:16?午前0時00分○○秒ora_lgwr_wtdb
    オラクル23173 1 0午前22時16分?午前〇時00分00秒ora_ckpt_wtdb 
    オラクル23175 1 0 22:16?午前〇時00分00秒ora_smon_wtdb 
    オラクル23177 1 0 22:16?午前〇時00分00秒ora_reco_wtdb 
    オラクル23179 1 0 22:16?午前〇時00分00秒ora_mmon_wtdb 
    オラクル23181 1 0 22:16?午前〇時00分00秒ora_mmnl_wtdb 
    オラクル23183 1 0 22:16?00:00:00 ora_d000_wtdb 
    オラクル23185 1 0 22:16?午前〇時00分00秒ora_s000_wtdb 
    オラクル23237 1 0 22:16?午前〇時00分00秒ora_arc0_wtdb 
    オラクル23242 1 0 22:16?午前〇時00分00秒ora_arc1_wtdb  
    オラクル23244 1 0 22:16?午前0時00分○○秒ora_arc2_wtdb
    オラクル23246 1 0 22:16?午前〇時00分00秒ora_arc3_wtdb 
    オラクル23249 1 0 22:16?午前0時00分○○秒ora_qmnc_wtdb 
    オラクル23266 1 0 22:16?午前〇時00分00秒ora_cjq0_wtdb 
    オラクル23317 1 0 22:16?午前〇時00分00秒ora_q000_wtdb 
    オラクル23319 1 0 22:16?午前〇時00分00秒ora_q001_wtdb 
    オラクル24533 1 0午前22時21?午前〇時00分00秒ora_smco_wtdb 
    オラクル24546 1 0午前22時21?午前〇時00分00秒ora_w000_wtdb 
    オラクル25095 1 0 22:23?午前〇時00分00秒ora_j000_wtdb 
    オラクル25097 1 0 22:23?午前0時00分○○秒ora_j001_wtdb
    

    デフォルトのバックグラウンドプロセスが開始しました:PMON VKTMゲンDIAG DBRMディアンMMANのDBWnがLGWR CKPTスモンRECO MMON MMNL Dnnn SnnnのARCn QMNC CJQn QnnnのSmCo WnnnいるJnnn 23種。

これらのプロセス、運用メカニズム、トリガー機構の役割は、当時のプロセスが必要なもので、初見の詳細をご覧ください。

2.2 プロセスをkillすることはできませんどのような

  • テストスクリプト

    !/ binに/ SHの
    機能の 起動()
    { 
    SQLPLUSは/ SYSDBAとして<< EOF 起動終了EOFを 
    } 開始 = `psの-ef | awkの'{$ 2印刷}'` |グレップのPMON | grepの-v grepのテストを -z $」 「開始スタートアップ>>を/ dev / null && 
    睡眠5 prolist = グレップのオーラ| | egrepの-v 'bashを| S [ええと] | PS | grepの|より|睡眠|のawk | LOCAL | SYSDBA |ログイン' `PS -ef | awkの'{印刷$ NF}' ` #は$ prolistをエコーするために、私 $ prolist DO proc_key = `エコー$ I |のawk -F _ '{$ 2印刷}' ` PID =
    
    
    
    
    
    
    
    
    
    
    
    
    PS -ef `| grepをする$ proc_key |はgrep -v grepの| awkは` '{$ 2印刷}'  
    、 "Oracleは、キーワードの$ proc_keyの$ pidのプロセスIDを処理$ iの処理"エコー
    #は"キルプロセスの$ proc_key"エコー
    テスト -zを$ PID && エコー "$のproc_keyは存在しません" || 殺す -9 "$ pidを"  
    SLEEP 20 PC = grepのPMON | |はgrep -v grepの| `PS -ef WC -l` エコー"PMONプロセスにPC $の数を" IF [$ PC -eq 0]; その後、エコー「!キル・プロセスがインスタンスがクラッシュ$ proc_keyにつながる」 
       スタートアップ>>は/ dev / nullに
       SLEEP 5 エコー「キルプロセスは$ proc_keyインスタンスのクラッシュにつながるものではありません!」wexists =
    
     
     
        
     
        
       グレップW000 | |はgrep -v grepの| WC -l` PS `-ef 
       smc0exists = ` PS -ef | grepのSMC |はgrep -v grepの| WCが-l` 
       テストに -z $ wexistsを && エコー "W000プロセスが存在しません" 
       テスト -z $ smc0exists && エコー "SMCのプロセスが存在しない" 
    Fiあり 
    DONE
    
  • 結果

    !インスタンスのクラッシュをPMONにつながるだろうプロセスを強制終了し
    、クラッシュのインスタンスへのプロセスVKTMリードを殺す!
    インスタンスへのプロセスgen0リードを殺すクラッシュ!
    DIAGインスタンスにつながらないプロセスを殺すクラッシュ!
    インスタンスへのプロセスDBRMリードを殺すクラッシュ!
    クラッシュdia0インスタンスにつながらないプロセスを殺します!
    インスタンスにプロセスMMANリードを殺すクラッシュ!
    のインスタンスにつながるDBW0プロセスを殺すクラッシュ!
    プロセスをLGWR殺すのインスタンスにつながるクラッシュ!
    CKPTプロセスを強制終了インスタンスにつながるクラッシュ!
    SMONインスタンスのクラッシュにつながるプロセスを殺す!
    RECOインスタンスのクラッシュにつながるものではないプロセスを殺す!
    殺しますMMONプロセスは、インスタンスのクラッシュにつながるものではない!
    MMNLプロセスがクラッシュ!インスタンスにつながらない殺す
    殺すプロセスのD000がクラッシュ!インスタンスにつながらない
    キル・プロセスS000は、インスタンスのクラッシュにつながるものではない!
    キルプロセスP000は、インスタンスのクラッシュにつながることはありません!
    キル・プロセスは、P001にはつながりません例は!クラッシュ
    クラッシュARC0インスタンスにつながらないプロセスを殺す!
    ARC1インスタンスのクラッシュにつながるものではないプロセスを殺す!
    クラッシュARC2インスタンスにつながらないプロセスを殺す! 
    arc3インスタンスがクラッシュにつながるものではないプロセスを殺します!
    QMNCインスタンスのクラッシュにつながるものではないプロセスを殺す!
    CJQ0インスタンスのクラッシュにつながるものではないプロセスを殺す!
    クラッシュq000インスタンスにつながらないプロセスを殺す!
    Q001インスタンスがクラッシュにつながるものではないプロセスを殺します!
    

行うための第二の仕上げ、我々は見ることができますPMON、VKTM、gen0、DBRM、でOracle 11Gをスモン、MMAN、DBW0、LGWR、CKPT この9つのプロセスが殺さすることはできませんこれは、データベースのダウンタイムが発生します。

スクリプト上で、テスト中に、短い調整するために睡眠時間は、時々 、ダウンタイムのインスタンスにつながるdia0プロセスを殺すことがわかりましただから、これは罠ではなく、それはに陥ることがあり、慎重です。

それは、Oracle 11Gプロセスの過程で必要なことは、9 + 1高リスクプロセスを含まなければなりません。

 

慎重に子供用の靴は再起動時に起動されていないw000、SMC0プロセスを好きではないされたテストプロセスのいくつかの結果があることがわかります。この現象は、これらのプロセスは必要ありません示しています。

著者:ハルバード

作成:2019年6月22日(土)2時25分

検証

おすすめ

転載: www.cnblogs.com/halberd-lee/p/11067592.html