Orcale Tutorial Content
Getting Started - البدء مع إدارة قواعد البيانات
Oracle Architectural Components - مكونات قاعدة البيانات أوركل
Installing Oracle Database - تثبيت الأوركل
Creating and Configuring Database - إنشاء قاعدة البيانات
Controlling The Database -التحكم في قاعدة البيانات
Administrating Users - إدارة المستخدمين
Database Security & Monitoring - تأمين ومراقبة قاعدة البيانات
Oracle Net Services & Database Link & Metrlized Viewِ
Undo Management & Flashback Technology
Managing Shared Servers
Using Globalization Support
Logical Backup & Recovery
Physical Backup & Recovery
Recovery Manager (RMAN)
Managing Resources
Automating Tasks with the Scheduler
Dealing with Locking
Diagnostic Sources
Dealing With Database Corruption
Managing & Monitoring Memory
Performance Tunning
Recovery Manager (RMAN)
Incomplete Recovery
ﻴﺴﻌﻰ ﻤﺩﻴﺭ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺠﺎﻫﺩﺍﹰ ﺇﺫﺍ ﺤﺩﺙ ﻋﻁل ﻓﻲ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻹﺭﺠﺎﻋﻬﺎ ﺇﻟﻰ ﻤﺎ ﻗﺒل ﺤﺩﻭﺙ ﺍﻟﻌﻁل ﻭﺩﻭﻥ ﺃﻥ ﻴﻔﻘﺩ ﺠﺯﺀ ﻤﻥ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﻫﻭ ﻤﺎ ﻴﺴﻤﻰ ﺒﺎلRecovery Complete،
ﻟﻜﻥ ﻓﻲ ﺒﻌﺽ ﺍﻷﺤﻴﺎﻥ ﻴﻜﻭﻥ ﻤﻥ ﺍﻟﻤﺘﻌﺫﺭ ﺇﺭﺠﺎﻉ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺩﻭﻥ ﻓﻘﺩ ﺠﺯﺀ ﻤﻥ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﺫﻟﻙ ﻷﺴﺒﺎﺏ ﻗﺩ ﻴﻜﻭﻥ ﻤﻨﻬﺎ ﻋﺩﻡ ﺘﻭﻓﺭ ﻤﻠﻔﺎﺕ ﺍﻷﺭﺸﻴﻑ ﺍﻟﺘﻲ ﻨﺤﺘﺎﺠﻬﺎ ﻓﻲ ﻋﻤﻠﻴﺔ ﺍلRecovery
ﺃﻭ ﻟﺘﻠﻑ ﻤﻠﻑ ﺍلOnline Redo Log ﺍﻟﺫﻱ ﻟﻡ ﺘﺘﻡ ﺃﺭﺸﻔﺘﻪ ﺃﻭ ﺃﺤﻴﺎﻨﹰﺎ ﻟﻔﻘﺩﺍﻥ ﺠﻤﻴﻊ ﻤﻠﻔﺎﺕ ﺍلControl Files، ﻭﻫﺫﺍ ﻤﺎ ﻴﺴﻤﻰ ﺒﺎلIncomplete Recovery.
ﻭﻴﻤﻜﻥ ﺇﻨﺠﺎﺯ ﻋﻤﻠﻴﺔ ﺍلIncomplete Recovery ﺒﻭﺍﺴﻁﺔ ﺍلRMAN ﻜﻤﺎ ﻓﻌﻠﻨﺎ ﻤﻥ ﻗﺒل ﺒﻭﺍﺴﻁﺔ User- Backups Managed، ﻭﻴﻤﻜﻥ ﺍﻟﻘﻭل ﺒﺄﻥ ﻋﻤﻠﻴﺔ ﺍﻻﺴﺘﺭﺠﺎﻉ ﺒﻭﺍﺴﻁﺔ ﺍلRMAN ﺃﺴﻬل
ﺒﻜﺜﻴﺭ ﻤﻥ User-Managed Backups.
ﻭﻋﻤﻭﻤﹰﺎ ﻴﻤﻜﻥ ﺘﻠﺨﻴﺹ ﺨﻁﻭﺍﺕ ﻋﻤﻠﻴﺔ ﺍلIncomplete Recovery ﺒﺎﻻﺘﻲ:-
1- ﻓﺘﺢ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻭﻀﻊ MOUNT.
2- ﻋﻤل RESTORE ﻟﺠﻤﻴﻊ ﻤﻠﻔﺎﺕ ﺍلDATA FILES ﻭﺃﺤﻴﺎﻨﺎﹰ ﻤﻠﻑ ﺍلCONTROL FILE.
3- ﻋﻤل RECOVER ﻟﻘﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ (UNTIL TIME OR SEQUENCE OR SCN).
4- ﻓﺘﺢ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻭﻀﻊ RESETLOGS.
UNTIL TIME:
ﻫﺫﺍ ﺍﻟﺨﻴﺎﺭ ﻤﺘﺎﺡ ﻟﺘﻁﺒﻴﻕ ﻤﻠﻔﺎﺕ ﺍﻷﺭﺸﻴﻑ ﻭﺍلRedo Log ﻹﺭﺠﺎﻉ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺇﻟﻰ ﻭﻗﺕ ﻤﻌﻴﻥ، ﻭﻫﺫﺍ ﺍﻟﺨﻴﺎﺭ ﻴﺴﺘﺨﺩﻡ ﻋﺎﺩﺓ ﻓﻲ ﺤﺎﻟﺔ ﺤﺩﻭﺙ ﺨﻁﺄ ﻤﻥ ﺍﻟﻤﺴﺘﺨﺩﻤﻴﻥ ﻓﻨﺤﺘﺎﺝ ﻹﺭﺠﺎﻉ
ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺇﻟﻰ ﻤﺎ ﻗﺒل ﺤﺩﻭﺙ ﺍﻟﺨﻁﺄ.
RMAN> RUN{ ALLOCATE CHANNEL D1 TYPE DISK; ALLOCATE CHANNEL D2 TYPE DISK; SHUTDOWN IMMEDIATE; STARTUP MOUNT; SQL "ALTER SESSION SET NLS_DATE_FORMAT=''DD-MM- YYYY HH24:MI:SS''"; SET UNTIL TIME "01-02-2020 23:00:00"; RESTORE DATABASE; RECOVER DATABASE; } |
ﻴﺠﺏ ﺍﻟﺘﻨﺒﻴﻪ ﺇﻟﻰ ﻀﺭﻭﺭﺓ ﻭﻀﻊ FULL BACKUP ﺒﻌﺩ ﻓﺘﺢ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻭﻀﻊ RESETLOGS.
UNTIL SEQUENCE:
ﻓﻲ ﺒﻌﺽ ﺍﻷﺤﻴﺎﻥ ﻗﺩ ﺘﺤﺘﺎﺝ ﻟﻌﻤل ﺍﺴﺘﺭﺠﺎﻉ ﻟﻘﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺒﺴﺒﺏ ﻤﺸﻜﻠﺔ ﻤﺎ، ﻭﻟﻜﻥ ﺍﻜﺘﺸﻔﺕ ﺃﻥ ﺒﻌﺽ ﻤﻠﻔﺎﺕ ﺍﻷﺭﺸﻴﻑ Archive Log File ﻗﺩ ﻓﻘﺩﺕ،
ﻭﻟﻨﻔﺘﺭﺽ ﺃﻨﻙ ﻗﺩ ﻓﻘﺩﺕ Archive Log File Sequence 150، ﻓﻔﻲ ﻤﺜل ﻫﺫﻩ ﺍﻟﺤﺎﻟﺔ ﻨﺴﺘﻁﻴﻊ ﺃﺜﻨﺎﺀ ﻋﻤل ﺍلRecovery ﺘﻁﺒﻴﻕ ﻤﻠﻔﺎﺕ ﺍﻷﺭﺸﻴﻑ ﻓﻘﻁ.
RMAN> RUN{ ALLOCATE CHANNEL D1 TYPE DISK; ALLOCATE CHANNEL D2 TYPE DISK; SHUTDOWN IMMEDIATE; STARTUP MOUNT; SET UNTIL SEQUENCE 150 THREAD ١; RESTORE DATABASE ; RECOVER DATABASE; ALTER DATABASE OPEN RESETLOGS; } |
ﻴﺠﺏ ﺍﻟﺘﻨﺒﻴﻪ ﺇﻟﻰ ﺍﻨﻪ ﺴﻭﻑ ﻴﺘﻡ ﺘﻁﺒﻴﻕ ﻤﻠﻔﺎﺕ ﺍﻷﺭﺸﻴﻑ ﺤﺘﻰ 150 Sequence ﻭﻻ ﻴﺘﻡ ﺘﻀﻤﻴﻥ ﻤﻠﻑ ﺍﻷﺭﺸﻴﻑ 150 Sequence.
Thread: ﺩﺍﺌﻤﺎﹰ ﻴﺄﺨﺫ ﺍﻟﻘﻴﻤﺔ 1 ﻤﺎﺩﺍﻡ ﺃﻨﻨﺎ ﻨﻌﻤل ﻓﻲ ﺒﻴﺌﺔ Single Instance ﻭﻟﻜﻥ ﻋﻨﺩﻤﺎ ﻴﻜﻭﻥ ﻟﺩﻯ ﻋﺩﺩ ﻤﻥ ﺍلInstances ﻓﺈﻥ ﻜل Instance ﺘﻜﻭﻥ ﻟﺩﻴﻬﺎ ﺭﻗﻡ Thread ﺨﺎﺹ ﺒﻬﺎ،
ﻟﻜﻥ ﻋﻤﻭﻤﺎﹰ ﺤﺘﻰ ﻭﺃﻨﺎ ﺍﻋﻤل ﻋﻠﻰ ﺒﻴﺌﺔ Single Instance ﻻﺒﺩ ﻤﻥ ﻜﺘﺎﺒﺔ 1 Thread ﻋﻨﺩ ﻋﻤل Recover until Sequence.
UNTIL SCN:
ﺘﻭﻓﺭ ﺍلRMAN ﺨﻴﺎﺭ ﺍﻻﺴﺘﺭﺠﺎﻉ ﺇﻟﻰ System Change Number(SCN) وإن كان من ﻏﻴﺭ ﺍﻟﻤﻌﺘﺎﺩ ﺍﺴﺘﺨﺩﺍﻡ ﻫﺫﺍ ﺍﻟﻨﻭﻉ ﻋﻨﺩ ﺍﻻﺴﺘﺭﺠﺎﻉ
ﻷﻨﻪ ﻓﻲ ﺍﻟﻌﺎﺩﺓ ﺃﻨﺕ ﻻ ﺘﺩﺭﻯ ﻤﺎ ﻫﻭ ﺍلSCN ﻋﻨﺩ ﺤﺩﻭﺙ ﺍﻟﻤﺸﻜﻠﺔ.
RMAN> RUN{ ALLOCATE CHANNEL D1 TYPE DISK; ALLOCATE CHANNEL D2 TYPE DISK; SHUTDOWN IMMEDIATE; STARTUP MOUNT; SET UNTIL SCN 6545220; RESTORE DATABASE; RECOVER DATABASE; ALTER DATABASE OPEN RESETLOGS; } |
ﺃﻴﻀﺎﹰ ﺃﺫﻜﺭﻙ ﺒﻀﺭﻭﺭﺓ ﻋﻤل Backup ﺒﻌﺩ ﻓﺘﺢ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻭﻀﻊ .RESETLOGS.
--------------------------------------------------