Πολυπλεξία αρχείων ελέγχου με χρήση RMAN, SPFILE & PFILE στο Oracle

1
Πολυπλεξία αρχείων ελέγχου με χρήση RMAN, SPFILE & PFILE στο Oracle


Πολυπλεξία αρχείων ελέγχου με χρήση RMAN, SPFILE & PFILE στο Oracle

Εδώ θα δείξουμε πολυπλεξία Αρχείων Ελέγχου στο Oracle χρησιμοποιώντας τις διαθέσιμες επιλογές SPFILE, PFILE & RMAN. Πριν προχωρήσουμε πρώτα θα έχουμε μια βασική κατανόηση Αρχεία ελέγχου στην Oracle.


Αρχείο ελέγχου
είναι ένα φυσικό αρχείο σε επίπεδο λειτουργικού συστήματος και πολύ ελαφρύ δυαδικό αρχείο για τη βάση δεδομένων, τουλάχιστον ένα αρχείο ελέγχου απαιτούν το οποίο περιέχει όλες τις εγγραφές φυσικής δομής της βάσης δεδομένων. Ακολουθούν σημαντικές πληροφορίες που καταγράφονται στο αρχείο ελέγχου που χρησιμοποιείται για την εκκίνηση/άνοιγμα της βάσης δεδομένων Oracle.

  • Χρονική σήμανση δημιουργίας βάσης δεδομένων
  • Ονομα βάσης δεδομένων
  • Όνομα και τοποθεσία όλων των αρχείων δεδομένων, επαναλάβετε τα αρχεία καταγραφής που σχετίζονται με τη βάση δεδομένων.
  • Αριθμός ακολουθίας καταγραφής (SCN)
  • Πληροφορίες για το σημείο ελέγχου

Όπως γνωρίζουμε πολύ καλά τουλάχιστον ένα αρχείο ελέγχου απαιτεί τη δημιουργία βάσης δεδομένων. Τι γίνεται όμως εάν έχουμε μόνο ένα αρχείο ελέγχου και για οποιονδήποτε λόγο ότι το αρχείο ελέγχου είναι κατεστραμμένο ή η τοποθεσία του αρχείου ελέγχου (σημείο προσάρτησης) δεν είναι προσβάσιμη, επομένως είναι μια πιθανή διακοπή λειτουργίας για επιχειρήσεις ή εάν δεν έχουμε αντίγραφο ασφαλείας στρατηγική για το αρχείο ελέγχου στη συνέχεια χάθηκε.

Για να αποφύγετε αυτήν την κατάσταση, συνιστάται πάντα η πολυπλεξία (τουλάχιστον δύο ή περισσότερα από δύο αρχεία ελέγχου) σας αρχεία ελέγχου σε διαφορετική τοποθεσία, π.χ. σε διαφορετικά σημεία/κατάλογο προσάρτησης. Εδώ θα πολλαπλασιάσουμε αρχεία ελέγχου σε δύο διαφορετικά σημεία προσάρτησης (/u01 & /u02) χρησιμοποιώντας τις διαθέσιμες επιλογές SPFILE, PFILE & RMAN και όλες οι διαθέσιμες επιλογές απαιτούν ελάχιστο χρόνο διακοπής λειτουργίας για την αρχεία ελέγχου πολυπλεξίας.

1. SPFILE
2. PFILE
3. RMAN

1. SPFILE

Βήμα 1.1: Επικύρωση υπαρχόντων αρχείων ελέγχου.
Εδώ έχουμε δύο αρχεία ελέγχου στο ίδιο σημείο προσάρτησης /u01.

[[email protected] ~]$ . oraenv
ORACLE_SID = [suncdb] ? labdb01
The Oracle base remains unchanged with value /u01/app/oracle
[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sat Mar 13 13:47:00 2021

Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> show parameter control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/labdb0
                                                 1/control01.ctl, /u01/app/orac
                                                 le/fast_recovery_area/labdb01/
                                                 control02.ctl
SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/labdb01/control01.ctl
/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl

Βήμα 1.2: Προσθήκη νέου αρχείου ελέγχου στο SPFILE
Εδώ θα προσθέσουμε ένα νέο αρχείο ελέγχου “/u02/labdb01/milti_ctl_spfile/control03.ctl” προς την SPFILE.

SQL> alter system set control_files="/u01/app/oracle/oradata/labdb01/control01.ctl", '/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl', '/u02/labdb01/milti_ctl_spfile/control03.ctl' scope=spfile;

System altered.

Βήμα 1.3: Διακοπή βάσης δεδομένων.
Για να τεθεί σε ισχύ το νέο αρχείο ελέγχου στη βάση δεδομένων, πρέπει να επανεκκινήσουμε τη βάση δεδομένων, καθώς δεν μπορεί να τροποποιηθεί κατά το χρόνο εκτέλεσης.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

Βήμα 1.4: Αντιγράψτε το αρχείο ελέγχου σε νέα θέση.
Αυτό είναι ένα πολύ σημαντικό βήμα για να αντιγράψετε οποιοδήποτε υπάρχον αρχείο ελέγχου σε μια νέα θέση και να βεβαιωθείτε ότι η βάση δεδομένων είναι καθαρός τερματισμός λειτουργίας. Εφόσον γνωρίζουμε ήδη ότι η αρχείο ελέγχου περιέχει όλες τις φυσικές δομές, επομένως απαιτεί αντιγραφή σε λειτουργία τερματισμού λειτουργίας, έτσι ώστε όλα τα αρχεία ελέγχου να έχουν τις ίδιες πληροφορίες. Εάν κάποιο αρχείο ελέγχου έχει πληροφορίες αναντιστοιχίας μεταξύ όλων των αρχείων ελέγχου, η βάση δεδομένων σας δεν θα συνδεθεί ποτέ σε ανοιχτή λειτουργία.

[[email protected] ~]$ cp /u01/app/oracle/oradata/labdb01/control01.ctl /u02/labdb01/milti_ctl_spfile/control03.ctl
[[email protected] ~]$ ls -lrt /u02/labdb01/milti_ctl_spfile/control03.ctl
-rw-r----- 1 oracle oinstall 10076160 Mar 13 14:18 /u02/labdb01/milti_ctl_spfile/control03.ctl

Βήμα 1.5: Ξεκινήστε τη βάση δεδομένων σε κανονική λειτουργία.

SQL> startup;
ORACLE instance started.

Total System Global Area  838860800 bytes
Fixed Size                  2929936 bytes
Variable Size             322964208 bytes
Database Buffers          507510784 bytes
Redo Buffers                5455872 bytes
Database mounted.
Database opened.

Βήμα 1.6: Επικύρωση αρχείων ελέγχου.

SQL> show parameter control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/labdb0
                                                 1/control01.ctl, /u01/app/orac
                                                 le/fast_recovery_area/labdb01/
                                                 control02.ctl, /u02/labdb01/mi
                                                 lti_ctl_spfile/control03.ctl
SQL> select name from v$controlfile;

NAME
-----------------------------------------------------------------
/u01/app/oracle/oradata/labdb01/control01.ctl
/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl
/u02/labdb01/milti_ctl_spfile/control03.ctl

2. PFILE

Βήμα 2.1: Επικύρωση υπαρχόντων αρχείων ελέγχου.
Εδώ έχουμε τώρα τρία αρχεία ελέγχου σε δύο διαφορετικά σημεία προσάρτησης.

SQL> show parameter control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/labdb0
                                                 1/control01.ctl, /u01/app/orac
                                                 le/fast_recovery_area/labdb01/
                                                 control02.ctl, /u02/labdb01/mi
                                                 lti_ctl_spfile/control03.ctl
SQL> select name from v$controlfile;

NAME
-----------------------------------------------------------------
/u01/app/oracle/oradata/labdb01/control01.ctl
/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl
/u02/labdb01/milti_ctl_spfile/control03.ctl

Βήμα 2.2: Δημιουργήστε PFILE χρησιμοποιώντας SPFILE.

SQL> create pfile="/home/oracle/initlabdb01.ora" from spfile;

File created.

Βήμα 2.3: Προετοιμάστε το PFILE προσθέτοντας το νέο αρχείο ελέγχου.
Επεξεργαστείτε το PFILE σε λειτουργία επεξεργασίας vi και προσθέστε νέο όνομα αρχείου ελέγχου “/u02/labdb01/milti_ctl_pfile/control04.ctl”. Κάνουμε εδώ πριν σταματήσουμε τη βάση δεδομένων για να μειώσουμε το χρόνο διακοπής λειτουργίας.

[[email protected] ~]$ cat /home/oracle/initlabdb01.ora | grep -i control
*.control_files="/u01/app/oracle/oradata/labdb01/control01.ctl",'/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl','/u02/labdb01/milti_ctl_spfile/control03.ctl','/u02/labdb01/milti_ctl_pfile/control04.ctl'  ==> Before edit
[[email protected] ~]$ vi /home/oracle/initlabdb01.ora
[[email protected] ~]$ cat /home/oracle/initlabdb01.ora | grep -i control
*.control_files="/u01/app/oracle/oradata/labdb01/control01.ctl",'/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl','/u02/labdb01/milti_ctl_spfile/control03.ctl','/u02/labdb01/milti_ctl_pfile/control04.ctl'  ==> After edit

Βήμα 2.4: Διακοπή βάσης δεδομένων.
Απαιτείται η διακοπή της βάσης δεδομένων για την αντιγραφή του αρχείου ελέγχου σε μια νέα θέση.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

Βήμα 2.5: Αντιγράψτε το αρχείο ελέγχου σε νέα θέση.
Αυτό είναι ένα πολύ σημαντικό βήμα για να αντιγράψετε οποιοδήποτε υπάρχον αρχείο ελέγχου σε μια νέα θέση και να βεβαιωθείτε ότι η βάση δεδομένων είναι καθαρός τερματισμός λειτουργίας. Εφόσον γνωρίζουμε ήδη ότι η αρχείο ελέγχου περιέχει όλες τις φυσικές δομές, επομένως απαιτεί αντιγραφή σε λειτουργία τερματισμού λειτουργίας, έτσι ώστε όλα τα αρχεία ελέγχου να έχουν τις ίδιες πληροφορίες. Εάν κάποιο αρχείο ελέγχου έχει πληροφορίες αναντιστοιχίας μεταξύ των αρχείων ελέγχου, η βάση δεδομένων σας δεν θα συνδεθεί ποτέ σε ανοιχτή λειτουργία.

[[email protected] ~]$ cp /u01/app/oracle/oradata/labdb01/control01.ctl /u02/labdb01/milti_ctl_pfile/control04.ctl
[[email protected] ~]$ ls -lrt /u02/labdb01/milti_ctl_pfile/control04.ctl
-rw-r----- 1 oracle oinstall 10076160 Mar 13 14:30 /u02/labdb01/milti_ctl_pfile/control04.ctl

Βήμα 2.6: Ξεκινήστε τη βάση δεδομένων χρησιμοποιώντας το pfile.
Σε αυτό το βήμα, θα ξεκινήσουμε τη χρήση της βάσης δεδομένων PFILE που ετοιμάσαμε Βήμα 2.3.

SQL> startup pfile="/home/oracle/initlabdb01.ora"
ORACLE instance started.

Total System Global Area  838860800 bytes
Fixed Size                  2929936 bytes
Variable Size             322964208 bytes
Database Buffers          507510784 bytes
Redo Buffers                5455872 bytes
Database mounted.
Database opened.

Βήμα 2.7: Επικύρωση αρχείων ελέγχου.

SQL> show parameter control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/labdb0
                                                 1/control01.ctl, /u01/app/orac
                                                 le/fast_recovery_area/labdb01/
                                                 control02.ctl, /u02/labdb01/mi
                                                 lti_ctl_spfile/control03.ctl,
                                                 /u02/labdb01/milti_ctl_pfile/c
                                                 ontrol04.ctl
SQL> select name from v$controlfile;

NAME
-----------------------------------------------------------------
/u01/app/oracle/oradata/labdb01/control01.ctl
/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl
/u02/labdb01/milti_ctl_spfile/control03.ctl
/u02/labdb01/milti_ctl_pfile/control04.ctl

Βήμα 2.8: Προετοιμάστε το SPFILE και επανεκκινήστε τη βάση δεδομένων.
Εφόσον έχουμε ξεκινήσει τη βάση δεδομένων χρησιμοποιώντας το PFILE, θα δημιουργήσουμε ένα SPFILE χρησιμοποιώντας το ίδιο PFILE και ενεργοποιήστε το SPFILE που δημιουργήθηκε πρόσφατα στην επόμενη εκκίνηση της βάσης δεδομένων.

SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> create spfile from pfile="/home/oracle/initlabdb01.ora";

File created.

SQL> startup
ORACLE instance started.

Total System Global Area  838860800 bytes
Fixed Size                  2929936 bytes
Variable Size             322964208 bytes
Database Buffers          507510784 bytes
Redo Buffers                5455872 bytes
Database mounted.
Database opened.

Βήμα 2.9: Επικύρωση αρχείων ελέγχου.
Αυτό είναι το τελευταίο και τελευταίο βήμα όπου η τιμή του SPFILE μαζί με το νέο αρχείο ελέγχου θα πρέπει να είναι ορατή.

SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/12.1.0
                                                 /db_1/dbs/spfilelabdb01.ora
SQL> select name from v$controlfile;

NAME
-----------------------------------------------------------------
/u01/app/oracle/oradata/labdb01/control01.ctl
/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl
/u02/labdb01/milti_ctl_spfile/control03.ctl
/u02/labdb01/milti_ctl_pfile/control04.ctl


3. RMAN

Βήμα 3.1: Επικύρωση υπαρχόντων αρχείων ελέγχου.
Εδώ έχουμε τώρα τέσσερις αρχεία ελέγχου σε δύο διαφορετικά σημεία τοποθέτησης.

SQL> show parameter control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/labdb0
                                                 1/control01.ctl, /u01/app/orac
                                                 le/fast_recovery_area/labdb01/
                                                 control02.ctl, /u02/labdb01/mi
                                                 lti_ctl_spfile/control03.ctl,
                                                 /u02/labdb01/milti_ctl_pfile/c
                                                 ontrol04.ctl
SQL> select name from v$controlfile;

NAME
-----------------------------------------------------------------
/u01/app/oracle/oradata/labdb01/control01.ctl
/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl
/u02/labdb01/milti_ctl_spfile/control03.ctl
/u02/labdb01/milti_ctl_pfile/control04.ctl

Βήμα 3.2: Προσθήκη νέου αρχείου ελέγχου στο SPFILE
Εδώ θα προσθέσουμε ένα νέο αρχείο ελέγχου “/u02/labdb01/milti_ctl_rman/control05.ctl” προς την SPFILE.

SQL> alter system set control_files="/u01/app/oracle/oradata/labdb01/control01.ctl", '/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl', '/u02/labdb01/milti_ctl_spfile/control03.ctl', '/u02/labdb01/milti_ctl_pfile/control04.ctl', '/u02/labdb01/milti_ctl_rman/control05.ctl' scope=spfile;

System altered.

Βήμα 3.3: Σταματήστε τη βάση δεδομένων και ξεκινήστε σε κατάσταση NOMOUN.
Σε αυτό το βήμα σταματήστε τη βάση δεδομένων και ξεκινήστε στο NOMOUN κατάσταση λόγω πρόκειται να επαναφέρουμε χρησιμοποιώντας το RMAN εντολή.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount;
ORACLE instance started.

Total System Global Area  838860800 bytes
Fixed Size                  2929936 bytes
Variable Size             322964208 bytes
Database Buffers          507510784 bytes
Redo Buffers                5455872 bytes

Βήμα 3.4: Επαναφέρετε το αρχείο ελέγχου χρησιμοποιώντας την εντολή RMAN.
Συνδεθείτε στο RMAN και επαναφέρετε το αρχείο ελέγχου. Εδώ μπορούμε να χρησιμοποιήσουμε οποιοδήποτε έγκυρο αρχείο ελέγχου στο RMAN που θα επαναφέρει τα αρχεία ελέγχου σε όλες τις επιθυμητές θέσεις όπως εκτελέσαμε στο Βήμα 3.2.

[[email protected] ~]$ rman target /

Recovery Manager: Release 12.1.0.2.0 - Production on Sat Mar 13 14:46:34 2021

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

connected to target database: LABDB01 (not mounted)

RMAN> restore controlfile from '/u01/app/oracle/oradata/labdb01/control01.ctl';

Starting restore at 13-MAR-21
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=249 device type=DISK

channel ORA_DISK_1: copied control file copy
output file name=/u01/app/oracle/oradata/labdb01/control01.ctl
output file name=/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl
output file name=/u02/labdb01/milti_ctl_spfile/control03.ctl
output file name=/u02/labdb01/milti_ctl_pfile/control04.ctl
output file name=/u02/labdb01/milti_ctl_rman/control05.ctl
Finished restore at 13-MAR-21

Βήμα 3.5: Αλλάξτε τη βάση δεδομένων σε λειτουργία OPEN ή επανεκκινήστε τη βάση δεδομένων.
Σε αυτό το βήμα, θα ανοίξουμε τη βάση δεδομένων από NOMOUNT σε MOUNT και στη συνέχεια OPEN. Εναλλακτικά, μπορείτε να σταματήσετε την παρουσία και να ξεκινήσετε κανονικά τη βάση δεδομένων.

SQL> alter database mount;

Database altered.

SQL> alter database open;

Database altered.

Βήμα 3.6: Επικύρωση αρχείων ελέγχου.

SQL> show parameter control_files

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
control_files                        string      /u01/app/oracle/oradata/labdb0
                                                 1/control01.ctl, /u01/app/orac
                                                 le/fast_recovery_area/labdb01/
                                                 control02.ctl, /u02/labdb01/mi
                                                 lti_ctl_spfile/control03.ctl,
                                                 /u02/labdb01/milti_ctl_pfile/c
                                                 ontrol04.ctl, /u02/labdb01/mil
                                                 ti_ctl_rman/control05.ctl
SQL>  select name from v$controlfile;

NAME
-----------------------------------------------------------------
/u01/app/oracle/oradata/labdb01/control01.ctl
/u01/app/oracle/fast_recovery_area/labdb01/control02.ctl
/u02/labdb01/milti_ctl_spfile/control03.ctl
/u02/labdb01/milti_ctl_pfile/control04.ctl
/u02/labdb01/milti_ctl_rman/control05.ctl

ΣΗΜΕΙΩΣΗ: Προαιρετικά μπορείτε να δημιουργήσετε PFILE τέλος δραστηριοτήτων. Συνιστάται πάντα η δημιουργία ενός PFILE σε μια μη προεπιλεγμένη τοποθεσία πριν από την έναρξη των δραστηριοτήτων και η δημιουργία στην προεπιλεγμένη θέση μετά την ολοκλήρωση των δραστηριοτήτων σε περίπτωση αλλαγών στις παραμέτρους/ες της βάσης δεδομένων.

SQL> create pfile from spfile;

File created.

[[email protected] ~]$ ls -lrt $ORACLE_HOME/dbs/initlabdb01.ora
-rw-r--r-- 1 oracle oinstall 1337 Mar 13 14:49 /u01/app/oracle/product/12.1.0/db_1/dbs/initlabdb01.ora

Αυτό το έγγραφο είναι μόνο για εκπαιδευτικούς σκοπούς και επικυρώνεται πάντα στο περιβάλλον LAB πρώτα πριν από την εφαρμογή στο περιβάλλον LIVE.


Ελπίζω να σας αρέσει αυτό το άρθρο!

Μοιραστείτε τα πολύτιμα σχόλια/σχόλιά σας/εγγραφείτε και ακολουθήστε μας παρακάτω και μην ξεχάσετε να κάνετε κλικ στο εικονίδιο του κουδουνιού για να λάβετε την πιο πρόσφατη ενημέρωση.
Κάντε κλικ εδώ για να κατανοήσετε περισσότερα για την επιδίωξή μας.

2,332 Συνολικές προβολές, 3 Προβολές Σήμερα

παρόμοιες αναρτήσεις

Schreibe einen Kommentar