oracle 11g switchover

Jun 07, 2016 pm 04:36 PM
d oracle

oracle dataguard搭建请看如下链接 http://www.itopers.com/?p=679 switchover主要是在数据库升级,硬件升级等进行。如下将如何进行switchover: 在prmary将数据库设置为standby SQL alter database commit to switchover to physical standby;Database alte

oracle dataguard搭建请看如下链接

http://www.itopers.com/?p=679

switchover主要是在数据库升级,硬件升级等进行。如下将如何进行switchover:

在prmary将数据库设置为standby

SQL> alter database commit to switchover to physical standby;
Database altered.
ログイン後にコピー

11g时,执行这个命令后,数据库已经关闭了,不需要手动进行关闭了

SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
select db_unique_name,database_role,open_mode,switchover_status from v$database
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 2650
Session ID: 458 Serial number: 211
ログイン後にコピー

然后启动启动到mount状态查看:

SQL> startup mount
ORACLE instance started.
Total System Global Area 1.3462E+10 bytes
Fixed Size                  2265984 bytes
Variable Size            3321891968 bytes
Database Buffers         1.0133E+10 bytes
Redo Buffers                4460544 bytes
Database mounted.
SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
SWITCHOVER_STATUS
--------------------
actvdb01                       PHYSICAL STANDBY MOUNTED
RECOVERY NEEDED
ログイン後にコピー

查看已经是PHYSICAL STANDBY状态了。

打开数据库,这个时候应该是read only状态:

SQL> alter database open;
Database altered.
SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
SWITCHOVER_STATUS
--------------------
actvdb01                       PHYSICAL STANDBY READ ONLY
RECOVERY NEEDED
ログイン後にコピー

这个时候primary已经变成了standby了。

然后连接到之前的standby服务器上:

先查看状态,确定日志应用是否完整

SQL> select db_unique_name,database_role,open_mode from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
actvdb02                       PHYSICAL STANDBY READ ONLY WITH APPLY
SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     348
Next log sequence to archive   0
Current log sequence           353
SQL> alter database recover managed standby database cancel;
Database altered.
SQL> select db_unique_name,database_role,open_mode from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
actvdb02                       PHYSICAL STANDBY READ ONLY
ログイン後にコピー

然后将standby切换成primary

SQL>  alter database commit to switchover to primary;
Database altered.
SQL> select db_unique_name,database_role,open_mode from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
actvdb02                       PRIMARY          MOUNTED
ログイン後にコピー

完成后,状态已经变成的primary了,注意,在执行切换过程中,不能有任何session连接,如果有会有如下报错:

SQL> alter database commit to switchover to primary;
alter database commit to switchover to primary
*
ERROR at line 1:
ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected
ログイン後にコピー

把session关闭掉,重新执行即可。

然后打开数据库,在新primary中(也就是老的standby)

SQL> alter database open;
Database altered.
SQL> select db_unique_name,database_role,open_mode from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
actvdb02                       PRIMARY          READ WRITE
SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
SWITCHOVER_STATUS
--------------------
actvdb02                       PRIMARY          READ WRITE
TO STANDBY
ログイン後にコピー

查看状态已经变成了primary,且为read write了。表示已经成功从standby转成primary了

然后再登录到standby中(之前的primary中)启用mrp进程

SQL> alter database recover managed standby database using current logfile disconnect from session;
Database altered.
SQL> select db_unique_name,database_role,open_mode,switchover_status from v$database;
DB_UNIQUE_NAME                 DATABASE_ROLE    OPEN_MODE
------------------------------ ---------------- --------------------
SWITCHOVER_STATUS
--------------------
actvdb01                       PHYSICAL STANDBY READ ONLY WITH APPLY
NOT ALLOWED
ログイン後にコピー

再查看进程已经是应用日志状态了。

到新的primary中将创建表测试是否能正常应用日志:

SQL> create table test.t11 (id number)tablespace test;
Table created.
ログイン後にコピー

到standby中查看已经能正常传输、应用日志了:

SQL> select owner,table_name from dba_tables where owner='TEST';
OWNER                          TABLE_NAME
------------------------------ ------------------------------
TEST                           T2
TEST                           TEST_TABLE
TEST                           TEST01
TEST                           TEST02
TEST                           TEST03
TEST                           T4
TEST                           T5
TEST                           T7
TEST                           T6
TEST                           T8
TEST                           T11
OWNER                          TABLE_NAME
------------------------------ ------------------------------
TEST                           T9
12 rows selected.
ログイン後にコピー

只要前面 的配置没有问题,switchover是很简单的,特别注意以下几点:

*.local_listener 这个配置是的自己的tnsname名字

*.fal_client=’actvdb’??? 这个配置的是自己的tnsname,不管是primary,还是standby
*.fal_server=’actvdbbak’?? 这个配置的是对方的tnsname,不管是primary,还是standby

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Oracle データベースのログはどのくらいの期間保存されますか? Oracle データベースのログはどのくらいの期間保存されますか? May 10, 2024 am 03:27 AM

Oracle データベース ログの保存期間は、次のようなログのタイプと構成によって異なります。 REDO ログ: 「LOG_ARCHIVE_DEST」パラメータで構成された最大サイズによって決定されます。アーカイブ REDO ログ: 「DB_RECOVERY_FILE_DEST_SIZE」パラメータで構成された最大サイズによって決まります。オンライン REDO ログ: アーカイブされず、データベースの再起動時に失われます。保持期間はインスタンスの実行時間と一致します。監査ログ: 「AUDIT_TRAIL」パラメータによって構成され、デフォルトで 30 日間保持されます。

Oracleで2つの日付の間の日数を計算する関数 Oracleで2つの日付の間の日数を計算する関数 May 08, 2024 pm 07:45 PM

2 つの日付の間の日数を計算する Oracle の関数は DATEDIFF() です。具体的な使用法は次のとおりです。 時間間隔の単位を指定します: 間隔 (日、月、年など) 2 つの日付値を指定します: date1 と date2DATEDIFF(interval, date1, date2) 日数の差を返します。

Oracle データベースの起動手順の順序は次のとおりです。 Oracle データベースの起動手順の順序は次のとおりです。 May 10, 2024 am 01:48 AM

Oracle データベースの起動シーケンスは次のとおりです。 1. 前提条件を確認します。 3. データベース インスタンスを起動します。 5. データベースに接続します。サービスを有効にします (必要な場合)。 8. 接続をテストします。

オラクルで間隔を使用する方法 オラクルで間隔を使用する方法 May 08, 2024 pm 07:54 PM

Oracle の INTERVAL データ型は、時間間隔を表すために使用されます。構文は INTERVAL <precision> <unit> です。INTERVAL の演算には、加算、減算、乗算、除算を使用できます。これは、時間データの保存などのシナリオに適しています。日付の差を計算します。

Oracle で特定の文字の出現数を確認する方法 Oracle で特定の文字の出現数を確認する方法 May 09, 2024 pm 09:33 PM

Oracle で文字の出現数を確認するには、次の手順を実行します。 文字列の全長を取得します。 文字が出現する部分文字列の長さを取得します。 部分文字列の長さを減算して、文字の出現数をカウントします。全長から。

Oracle データベース サーバーのハードウェア構成要件 Oracle データベース サーバーのハードウェア構成要件 May 10, 2024 am 04:00 AM

Oracle データベース サーバーのハードウェア構成要件: プロセッサ: マルチコア、少なくとも 2.5 GHz のメイン周波数 大規模なデータベースの場合は、32 コア以上が推奨されます。メモリ: 小規模データベースの場合は少なくとも 8 GB、中規模のデータベースの場合は 16 ~ 64 GB、大規模なデータベースまたは重いワークロードの場合は最大 512 GB 以上。ストレージ: SSD または NVMe ディスク、冗長性とパフォーマンスのための RAID アレイ。ネットワーク: 高速ネットワーク (10GbE 以上)、専用ネットワーク カード、低遅延ネットワーク。その他: 安定した電源、冗長コンポーネント、互換性のあるオペレーティング システムとソフトウェア、放熱と冷却システム。

Oracle にはどれくらいのメモリが必要ですか? Oracle にはどれくらいのメモリが必要ですか? May 10, 2024 am 04:12 AM

Oracle が必要とするメモリーの量は、データベースのサイズ、アクティビティー・レベル、および必要なパフォーマンス・レベル (データ・バッファー、索引バッファーの保管、SQL ステートメントの実行、およびデータ・ディクショナリー・キャッシュの管理) によって異なります。正確な量は、データベースのサイズ、アクティビティ レベル、および必要なパフォーマンス レベルによって影響されます。ベスト プラクティスには、適切な SGA サイズの設定、SGA コンポーネントのサイズ設定、AMM の使用、メモリ使用量の監視などが含まれます。

Oracleで文字列を置換する方法 Oracleで文字列を置換する方法 May 08, 2024 pm 07:24 PM

Oracle で文字列を置換する方法は、REPLACE 関数を使用することです。この関数の構文は、REPLACE(string, search_string, replace_string) です。使用手順: 1. 置換する部分文字列を特定します。 2. 部分文字列を置換する新しい文字列を決定します。 3. REPLACE 関数を使用して置換します。高度な使用法には、複数の置換、大文字と小文字の区別、特殊文字の置換などが含まれます。

See all articles