Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| informatique:base_de_donnees:tips [2023/11/08 12:57] – ben | informatique:base_de_donnees:tips [2024/05/07 12:32] (Version actuelle) – ben | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ===== Dupliquer database ====== | + | ===== Restore en mode RAC ===== |
| < | < | ||
| + | alter pluggable database OEM2 close immediate instances=all; | ||
| + | |||
| + | run { | ||
| + | set until time " | ||
| + | restore pluggable database OEM2; | ||
| + | recover pluggable database OEM2; | ||
| + | alter pluggable database OEM2 open resetlogs; <= don't apply archivelogs | ||
| + | } | ||
| + | |||
| + | alter pluggable database OEM2 open instances=all; | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Process sessions ===== | ||
| + | |||
| + | < | ||
| + | select 'alter system kill session ''' | ||
| + | from gv$session s | ||
| + | where sql_id=' | ||
| + | and plsql_entry_object_id = 71000 | ||
| + | and sql_exec_start <sysdate - 100/ | ||
| + | ; | ||
| + | |||
| + | </ | ||
| + | |||
| + | ===== Dupliquer database ===== | ||
| + | < | ||
| + | |||
| cd $ORACLE_HOME/ | cd $ORACLE_HOME/ | ||
| . oraenv | . oraenv | ||
| - | echo " | + | echo " |
| export ORACLE_SID=PDBIO_R2 | export ORACLE_SID=PDBIO_R2 | ||
| sqlplus / as sysdba | sqlplus / as sysdba | ||
| Ligne 14: | Ligne 42: | ||
| rman auxiliary / log=/ | rman auxiliary / log=/ | ||
| - | run | + | run |
| - | { | + | { |
| SET UNTIL TIME " | SET UNTIL TIME " | ||
| SET ARCHIVELOG DESTINATION TO '/ | SET ARCHIVELOG DESTINATION TO '/ | ||
| DUPLICATE DATABASE TO PDBIO_R2 BACKUP LOCATION '/ | DUPLICATE DATABASE TO PDBIO_R2 BACKUP LOCATION '/ | ||
| - | switch datafile all; | + | switch datafile all; |
| switch tempfile all; | switch tempfile all; | ||
| } | } | ||
| + | |||
| </ | </ | ||
| Ligne 30: | Ligne 59: | ||
| startup mount exclusive restrict ; | startup mount exclusive restrict ; | ||
| drop database ; | drop database ; | ||
| + | |||
| </ | </ | ||
| - | ===== Listener | + | ===== Listener ===== |
| Forcer prise en compte rapide des services BDD | Forcer prise en compte rapide des services BDD | ||
| Ligne 39: | Ligne 69: | ||
| sqlplus / as sysdba | sqlplus / as sysdba | ||
| alter system register ; | alter system register ; | ||
| + | |||
| </ | </ | ||
| ===== ORA-xxx ===== | ===== ORA-xxx ===== | ||
| - | * ORA-01033 : check password primary <=> standby | + | * ORA-01033 : check password primary <⇒ standby |
| - | * ORA-16136 : checker la FRA | + | * ORA-16136 : checker la FRA |
| * ORA-16136 : ORA-46372: audit file '/ | * ORA-16136 : ORA-46372: audit file '/ | ||
| * Checks sémaphores : sysresv | * Checks sémaphores : sysresv | ||
| Ligne 55: | Ligne 86: | ||
| select database_role from v$database ; | select database_role from v$database ; | ||
| - | SELECT LOG_MODE FROM SYS.V$DATABASE; | + | SELECT LOG_MODE FROM SYS.V$DATABASE; |
| set line 200 | set line 200 | ||
| Ligne 65: | Ligne 96: | ||
| " | " | ||
| from( | from( | ||
| - | select | + | select |
| (select sum(bytes/ | (select sum(bytes/ | ||
| (select sum(bytes/ | (select sum(bytes/ | ||
| Ligne 77: | Ligne 108: | ||
| from v$recovery_file_dest | from v$recovery_file_dest | ||
| order by name ; | order by name ; | ||
| - | </ | + | |
| + | </ | ||
| ===== ORA-12514 ===== | ===== ORA-12514 ===== | ||
| Ligne 90: | Ligne 122: | ||
| service_names | service_names | ||
| PLNAVAMP_1DC2.fr.orpea.net | PLNAVAMP_1DC2.fr.orpea.net | ||
| + | |||
| </ | </ | ||
| Ligne 101: | Ligne 134: | ||
| db_domain | db_domain | ||
| fr.orpea.net | fr.orpea.net | ||
| + | |||
| </ | </ | ||
| Ligne 107: | Ligne 141: | ||
| System altered. | System altered. | ||
| + | |||
| </ | </ | ||
| Ligne 115: | Ligne 150: | ||
| ERROR at line 1: | ERROR at line 1: | ||
| ORA-32010: cannot find entry to delete in SPFILE | ORA-32010: cannot find entry to delete in SPFILE | ||
| + | |||
| </ | </ | ||
| - | + | ===== ASM ===== | |
| - | ===== ASM ====== | + | |
| * Check liste datafiles ; | * Check liste datafiles ; | ||
| Ligne 136: | Ligne 171: | ||
| +ADATA/ | +ADATA/ | ||
| +ADATA/ | +ADATA/ | ||
| + | |||
| + | </ | ||
| + | |||
| + | * Resize | ||
| + | |||
| + | < | ||
| + | set lin 1000 | ||
| + | col header_status form a12 | ||
| + | col mode_status form a12 | ||
| + | col path form a15 | ||
| + | col name form a15 | ||
| + | select | ||
| + | header_status | ||
| + | , | ||
| + | ,os_mb | ||
| + | ,total_mb | ||
| + | ,free_mb | ||
| + | ,name | ||
| + | ,path | ||
| + | from v$asm_disk ; | ||
| + | |||
| + | alter diskgroup reco resize all ; | ||
| + | |||
| </ | </ | ||
| Ligne 147: | Ligne 205: | ||
| select to_char(timestamp,' | select to_char(timestamp,' | ||
| + | |||
| </ | </ | ||
| Ligne 156: | Ligne 215: | ||
| from v$archived_log | from v$archived_log | ||
| where sequence# = (select max(sequence# | where sequence# = (select max(sequence# | ||
| - | </ | ||
| + | </ | ||
| - | * Checker config | + | * Checker config |
| < | < | ||
| Ligne 172: | Ligne 231: | ||
| ' | ' | ||
| / | / | ||
| + | |||
| </ | </ | ||
| Ligne 186: | Ligne 246: | ||
| db_recovery_file_dest | db_recovery_file_dest | ||
| db_recovery_file_dest_size | db_recovery_file_dest_size | ||
| + | |||
| </ | </ | ||
| Ligne 192: | Ligne 253: | ||
| LOG_ARCHIVE_DEST_1 | LOG_ARCHIVE_DEST_1 | ||
| USE_DB_RECOVERY_FILE_DEST | USE_DB_RECOVERY_FILE_DEST | ||
| + | |||
| </ | </ | ||
| * Modif config | * Modif config | ||
| - | | + | |
| < | < | ||
| alter system set fal_server=' | alter system set fal_server=' | ||
| Ligne 203: | Ligne 265: | ||
| alter system set LOG_ARCHIVE_DEST_2=' | alter system set LOG_ARCHIVE_DEST_2=' | ||
| ALTER SYSTEM SET log_archive_dest_3 = ''; | ALTER SYSTEM SET log_archive_dest_3 = ''; | ||
| + | |||
| </ | </ | ||
| Ligne 208: | Ligne 271: | ||
| < | < | ||
| + | -- 2 days (3 * 24 * 60) | ||
| + | |||
| + | alter system set db_flashback_retention_target=2880 scope=both sid=' | ||
| + | |||
| + | -- 3 days (3 * 24 * 60) | ||
| + | |||
| + | alter system set db_flashback_retention_target=4320 scope=both sid=' | ||
| + | |||
| + | declare | ||
| + | |||
| + | v_date varchar2(20); | ||
| + | |||
| + | begin | ||
| + | |||
| + | select to_char(sysdate, | ||
| + | |||
| + | execute immediate ' | ||
| + | |||
| + | end; | ||
| + | |||
| + | / | ||
| + | |||
| + | select * from V$RESTORE_POINT ; | ||
| + | |||
| + | </ | ||
| + | < | ||
| + | |||
| ALTER DATABASE FLASHBACK ON; | ALTER DATABASE FLASHBACK ON; | ||
| create restore point BEFORE_MIG GUARANTEE FLASHBACK DATABASE; | create restore point BEFORE_MIG GUARANTEE FLASHBACK DATABASE; | ||
| + | |||
| </ | </ | ||
| - | | + | < |
| + | select * from v$restore_point; | ||
| + | |||
| + | </ | ||
| < | < | ||
| Ligne 221: | Ligne 315: | ||
| ---------------- --------- ---------- --------- ---- | ---------------- --------- ---------- --------- ---- | ||
| 1099414692 | 1099414692 | ||
| + | |||
| </ | </ | ||
| Ligne 235: | Ligne 330: | ||
| column mixed format a5 heading ' | column mixed format a5 heading ' | ||
| column advice format a5 heading ' | column advice format a5 heading ' | ||
| - | |||
| select local_tran_id, | select local_tran_id, | ||
| Ligne 244: | Ligne 338: | ||
| order | order | ||
| by local_tran_id; | by local_tran_id; | ||
| + | |||
| </ | </ | ||
| Ligne 251: | Ligne 346: | ||
| -- To Force Commit | -- To Force Commit | ||
| SQL> COMMIT FORCE ' | SQL> COMMIT FORCE ' | ||
| + | |||
| </ | </ | ||
| - | -> forced rollback status ; | + | → forced rollback status ; |
| < | < | ||
| Execute DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY (‘LOCAL TRANSACTION ID’); | Execute DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY (‘LOCAL TRANSACTION ID’); | ||
| - | </ | ||
| - | https:// | + | </code> |
| - | https:// | + | |
| - | http:// | + | |
| + | [[https:// | ||
| + | [[https:// | ||
| + | [[http:// | ||
| ===== Check last connections ===== | ===== Check last connections ===== | ||
| - | |||
| < | < | ||
| + | |||
| select to_timestamp(to_char(logon_Time, | select to_timestamp(to_char(logon_Time, | ||
| + | |||
| </ | </ | ||
| Ligne 275: | Ligne 372: | ||
| column column_name format a30 | column column_name format a30 | ||
| set linesize 300 | set linesize 300 | ||
| - | SELECT username, | + | SELECT username, |
| | | ||
| FROM dba_users WHERE ACCOUNT_STATUS like ' | FROM dba_users WHERE ACCOUNT_STATUS like ' | ||
| + | |||
| </ | </ | ||
| < | < | ||
| ALTER USER HEXALIS_DECISION identified by < | ALTER USER HEXALIS_DECISION identified by < | ||
| + | |||
| </ | </ | ||
| < | < | ||
| ALTER USER HEXALIS_DECISION account unlock ; | ALTER USER HEXALIS_DECISION account unlock ; | ||
| + | |||
| </ | </ | ||
| Ligne 330: | Ligne 430: | ||
| SYS@TBBIO1> | SYS@TBBIO1> | ||
| - | </ | ||
| + | </ | ||
| ===== Taille database ===== | ===== Taille database ===== | ||
| Ligne 340: | Ligne 440: | ||
| " | " | ||
| from( | from( | ||
| - | select | + | select |
| (select sum(bytes/ | (select sum(bytes/ | ||
| (select sum(bytes/ | (select sum(bytes/ | ||
| from dual | from dual | ||
| ); | ); | ||
| + | |||
| + | </ | ||
| + | |||
| + | < | ||
| + | select sum (bytes)/ | ||
| + | |||
| </ | </ | ||
| - | select sum (bytes)/ | ||
| - | | ||
| < | < | ||
| WITH | WITH | ||
| Ligne 369: | Ligne 473: | ||
| select sum(ALLOC) "ALLOC (G)", sum(FREE) "FREE (G)", sum(ALLOC) - sum(FREE) "USED (G)" | select sum(ALLOC) "ALLOC (G)", sum(FREE) "FREE (G)", sum(ALLOC) - sum(FREE) "USED (G)" | ||
| from TS_ALLOC a LEFT OUTER JOIN TS_USED u on a.TS=u.TS ; | from TS_ALLOC a LEFT OUTER JOIN TS_USED u on a.TS=u.TS ; | ||
| + | |||
| </ | </ | ||
| Ligne 404: | Ligne 509: | ||
| order by | order by | ||
| sessions_cnt desc; | sessions_cnt desc; | ||
| + | |||
| </ | </ | ||
| Ligne 409: | Ligne 515: | ||
| select sid,serial# from v$session where username = ' | select sid,serial# from v$session where username = ' | ||
| select 'alter system kill session ''' | select 'alter system kill session ''' | ||
| - | </ | ||
| - | * RAC | + | </ |
| + | * RAC | ||
| < | < | ||
| + | |||
| select sid, | select sid, | ||
| select 'alter system kill session ''' | select 'alter system kill session ''' | ||
| + | |||
| </ | </ | ||
| - | |||
| ===== FRA ===== | ===== FRA ===== | ||
| - | |||
| < | < | ||
| + | |||
| SYS@TEBIO1> | SYS@TEBIO1> | ||
| Ligne 435: | Ligne 542: | ||
| 0 | 0 | ||
| remote_recovery_file_dest | remote_recovery_file_dest | ||
| + | |||
| </ | </ | ||
| < | < | ||
| ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=400g SCOPE=BOTH ; | ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=400g SCOPE=BOTH ; | ||
| + | |||
| </ | </ | ||
| Ligne 448: | Ligne 557: | ||
| from v$recovery_file_dest | from v$recovery_file_dest | ||
| order by name ; | order by name ; | ||
| + | |||
| </ | </ | ||
| Ligne 453: | Ligne 563: | ||
| < | < | ||
| - | orapwd file=orapwt21cbio password=Dedalus1 | + | orapwd file=orapwt21cbio password=password |
| asmcmd pwcopy --dbuniquename T21CBIO / | asmcmd pwcopy --dbuniquename T21CBIO / | ||
| + | |||
| </ | </ | ||
| - | | + | < |
| - | + | srvctl modify database –d ORCL –pwfile +DATA/ | |
| - | + | ||
| + | </ | ||
| ===== Tempfile ===== | ===== Tempfile ===== | ||
| Ligne 467: | Ligne 577: | ||
| < | < | ||
| SYS@PDBIO1> | SYS@PDBIO1> | ||
| - | + | ||
| NAME | NAME | ||
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | ||
| Ligne 475: | Ligne 585: | ||
| +DATA/ | +DATA/ | ||
| +DATA/ | +DATA/ | ||
| + | |||
| </ | </ | ||
| Ligne 483: | Ligne 594: | ||
| oda1db0host# | oda1db0host# | ||
| oda1db0host# | oda1db0host# | ||
| + | |||
| </ | </ | ||
| Ligne 490: | Ligne 602: | ||
| oda2db0host# | oda2db0host# | ||
| oda2db0host# | oda2db0host# | ||
| + | |||
| </ | </ | ||
| ===== Recompile invalid objects ===== | ===== Recompile invalid objects ===== | ||
| - | | + | < |
| + | @$ORACLE_HOME/ | ||
| - | ===== PDBs ====== | + | </ |
| + | |||
| + | ===== PDBs ===== | ||
| * show | * show | ||
| + | |||
| < | < | ||
| SQL> show pdbs | SQL> show pdbs | ||
| Ligne 509: | Ligne 626: | ||
| 5 PFRNPC01 | 5 PFRNPC01 | ||
| SQL> | SQL> | ||
| + | |||
| + | </ | ||
| + | |||
| + | < | ||
| + | alter pluggable database PHQR_OAS1 close instances=all; | ||
| + | alter pluggable database PHQR_OEM1 close instances=all; | ||
| + | alter pluggable database PHQR_OEM1 close immediate instances=all; | ||
| + | alter pluggable database all save state instances=all; | ||
| + | SELECT * FROM cdb_pdb_saved_states; | ||
| + | |||
| </ | </ | ||
| Ligne 517: | Ligne 644: | ||
| Warning: PDB altered with errors. | Warning: PDB altered with errors. | ||
| + | |||
| + | </ | ||
| + | |||
| + | * clean violations | ||
| + | |||
| + | < | ||
| + | exec DBMS_PDB.CLEAR_PLUGIN_VIOLATIONS( pdb_name => ' | ||
| + | |||
| </ | </ | ||
| Ligne 523: | Ligne 658: | ||
| < | < | ||
| ALTER SESSION SET CONTAINER=PFRNPC01; | ALTER SESSION SET CONTAINER=PFRNPC01; | ||
| + | |||
| </ | </ | ||
| * Restricted | * Restricted | ||
| - | Check si datapatch OK | + | Check si datapatch OK |
| < | < | ||
| Ligne 552: | Ligne 688: | ||
| SQL> alter pluggable database PHQR_OAS1 open force ; | SQL> alter pluggable database PHQR_OAS1 open force ; | ||
| + | |||
| </ | </ | ||
| Ligne 560: | Ligne 697: | ||
| SQL> alter system disable restricted session; | SQL> alter system disable restricted session; | ||
| + | |||
| </ | </ | ||
| + | |||
| ===== Dataguard ===== | ===== Dataguard ===== | ||
| + | * start Redo Apply | ||
| + | |||
| + | < | ||
| + | ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; | ||
| + | |||
| + | </ | ||
| * Switch manuel | * Switch manuel | ||
| Ligne 594: | Ligne 739: | ||
| # Modify CLUSTER Configuration | # Modify CLUSTER Configuration | ||
| - | srvctl modify database -d FRTLMP_1DC1 -r PRIMARY -s OPEN | + | srvctl modify database -d FRTLMP_1DC1 -r PRIMARY -s OPEN |
| </ | </ | ||
| Ligne 615: | Ligne 761: | ||
| ADD DATABASE frintegp_1dc2 AS CONNECT IDENTIFIER IS frintegp_1dc2; | ADD DATABASE frintegp_1dc2 AS CONNECT IDENTIFIER IS frintegp_1dc2; | ||
| ENABLE CONFIGURATION; | ENABLE CONFIGURATION; | ||
| + | |||
| </ | </ | ||
| * Logs du broker : drc* file | * Logs du broker : drc* file | ||
| - | |||
| * Check de la conf du broker | * Check de la conf du broker | ||
| Ligne 647: | Ligne 793: | ||
| use_dedicated_broker | use_dedicated_broker | ||
| FALSE | FALSE | ||
| + | |||
| </ | </ | ||
| Ligne 654: | Ligne 801: | ||
| SQL> alter system set dg_broker_start=FALSE scope=BOTH SID=' | SQL> alter system set dg_broker_start=FALSE scope=BOTH SID=' | ||
| SQL> alter system set dg_broker_start=TRUE scope=BOTH SID=' | SQL> alter system set dg_broker_start=TRUE scope=BOTH SID=' | ||
| + | |||
| </ | </ | ||
| Ligne 664: | Ligne 812: | ||
| show database < | show database < | ||
| show database verbose < | show database verbose < | ||
| + | |||
| </ | </ | ||
| Ligne 673: | Ligne 822: | ||
| ADD DATABASE db11g_stby AS CONNECT IDENTIFIER IS db11g_stby; | ADD DATABASE db11g_stby AS CONNECT IDENTIFIER IS db11g_stby; | ||
| ENABLE CONFIGURATION; | ENABLE CONFIGURATION; | ||
| + | |||
| </ | </ | ||
| Ligne 680: | Ligne 830: | ||
| col NAME format a10 | col NAME format a10 | ||
| select NAME, | select NAME, | ||
| - | where name like ' | + | where name like ' |
| </ | </ | ||
| < | < | ||
| select name, value, time_computed, | select name, value, time_computed, | ||
| + | |||
| </ | </ | ||
| Ligne 695: | Ligne 847: | ||
| from v$archive_dest_status | from v$archive_dest_status | ||
| where type=' | where type=' | ||
| - | and gap_status !='NO GAP'; | + | and gap_status !='NO GAP'; |
| - | + | ||
| | | ||
| from v$dataguard_status | from v$dataguard_status | ||
| where severity in (' | where severity in (' | ||
| - | and timestamp > (sysdate -1); | + | and timestamp> |
| - | + | ||
| | | ||
| from gv$archive_dest_status | from gv$archive_dest_status | ||
| Ligne 707: | Ligne 859: | ||
| and status!=' | and status!=' | ||
| or error is not null; | or error is not null; | ||
| - | + | ||
| - | + | ||
| | | ||
| - | + | ||
| - | + | ||
| col name format a45 | col name format a45 | ||
| | | ||
| from v$dataguard_stats | from v$dataguard_stats | ||
| where name=' | where name=' | ||
| - | and value > '+00 00: | + | and value> '+00 00: |
| - | + | ||
| col name format a45 | col name format a45 | ||
| | | ||
| from v$dataguard_stats | from v$dataguard_stats | ||
| where name=' | where name=' | ||
| - | and value > '+00 00: | + | and value> '+00 00: |
| | | ||
| from gv$recovery_progress group by inst_id; | from gv$recovery_progress group by inst_id; | ||
| - | + | ||
| set line 500 pages 9999 | set line 500 pages 9999 | ||
| col severity form a40 | col severity form a40 | ||
| Ligne 732: | Ligne 882: | ||
| select SEVERITY, | select SEVERITY, | ||
| select | select | ||
| - | + | ||
| </ | </ | ||
| * Check réception archives logs | * Check réception archives logs | ||
| - | | + | |
| < | < | ||
| select to_char(timestamp,' | select to_char(timestamp,' | ||
| where SEVERITY <>' | where SEVERITY <>' | ||
| + | |||
| </ | </ | ||
| Ligne 747: | Ligne 898: | ||
| from v$archived_log | from v$archived_log | ||
| where sequence# = (select max(sequence# | where sequence# = (select max(sequence# | ||
| + | |||
| + | </ | ||
| + | |||
| + | [[https:// | ||
| + | [[http:// | ||
| + | |||
| + | * Créer standby + config dataguard | ||
| + | |||
| + | {{: | ||
| + | < | ||
| + | |||
| + | ****** SOURCE | ||
| + | |||
| + | # Activer FORCE LOGGING | ||
| + | alter database force logging; | ||
| + | |||
| + | # CREER les STANDBY Logs | ||
| + | alter database add standby logfile thread 1 group 11 (' | ||
| + | alter database add standby logfile thread 1 group 12 (' | ||
| + | alter database add standby logfile thread 1 group 13 (' | ||
| + | alter database add standby logfile thread 2 group 14 (' | ||
| + | alter database add standby logfile thread 2 group 15 (' | ||
| + | alter database add standby logfile thread 2 group 16 (' | ||
| + | |||
| + | # STANDBY Management AUTO | ||
| + | alter system set standby_file_management = ' | ||
| + | |||
| + | # Récupérer le Fichier PASSWORD | ||
| + | asmcmd | ||
| + | cp +DATA/ | ||
| + | |||
| + | # Récupérer le SPFILE et le Modifier | ||
| + | sqlplus / as sysdba | ||
| + | create pfile='/ | ||
| + | |||
| + | Copier les fichiers vers la cible et le modifier. | ||
| + | |||
| + | dbs | ||
| + | cp initPEPAT1.ora $ORACLE_HOME/ | ||
| + | cp orapwPEPAT1 $ORACLE_HOME/ | ||
| + | |||
| + | virer unedrscore | ||
| + | *.cluster_database=false | ||
| + | virer controlfile, | ||
| + | |||
| + | ***** CIBLE | ||
| + | |||
| + | # Add Connexion in tnsnames.ora sur $OH Database et $OH Grid. DUP => pour ne pas passer par le scan | ||
| + | |||
| + | CDB_RAST_DUP = | ||
| + | (DESCRIPTION = | ||
| + | (ADDRESS = (PROTOCOL = TCP)(HOST = ex1dc2db2cw2cl.nibclt.prod)(PORT = 1521)) | ||
| + | (CONNECT_DATA = | ||
| + | (SERVER = DEDICATED) | ||
| + | (SERVICE_NAME = CDB_RAST) | ||
| + | (UR = A) | ||
| + | ) | ||
| + | ) | ||
| + | |||
| + | # Add Connexion in listener.ora | ||
| + | SID_LIST_LISTENER = | ||
| + | (SID_LIST = (SID_DESC = | ||
| + | (GLOBAL_DBNAME = CDB_RA) | ||
| + | (ORACLE_HOME = / | ||
| + | (SID_NAME = CDB_RA))) | ||
| + | |||
| + | # Create DUMP file on both servers | ||
| + | mkdir -p / | ||
| + | |||
| + | # Start Database NOMOUT with pfile | ||
| + | startup nomount pfile=' | ||
| + | |||
| + | # Create the STANDBY via RMAN Duplicate | ||
| + | rman | ||
| + | connect target sys/ | ||
| + | connect auxiliary sys/ | ||
| + | RUN | ||
| + | { | ||
| + | ALLOCATE CHANNEL disk1 DEVICE TYPE DISK ; | ||
| + | ALLOCATE CHANNEL disk2 DEVICE TYPE DISK ; | ||
| + | ALLOCATE CHANNEL disk3 DEVICE TYPE DISK ; | ||
| + | ALLOCATE CHANNEL disk4 DEVICE TYPE DISK ; | ||
| + | ALLOCATE CHANNEL disk5 DEVICE TYPE DISK ; | ||
| + | ALLOCATE CHANNEL disk6 DEVICE TYPE DISK ; | ||
| + | ALLOCATE CHANNEL disk7 DEVICE TYPE DISK ; | ||
| + | ALLOCATE CHANNEL disk8 DEVICE TYPE DISK ; | ||
| + | ALLOCATE auxiliary CHANNEL disk9 device type disk; | ||
| + | ALLOCATE auxiliary CHANNEL disk10 device type disk; | ||
| + | ALLOCATE auxiliary CHANNEL disk11 device type disk; | ||
| + | ALLOCATE auxiliary CHANNEL disk12 device type disk; | ||
| + | ALLOCATE auxiliary CHANNEL disk13 device type disk; | ||
| + | ALLOCATE auxiliary CHANNEL disk14 device type disk; | ||
| + | ALLOCATE auxiliary CHANNEL disk15 device type disk; | ||
| + | ALLOCATE auxiliary CHANNEL disk16 device type disk; | ||
| + | duplicate target database for standby from active database; | ||
| + | } | ||
| + | |||
| + | # Changer les parametres dans $ORACLE_HOME/ | ||
| + | *.cluster_database=true | ||
| + | *.control_files=' | ||
| + | |||
| + | output file name=+DATA/ | ||
| + | output file name=+RECO/ | ||
| + | |||
| + | # Remove spfile | ||
| + | remove spfilePEPAT1.ora | ||
| + | |||
| + | # Shutdown the STANDBY and RESTART In Mount. | ||
| + | shutdown immediate; | ||
| + | startup mount | ||
| + | |||
| + | # Create spfile in ASM | ||
| + | create spfile=' | ||
| + | shutdown immediate; | ||
| + | |||
| + | # Modifier init.ora | ||
| + | SPFILE=' | ||
| + | |||
| + | # Cluster Creation | ||
| + | srvctl add database -d P72EPAT -o $ORACLE_HOME -c RAC -r PHYSICAL_STANDBY -s MOUNT -n P72EPAT -a " | ||
| + | srvctl add instance -d P72EPAT -i PEPAT1 -n oda2db0host | ||
| + | srvctl add instance -d P72EPAT -i PEPAT2 -n oda2db1host | ||
| + | srvctl modify database -d P72EPAT -p ' | ||
| + | |||
| + | srvctl start database -d P72EPAT | ||
| + | |||
| + | # Transférer le fichier de mot de passe sur le diskgroup ASM avec le user grid | ||
| + | asmcmd -p | ||
| + | pwcopy --dbuniquename P72EPAT ''/ | ||
| + | |||
| + | # Supprimer le Password FIle | ||
| + | rm $ORACLE_HOME/ | ||
| + | |||
| + | # Modify RMAN Configuration to remove ARCHIVE LOG on PRIMARY | ||
| + | rman target / | ||
| + | CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY BACKED UP 1 TIMES TO DISK; | ||
| + | |||
| + | # Modify RMAN Configuration to remove ARCHIVE LOG on STANDBY | ||
| + | rman target / | ||
| + | CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY; | ||
| + | CONFIGURE SNAPSHOT CONTROLFILE NAME TO ' | ||
| + | |||
| + | ***** BROKER | ||
| + | |||
| + | # Vérifier les TNS sur les 2 Noeuds | ||
| + | P21EPAT = | ||
| + | (DESCRIPTION = | ||
| + | (ADDRESS = (PROTOCOL = TCP)(HOST = oda1scan)(PORT = 1521)) | ||
| + | (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = P21EPAT))) | ||
| + | |||
| + | P72EPAT = | ||
| + | (DESCRIPTION = | ||
| + | (ADDRESS = (PROTOCOL = TCP)(HOST = oda2scan)(PORT = 1521)) | ||
| + | (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = P72EPAT))) | ||
| + | |||
| + | # Activer le BROKER sur les 2 Noeuds | ||
| + | alter system set dg_broker_config_file1=' | ||
| + | alter system set dg_broker_config_file2=' | ||
| + | alter system set dg_broker_start=TRUE scope=both; | ||
| + | |||
| + | alter system set dg_broker_config_file1=' | ||
| + | alter system set dg_broker_config_file2=' | ||
| + | alter system set dg_broker_start=TRUE scope=both; | ||
| + | |||
| + | # Configuration | ||
| + | dgmgrl / | ||
| + | create configuration DG_TESTRA as primary database is CDB_RA connect identifier is " | ||
| + | add database CDB_RAST as connect identifier is " | ||
| + | enable configuration; | ||
| + | |||
| + | # Check Dataguard | ||
| + | On PRIMARY | ||
| + | set linesize 1000 | ||
| + | select * from V$DATAGUARD_STATUS ; | ||
| + | select thread#, | ||
| + | |||
| + | On STANDBY | ||
| + | select thread#, | ||
| + | |||
| </ | </ | ||
| - | https:// | ||
| - | http:// | ||
| ===== Voir ce qu'il se passe ===== | ===== Voir ce qu'il se passe ===== | ||
| < | < | ||
| - | set head off pages 0 lines 120 | + | set head off pages 0 lines 120 |
| - | select | + | select |
| - | s.program, | + | s.program, |
| - | buffer_gets, | + | buffer_gets, |
| - | , | + | , |
| from v$process p, v$session s, v$sqlarea a | from v$process p, v$session s, v$sqlarea a | ||
| where a.address=s.sql_address | where a.address=s.sql_address | ||
| and p.addr=s.paddr | and p.addr=s.paddr | ||
| - | and users_executing > 0 | + | and users_executing> |
| - | and s.status=' | + | and s.status=' |
| - | / | + | / |
| </ | </ | ||
| ===== Mettre le résultat d'une requête sql dans une variable ===== | ===== Mettre le résultat d'une requête sql dans une variable ===== | ||
| < | < | ||
| + | |||
| vMaxSeqApply=`sqlplus -s "/ as sysdba" | vMaxSeqApply=`sqlplus -s "/ as sysdba" | ||
| set head off | set head off | ||
| Ligne 777: | Ligne 1107: | ||
| EOF | EOF | ||
| ` | ` | ||
| + | |||
| </ | </ | ||
| + | |||
| + | |||