sql >> データベース >  >> RDS >> Oracle

バックグラウンドプロセス

    オラクルでのキャリアがどんどん進んでいくにつれて、オラクルのバックグラウンドプロセスについていくのがますます難しくなっていることを誓います。これを年をとるまでチョークで書きたいのですが、掘り下げてみると、オラクルが11gでバックグラウンドプロセスを爆発的に増やしていることが、私にぴったりだと確信しています。

    今日の初め、私はグリッドコントロールの本番データベースのパフォーマンスタブを見ていました。 3ノードのRACクラスターで高いCPUが発生していたため、ドリルダウンして、CPUサイクルの大部分がNSA2という名前のバックグラウンドプロセスからのものであることに気付きました。何?!?!?! NSA2とは何ですか?これは国家安全保障とは何の関係もないと確信しています。

    このバックグラウンドプロセスのGoogle検索を行っているときに、各Oracleバックグラウンドプロセスの簡単な説明を提供するための気の利いたクエリに出くわしました。 X $テーブルをクエリするため、これをSYSとして実行する必要があります。

    column EXTERNAL_NAME format a13
    column INTERNAL_NAME format a13
    set lin 120
    SELECT x$ksbdd.ksbddidn AS external_name,
    x$ksmfsv.ksmfsnam AS internal_name, x$ksbdd.ksbdddsc AS description
    FROM x$ksbdd, x$ksbdp, x$ksmfsv
    WHERE x$ksbdd.indx = x$ksbdp.indx AND x$ksbdp.addr = x$ksmfsv.ksmfsadr
    ORDER BY 1
    ;

    私の11.2.0.2データベースでは、このクエリは296行を返しました。ついていけないのも不思議ではありません。頭のてっぺんからすべてのバックグラウンドプロセス(SMON、PMON、ARCH、DBWR、LGWR、CKPT、およびRECO)を一覧表示できたときのことを覚えています。 Oracleの新しいバージョンごとに、バックグラウンドプロセスの数が増えます。これはおそらく良いことです。ただし、DBAが問題を診断するのが難しい場合があります。

    では、NSA2とは何ですか?アーカイブされたREDOログをスタンバイデータベースに転送するREDOトランスポートプロセスです。上記のクエリの説明を見ると、それは明らかでした。

    したがって、データベースを読んで、旅の途中で遭遇する可能性のあるすばらしいバックグラウンドプロセスをすべて確認してください。リストの中で私のお気に入りの1つはTESTです。

    更新– 2012年9月12日–このブログエントリを書いた後、オラクルはデータベースリファレンスの付録Fにバックグラウンドプロセスをすでに文書化していることがわかりました。 Oracleがこの付録をいつ開始したかはわかりません。それについて知っていれば、NSAxプロセスを調べただけでした。ただし、上記のスクリプトは依然として楽しく、Oracleが文書化していない新しいバックグラウンドプロセスを発見するために使用できます。


    1. PostgreSQLで特定のテーブルのすべてのトリガーを一覧表示する3つの方法

    2. ORA-00997の回避策:LONGデータ型の不正使用

    3. Cosd()がPostgreSQLでどのように機能するか

    4. SQL Server 2016:データベースを復元する