検索
ホームページシステムチュートリアルLinuxOracle パラメータのセットおよびリセット設定

Oracle パラメータのセットおよびリセット設定

Mar 20, 2024 pm 07:10 PM
linuxLinuxチュートリアルレッドハットLinuxシステムLinuxコマンドLinux 認定レッドハットリナックスLinuxビデオ

Oracleパラメータ設定におけるセットとリセットの実際のケース

環境: Oracle 10.2.0.5 RAC

要件: ノード 1 の aq_tm_processes はデフォルトに復元する必要があり、ノード 2 の設定は変更しないままにする必要があります

  • 1. テスト環境の構築
  • 2.テスト計画
  • 3. 概要

背景の紹介:
10.2 公式ファイルから aq_tm_processes パラメータを見つけることができます。このパラメータのデフォルト値が 0 であることがわかります。デフォルトの 0.

と呼びましょう。

Oracle パラメータのセットおよびリセット設定

そして、実際に、このデフォルトの 0 の効果は、手動で SET を 0 に設定した場合の効果とは完全に異なることがわかりました。
この件について同僚と話し合って、最終的に技術的な詳細を学びました:
Oracle では、SET を使用してパラメータ値を設定すると、実際に多くの作業が節約されます。Oracle のデフォルト値を復元する場合、最も効果的な方法は、すべてが Oracle のデフォルト設計に従うように、値を RESET することです。

現在のシナリオを具体的に見ると、パラメーター aq_tm_processes を 0 に設定すると、元のデフォルトの 0 とはまったく異なります。
0 に設定すると、すべての q00 ワーカー プロセスがシャットダウンされ、再起動されません。デフォルトで 0 の場合、q00 ワーカー プロセスを開始できます。

1. テスト環境を構築する

現在生成されているパラメータの内容はこれに似ており、次のようなグローバル設定とインスタンス 1 の設定が含まれています。

*.aq_tm_processes=1 jy1.aq_tm_processes=0
インスタンスの設定の優先順位が高いことはわかっています。つまり、この設定の影響は、インスタンス 1 のパラメータが 0、インスタンス 2 のパラメータが 1 であることを意味します。
つまり、インスタンス 1 は q00 ワーカー プロセスを開始できませんが、インスタンス 2 は q00 ワーカー プロセスを開始できます。 


本番環境をシミュレートするためのテスト環境を構築します:

最初に aq_tm_processes を 1:

に設定します

alter system set aq_tm_processes = 1scope=both sid='*'; --spfile から pfile='/tmp/pfile11.ora' を作成します。

このとき、パラメータファイルには次のような設定が存在します: 

*.aq_tm_processes=1

インスタンス 1 の aq_tm_processes を 0 に設定します

システム設定を変更します aq_tm_processes = 0 スコープ=両方 sid='jy1'; --spfile から pfile='/tmp/pfile12.ora' を作成します。

このとき、パラメータファイルには次のような設定が存在します: 

*.aq_tm_processes=1 jy1.aq_tm_processes=0

この時点で、本番環境の現在の状況がシミュレーションされます。実際の操作プロセスを見てみましょう: 

SQL> SQL> alter system set aq_tm_processes = 1scope=both sid='*'; システムが変更されました。 SQL> spfile から pfile='/tmp/pfile11.ora' を作成します。 ファイルが作成されました。 SQL> パラメータ aq を表示

名前の種類の値
------------------------------------ ---------- --- - -------------------------
aq_tm_processes 整数 1
SQL> !ps -ef|grep q00
oracle 1462 27385 0 15:27 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00
オラクル 1464 1462 0 15:27 ポイント/1 00:00:00 grep q00
オラクル 26534 1 0 15:08 ? 00:00:00 ora_q002_jy1
オラクル 31538 1 0 15:21 ? 00:00:00 ora_q000_jy1
SQL>
SQL> alter system set aq_tm_processes = 0scope=both sid='jy1';

システムが変更されました。

SQL> spfile から pfile='/tmp/pfile12.ora' を作成します。

ファイルが作成されました。

SQL> パラメータ aq を表示
名前の種類の値
------------------------------------ ---------- --- - -------------------------
aq_tm_processes 整数 0
SQL> !ps -ef|grep q00
oracle 2044 27385 0 15:28 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00
オラクル 2046 2044 0 15:28 ポイント/1 00:00:00 grep q00
SQL>
ご覧のとおり、q00 プロセスは確かに 0 に設定された後消えます。インスタンスを再起動しても同様で、q00 プロセスは起動しなくなります。 

2. テスト計画
ここでしなければならないことは、ノード 2 の設定を変更せずに、ノード 1 の aq_tm_processes をデフォルトに戻すことです。

2.1 パラメータを直接リセットしてノード 1 を指定し、検証を再開してみますか?
システム リセットを変更します aq_tm_processes スコープ = spfile sid = 'jy1';
spfile から pfile='/tmp/pfile13.ora' を作成します。

ノード 1 の検証を再開しますか?要件が達成できるかどうかを確認しますか?
具体的な実際の操作は以下のとおりです。

SQL>システム リセットを変更します aq_tm_processes スコープ=spfile sid='jy1'; システムが変更されました。 SQL> spfile から pfile='/tmp/pfile13.ora' を作成します。 ファイルが作成されました。 SQL> パラメータ aq を表示
名前の種類の値
------------------------------------ ---------- --- - -------------------------
aq_tm_processes 整数 0
SQL> !ps -ef|grep q00
oracle 3801 27385 0 15:32 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00
oracle 3803 3801 0 15:32 ポイント/1 00:00:00 grep q00
SQL> 起動強制
ORACLE インスタンスが開始されました。

システムグローバル領域の合計 599785472 バイト
固定サイズ 2098112 バイト
可変サイズ 301993024 バイト
データベースバッファ 289406976 バイト
やり直しバッファ 6287360 バイト
データベースがマウントされました。
データベースが開きました。
SQL> パラメータ aq を表示
名前の種類の値
------------------------------------ ---------- --- - -------------------------
aq_tm_processes 整数 1
SQL> !ps -ef|grep q00
オラクル 4228 1 0 15:33 ? 00:00:00 ora_q000_jy1
オラクル 4232 1 0 15:33 ? 00:00:00 ora_q002_jy1
oracle 5021 27385 0 15:35 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00
oracle 5023 5021 0 15:35 ポイント/1 00:00:00 grep q00
SQL>
ご覧のとおり、答えは明らかに「いいえ」です。 

これはインスタンス 1 のパラメータのみをリセットしますが、以前にグローバル パラメータ *�� があったため、インスタンス 1 を再起動すると aq_tm_processes パラメータが 1 になることがわかります。
つまり、インスタンス 1 の設定を削除すれば、全体の設定は自然に踏襲されます。

2.2 正しい方法で実験する

上記の基盤をもとに、要件を実装するという考えがあります:
考えてみましょう。グローバル パラメータをリセットすると、ノード 2 の以前の設定に影響します。この方法では、ノード 2 の値を個別に設定してから、グローバル パラメータをリセットするしかありません。

システム設定を変更します aq_tm_processes = 1 スコープ=両方 sid='jy2';
--spfile から pfile='/tmp/pfile14.ora' を作成します。

システム リセットを変更します aq_tm_processes スコープ = spfile sid = '*';
--spfile から pfile='/tmp/pfile15.ora' を作成します。

ノード 1 の検証を再開しますか? ?要件が達成できるかどうかを確認しますか?

具体的な実際の操作は以下のとおりです。

SQL> alter system set aq_tm_processes = 1scope=both sid='jy2';

システムが変更されました。

SQL> spfile から pfile='/tmp/pfile14.ora' を作成します。

ファイルが作成されました。

SQL> alter system restart aq_tm_processesscope=spfile sid='*';

システムが変更されました。

SQL> spfile から pfile='/tmp/pfile15.ora' を作成します。

ファイルが作成されました。

SQL> 起動強制
ORACLE インスタンスが開始されました。
システム グローバル領域の合計 599785472 バイト
固定サイズ 2098112 バイト
可変サイズ 301993024 バイト
データベースバッファ 289406976 バイト
やり直しバッファ 6287360 バイト
データベースがマウントされました。
データベースが開きました。
SQL> パラメータ aq を表示

名前 タイプ 値
------------------------------------ ---------- --- - -------------------------
aq_tm_processes 整数 0
SQL> !ps -ef|grep q00
オラクル 7446 1 1 15:40 ? 00:00:00 ora_q000_jy1
オラクル 7448 1 0 15:40 ? 00:00:00 ora_q001_jy1
オラクル 7450 1 0 15:40 ? 00:00:00 ora_q002_jy1
オラクル 7452 1 0 15:40 ? 00:00:00 ora_q003_jy1
oracle 7480 27385 0 15:41 pts/1 00:00:00 /bin/bash -c ps -ef|grep q00
oracle 7482 7480 0 15:41 ポイント/1 00:00:00 grep q00

SQL>

ご覧のとおり、実際の動作テストの検証に対する答えは期待どおりです。「はい」です。

注: pfile を作成する手順はすべて削除できます。その際、各ステップの後にこの操作を追加したのは、理論が正しいかどうかを確認したかったからです。

3. 概要

つまり、実際の顧客環境では、要件を満たすために次の 3 つの手順を実行する必要があります。

--ノード 2 の設定が変更されていないことを確認します。 システムセットを変更します aq_tm_processes=1 スコープ=spfile sid='jy2'; --ノード 1 の設定をリセット システム リセットを変更します aq_tm_processes スコープ = spfile sid = 'jy1'; --グローバル設定をリセット システム リセットを変更します aq_tm_processes スコープ = spfile sid = '*';
 この記事の知識ポイントの要約: 実際には、次の 3 つの知識ポイントを理解するだけで済みます。 

リセット操作では、実際にはこの値が spfile から削除されるだけです;

特定のインスタンス レベルの設定は全体の設定よりも優先されます;

Oracle は実際には SET パラメータ値に対してはるかに少ない処理を行うことに注意してください。簡単に理解すると、デフォルトの 0 は設定の 0 とは異なるということになります。

以上がOracle パラメータのセットおよびリセット設定の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はLinux就该这么学で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Linuxの主な目的は何ですか?Linuxの主な目的は何ですか?Apr 16, 2025 am 12:19 AM

Linuxの主な用途には、1。Serverオペレーティングシステム、2。EmbeddedSystem、3。Desktopオペレーティングシステム、4。開発およびテスト環境。 Linuxはこれらの分野で優れており、安定性、セキュリティ、効率的な開発ツールを提供します。

インターネットはLinuxで実行されますか?インターネットはLinuxで実行されますか?Apr 14, 2025 am 12:03 AM

インターネットは単一のオペレーティングシステムに依存していませんが、Linuxはその上で重要な役割を果たしています。 Linuxは、サーバーやネットワークデバイスで広く使用されており、安定性、セキュリティ、スケーラビリティに人気があります。

Linux操作とは何ですか?Linux操作とは何ですか?Apr 13, 2025 am 12:20 AM

Linuxオペレーティングシステムのコアは、コマンドラインインターフェイスで、コマンドラインを介してさまざまな操作を実行できます。 1.ファイルおよびディレクトリ操作は、ファイルとディレクトリを管理するために、LS、CD、MKDIR、RM、その他のコマンドを使用します。 2。ユーザーおよび許可管理は、useradd、passwd、chmod、その他のコマンドを介してシステムのセキュリティとリソースの割り当てを保証します。 3。プロセス管理は、PS、Kill、およびその他のコマンドを使用して、システムプロセスを監視および制御します。 4。ネットワーク操作には、Ping、Ifconfig、SSH、およびネットワーク接続を構成および管理するためのその他のコマンドが含まれます。 5.システムの監視とメンテナンスは、TOP、DF、DUなどのコマンドを使用して、システムの動作ステータスとリソースの使用を理解します。

Linuxエイリアスを使用したカスタムコマンドショートカットで生産性を高めますLinuxエイリアスを使用したカスタムコマンドショートカットで生産性を高めますApr 12, 2025 am 11:43 AM

導入 Linuxは、柔軟性と効率性により、開発者、システム管理者、およびパワーユーザーが好む強力なオペレーティングシステムです。しかし、頻繁に長く複雑なコマンドを使用することは退屈でERです

Linuxは実際に何に適していますか?Linuxは実際に何に適していますか?Apr 12, 2025 am 12:20 AM

Linuxは、サーバー、開発環境、埋め込みシステムに適しています。 1.サーバーオペレーティングシステムとして、Linuxは安定して効率的であり、多くの場合、高電流アプリケーションの展開に使用されます。 2。開発環境として、Linuxは効率的なコマンドラインツールとパッケージ管理システムを提供して、開発効率を向上させます。 3.埋め込まれたシステムでは、Linuxは軽量でカスタマイズ可能で、リソースが限られている環境に適しています。

Linuxで倫理的ハッキングを習得するための必須ツールとフレームワークLinuxで倫理的ハッキングを習得するための必須ツールとフレームワークApr 11, 2025 am 09:11 AM

はじめに:Linuxベースの倫理的ハッキングでデジタルフロンティアを保護します ますます相互に接続されている世界では、サイバーセキュリティが最重要です。 倫理的なハッキングと浸透テストは、脆弱性を積極的に特定し、緩和するために不可欠です

Linuxの基本を学ぶ方法は?Linuxの基本を学ぶ方法は?Apr 10, 2025 am 09:32 AM

基本的なLinux学習の方法は次のとおりです。1。ファイルシステムとコマンドラインインターフェイス、2。LS、CD、MKDIR、3。ファイルの作成と編集などのファイル操作を学習するマスター基本コマンド、4。

Linuxの最も使用は何ですか?Linuxの最も使用は何ですか?Apr 09, 2025 am 12:02 AM

Linuxは、サーバー、組み込みシステム、デスクトップ環境で広く使用されています。 1)サーバーフィールドでは、Linuxは、その安定性とセキュリティにより、Webサイト、データベース、アプリケーションをホストするための理想的な選択肢となっています。 2)埋め込みシステムでは、Linuxは高いカスタマイズと効率で人気があります。 3)デスクトップ環境では、Linuxはさまざまなユーザーのニーズを満たすために、さまざまなデスクトップ環境を提供します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境