Maison base de données tutoriel mysql oracle 11g switchover

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.
Copier après la connexion

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
Copier après la connexion

然后启动启动到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
Copier après la connexion

查看已经是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
Copier après la connexion

这个时候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
Copier après la connexion

然后将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
Copier après la connexion

完成后,状态已经变成的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
Copier après la connexion

把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
Copier après la connexion

查看状态已经变成了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
Copier après la connexion

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

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

SQL> create table test.t11 (id number)tablespace test;
Table created.
Copier après la connexion

到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.
Copier après la connexion

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

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

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

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier la taille de l'espace de table d'Oracle Comment vérifier la taille de l'espace de table d'Oracle Apr 11, 2025 pm 08:15 PM

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

Comment importer une base de données Oracle Comment importer une base de données Oracle Apr 11, 2025 pm 08:06 PM

Méthode d'importation de données: 1. Utilisez l'utilitaire SqlLoader: Préparez les fichiers de données, créez des fichiers de contrôle et exécutez SqlLoader; 2. Utilisez l'outil IMP / EXP: les données d'exportation, les données d'importation. Astuce: 1. Chargeur SQL * recommandé pour les ensembles de Big Data; 2. La table cible doit exister et la définition de la colonne correspond; 3. Après l'importation, l'intégrité des données doit être vérifiée.

Comment désinstaller l'installation d'Oracle a échoué Comment désinstaller l'installation d'Oracle a échoué Apr 11, 2025 pm 08:24 PM

Désinstaller la méthode pour la défaillance de l'installation d'Oracle: Fermez le service Oracle, supprimez les fichiers du programme Oracle et les clés de registre, désinstallez les variables d'environnement Oracle et redémarrez l'ordinateur. Si la désinstallation échoue, vous pouvez désinstaller manuellement à l'aide de l'outil Oracle Universal Disinstal.

Comment remettre à nouveau Oracle Comment remettre à nouveau Oracle Apr 11, 2025 pm 07:33 PM

Oracle fournit plusieurs méthodes de requête de déduplication: le mot-clé distinct renvoie une valeur unique pour chaque colonne. Le groupe par clause regroupe les résultats et renvoie une valeur non réactive pour chaque groupe. Le mot-clé unique est utilisé pour créer un index ne contenant que des lignes uniques, et l'interrogation de l'index sera automatiquement déducteur. La fonction ROW_NUMBER () attribue des nombres uniques et filtre les résultats qui contiennent uniquement la ligne 1. La fonction min () ou max () renvoie les valeurs non réactives d'une colonne numérique. L'opérateur intersecte renvoie les valeurs communes des deux ensembles de résultats (pas de doublons).

Comment créer une table dans Oracle Comment créer une table dans Oracle Apr 11, 2025 pm 08:00 PM

La création d'une table Oracle implique les étapes suivantes: Utilisez la syntaxe de la table Create pour spécifier les noms de table, les noms de colonne, les types de données, les contraintes et les valeurs par défaut. Le nom du tableau doit être concis et descriptif et ne doit pas dépasser 30 caractères. Le nom de la colonne doit être descriptif et le type de données spécifie le type de données stocké dans la colonne. La contrainte non nulle garantit que les valeurs nulles ne sont pas autorisées dans la colonne, et la clause par défaut spécifie les valeurs par défaut pour la colonne. Contraintes de clé primaire pour identifier l'enregistrement unique du tableau. La contrainte de clé étrangère spécifie que la colonne du tableau fait référence à la clé primaire dans un autre tableau. Voir la création des élèves de la table de l'échantillon, qui contient des clés primaires, des contraintes uniques et des valeurs par défaut.

Comment afficher le nom d'instance d'Oracle Comment afficher le nom d'instance d'Oracle Apr 11, 2025 pm 08:18 PM

Il existe trois façons d'afficher les noms d'instance dans Oracle: utilisez le "SQLPlus" et "SELECT INSTRESS_NAME FROM V $ INSTERNE;" Commandes sur la ligne de commande. Utilisez "Show instance_name;" Commande dans SQL * Plus. Vérifiez les variables d'environnement (Oracle_sid sur Linux) via le gestionnaire de tâches du système d'exploitation, Oracle Enterprise Manager ou via le système d'exploitation.

Comment crypter Oracle View Comment crypter Oracle View Apr 11, 2025 pm 08:30 PM

Oracle View Encryption vous permet de crypter les données dans la vue, améliorant ainsi la sécurité des informations sensibles. Les étapes incluent: 1) la création de la clé de cryptage maître (MEK); 2) Création d'une vue cryptée, spécifiant la vue et MEK à crypter; 3) Autoriser les utilisateurs à accéder à la vue cryptée. Comment fonctionnent les vues cryptées: lorsqu'un utilisateur interroge pour une vue cryptée, Oracle utilise MEK pour décrypter les données, garantissant que seuls les utilisateurs autorisés peuvent accéder aux données lisibles.

Comment ajouter des champs de table à Oracle Comment ajouter des champs de table à Oracle Apr 11, 2025 pm 07:30 PM

Utilisez l'instruction ALTER TABLE, la syntaxe spécifique est la suivante: alter table table_name Ajouter Column_name data_type [contrainte-clause]. Où: TABLE_NAME est le nom de la table, Column_name est le nom de champ, DATA_TYPE est le type de données et la clause de contrainte est une contrainte facultative. Exemple: Alter Table Employés Ajouter un e-mail Varchar2 (100) Ajouter un champ de messagerie à la table des employés.

See all articles