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

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

Mar 20, 2024 pm 07:10 PM
linux Linuxチュートリアル レッドハット 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 サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

CentosとUbuntuの違い CentosとUbuntuの違い Apr 14, 2025 pm 09:09 PM

Centosとubuntuの重要な違いは次のとおりです。起源(CentosはRed Hat、for Enterprises、UbuntuはDebianに由来します。個人用のDebianに由来します)、パッケージ管理(CentosはYumを使用し、安定性に焦点を当てます。チュートリアルとドキュメント)、使用(Centosはサーバーに偏っています。Ubuntuはサーバーやデスクトップに適しています)、その他の違いにはインストールのシンプルさが含まれます(Centos is Thin)

Dockerの原則の詳細な説明 Dockerの原則の詳細な説明 Apr 14, 2025 pm 11:57 PM

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

Centosはメンテナンスを停止します2024 Centosはメンテナンスを停止します2024 Apr 14, 2025 pm 08:39 PM

Centosは、上流の分布であるRhel 8が閉鎖されたため、2024年に閉鎖されます。このシャットダウンはCentos 8システムに影響を与え、更新を継続し続けることができません。ユーザーは移行を計画する必要があり、提案されたオプションには、Centos Stream、Almalinux、およびRocky Linuxが含まれ、システムを安全で安定させます。

Dockerデスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

Centosをインストールする方法 Centosをインストールする方法 Apr 14, 2025 pm 09:03 PM

Centosのインストール手順:ISO画像をダウンロードし、起動可能なメディアを燃やします。起動してインストールソースを選択します。言語とキーボードのレイアウトを選択します。ネットワークを構成します。ハードディスクをパーティション化します。システムクロックを設定します。ルートユーザーを作成します。ソフトウェアパッケージを選択します。インストールを開始します。インストールが完了した後、ハードディスクから再起動して起動します。

Centosのgitlabのバックアップ方法は何ですか Centosのgitlabのバックアップ方法は何ですか Apr 14, 2025 pm 05:33 PM

Centosシステムの下でのGitlabのバックアップと回復ポリシーデータセキュリティと回復可能性を確保するために、Gitlab on Centosはさまざまなバックアップ方法を提供します。この記事では、いくつかの一般的なバックアップ方法、構成パラメーター、リカバリプロセスを詳細に紹介し、完全なGitLabバックアップと回復戦略を確立するのに役立ちます。 1.手動バックアップGitlab-RakeGitlabを使用:バックアップ:コマンドを作成して、マニュアルバックアップを実行します。このコマンドは、gitlabリポジトリ、データベース、ユーザー、ユーザーグループ、キー、アクセスなどのキー情報をバックアップします。デフォルトのバックアップファイルは、/var/opt/gitlab/backupsディレクトリに保存されます。 /etc /gitlabを変更できます

セントスにハードディスクをマウントする方法 セントスにハードディスクをマウントする方法 Apr 14, 2025 pm 08:15 PM

CentOSハードディスクマウントは、次の手順に分割されます。ハードディスクデバイス名(/dev/sdx)を決定します。マウントポイントを作成します( /mnt /newdiskを使用することをお勧めします);マウントコマンド(Mount /dev /sdx1 /mnt /newdisk)を実行します。 /etc /fstabファイルを編集して、永続的なマウント構成を追加します。 Umountコマンドを使用して、デバイスをアンインストールして、プロセスがデバイスを使用しないことを確認します。

Centosがメンテナンスを停止した後の対処方法 Centosがメンテナンスを停止した後の対処方法 Apr 14, 2025 pm 08:48 PM

CentOSが停止した後、ユーザーは次の手段を採用して対処できます。Almalinux、Rocky Linux、Centosストリームなどの互換性のある分布を選択します。商業分布に移行する:Red Hat Enterprise Linux、Oracle Linuxなど。 Centos 9ストリームへのアップグレード:ローリングディストリビューション、最新のテクノロジーを提供します。 Ubuntu、Debianなど、他のLinuxディストリビューションを選択します。コンテナ、仮想マシン、クラウドプラットフォームなどの他のオプションを評価します。

See all articles