Orcale Tutorial Content

Loading...

Getting Started - البدء مع إدارة قواعد البيانات
  • أنواع مستخدمي قواعد البيانات:
  • مهام مسؤول قاعدة البيانات:
  • SQL Statements:
  • Identifying Your Oracle Database Software Release - تحديد إصدار اوركل
  • About Database Administrator Security and Privileges- أمان وامتيازات مسؤول قاعدة البيانات
  • Database Administrator Authentication - مصادقة مسؤول قاعدة البيانات
  • Creating and Maintaining a Database Password File - إنشاء ملف كلمة المرور
  • Oracle Architectural Components - مكونات قاعدة البيانات أوركل
  • ﻤﻜﻭﻨﺎﺕ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ
  • Oracle Instance
  • Oracle Database
  • Installing Oracle Database - تثبيت الأوركل
  • Installing oracle database 10g in windows
  • Creating and Configuring Database - إنشاء قاعدة البيانات
  • ﺍﻟﺘﺨﻁﻴﻁ ﻟﻘﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ
  • ﺇﻨﺸﺎﺀ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺒﺎﻟﻁﺭﻴﻘﺔ ﺍﻟﻴﺩﻭﻴﺔ علي Windows:
  • ﺇﻨﺸﺎﺀ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻋﻥ ﻁﺭﻴﻕ ﺍل(DBCA)
  • About Creating an Oracle Database
  • About Selecting a Character Set
  • Prerequisites for Database Creation
  • Creating a Database with the CREATE DATABASE Statement
  • Specifying CREATE DATABASE Statement Clauses
  • Specifying Initialization Parameters
  • Controlling The Database -التحكم في قاعدة البيانات
  • التحكم في قاعدة البيانات - Controlling The Database
  • ﺘﺸﻐﻴل ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ
  • ﺇﻏﻼﻕ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ
  • Opening a Database in Read-Only Mode
  • Opening a Database in Restricted Mode
  • Managing Tablespaces and Data files
  • ﻤﻔﺎﻫﻴﻡ ﻋﺎﻤﺔ ﻋﻥ ﺍل: Tablespaces
  • عملي
  • Control File & Redo Log Files
  • Control File
  • ﺘﻐﻴﻴﺭ ﺍﺴﻡ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ
  • Redo Log Files
  • Administrating Users - إدارة المستخدمين
  • ﺇﻨﺸﺎﺀ ﻭﺇﺩﺍﺭﺓ ﺍﻟﻤﺴﺘﺨﺩﻤﻴﻥ
  • Quota
  • ﻭﺴﻴﻠﺔ ﺍﻟﺘﺤﻘﻴﻕ
  • ﺍﻟﺼﻼﺤﻴﺎﺕ - Privileges
  • ROLES
  • PROFILES
  • Database Security & Monitoring - تأمين ومراقبة قاعدة البيانات
  • Database Security
  • ﻤﺭﺍﻗﺒﺔ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ - AUDITING
  • Oracle Net Services & Database Link & Metrlized Viewِ
  • Oracle Net Services
  • ﺍﻟﺘﺤﻜﻡ ﻓﻲ ﺍﻟﻭﺼﻭل ﻟﻘﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ
  • External Procedures
  • Clients Side
  • Database Link
  • Materialized Views
  • Undo Management & Flashback Technology
  • UNDO MANAGEMENT
  • Flashback Query
  • Flashback Table
  • Flashback Versions Query
  • Flashback Transaction
  • Flashback Drop
  • Flashback Database
  • Managing Shared Servers
  • Why Shared Server
  • Dedicated Server
  • Shared Server Architecture
  • ﻤﺘﻰ ﻨﺴﺘﺨﺩﻡ ﺍل Shared Server ؟
  • Using Globalization Support
  • Globalization
  • ﺍﺨﺘﻴﺎﺭ وتغيير ﺍل Character Set
  • ﻤﺴﺘﻭﻴﺎﺕ ﺍل Globalization
  • ﺍﺴﺘﺨﺩﺍﻡ ﺍل Zones Time
  • Logical Backup & Recovery
  • Use Export Utilities to Export Data
  • TABLES EXPORT Using Export Utilities
  • SCHEMAS EXPORT Using Export Utilities
  • TABLESPACE EXPORT Using Export Utilities
  • DATABASE EXPORT Using Export Utilities
  • Use Import Utilities to Import Data
  • TABLES IMPORT Using Import Utilities
  • SCHEMAS IMPORT Using Import Utilities
  • DATABASE IMPORT Using Import Utilities
  • DATA PUMP
  • TABLES EXPORT Using Data Pump
  • SCHEMAS EXPORT Using Data Pump
  • DATABASE EXPORT Using Data Pump
  • TABLES IMPORT Using Data Pump
  • SCHEMAS IMPORT Using Data Pump
  • DATABASE IMPORT Using Data Pump
  • SQL*Loader
  • Physical Backup & Recovery
  • Physical Backup
  • ﻜﻴﻑ ﻨﻬﻴﺊ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻟﺘﻌﻤل ﻓﻲ ﺍﻟﻨﻤﻁ ARCHIVELOG؟
  • Cold Backup
  • Full Database Recovery
  • Loss of a Non-SYSTEM Data File
  • Loss of a SYSTEM Data File
  • Loss of an Un-archived Online Log Files
  • Loss of Control Files
  • Loss Unbackup Datafile
  • Damage Tempfile
  • Damage Temporary Tablespace
  • Damage Online Logfile Member
  • Point in Time Recovery
  • Backup and Recovery Options
  • Hot Backup
  • Recovery Manager (RMAN)
  • مقدمة
  • مكونات ال Recovery Manager (RMAN)
  • ﺃﻨﻭﺍﻉ ﺍﻻﺘﺼﺎل ﺒﺎل RMAN
  • ﺨﻴﺎﺭﺍﺕ وأنماط ﺍﻟﻨﺴﺦ ﺍﻹﺤﺘﻴﺎﻁﻰ
  • RMAN Configuration Setting
  • Recovery Catalog
  • RMAN Backups
  • Data Files Backup
  • Tablespaces Backup
  • Archived Redo Log Files Backup
  • Control File Backup
  • Database Backup
  • Incremental Backups
  • RMAN Commands
  • Complete Recovery
  • Incomplete Recovery
  • Restore ControlFile and spfile
  • Managing Resources
  • Consumer Groups
  • Resource Manager Plans
  • Resource Manager Configuration
  • Create Consumer Group
  • Update Consumer Group
  • Delete Consumer Group
  • Privileges & Resource Manager
  • Join To Consumer Group
  • Move Active User To Other Consumer Group
  • Create Resource Manager Plans & Directive
  • Update Resource Manager Plans
  • Update Resource Manager Plan Directives
  • Delete Resource Manager Plan Directives
  • Delete Resource Manager Plans
  • Create Simple Plan
  • Consumer Group Mapping
  • Automating Tasks with the Scheduler
  • The Scheduler Architecture
  • Jobs
  • Programs
  • Schedules
  • Using Programs and Schedules
  • Job Classes
  • Windows
  • (Privileges) ﺍﻟﺼﻼﺤﻴﺎﺕ
  • Job Logs
  • Dealing with Locking
  • Shared & Exclusive Locks
  • Manual Lock Table
  • The Enqueue Mechanism
  • Lock Contention
  • Deadlocks
  • Diagnostic Sources
  • Alert Log
  • Background Trace Files
  • Server-Generated Alerts
  • Editing Thresholds
  • User Trace Files
  • Instance-Level SQL Tracing
  • Session-Level SQL Tracing
  • Dealing With Database Corruption
  • Block Corruption
  • ﺍﻜﺘﺸﺎﻑ ﺍﻟﻜﺘل ﺍﻟﻔﺎﺴﺩﺓ (Detecting Block Corruptions)
  • The DBVERIFY Utility
  • The ANALYZE Command
  • DBMS_REPAIR Backage
  • ﺍﺴﺘﺭﺠﺎﻉ ﺍﻟﻜﺘل ﺍﻟﻔﺎﺴﺩﺓ ﺒﻭﺍﺴﻁﺔ ﺍل:RMAN
  • Managing & Monitoring Memory
  • The System Global Area
  • The Shared Pool
  • The Database Buffer Cache
  • The Default, Keep, and Recycle Pools
  • The Nonstandard Block Size Pools
  • Sizing the Database Buffer Cache
  • The Log Buffer
  • The Large Pool
  • The Java Buffer
  • The Steams Buffer
  • Automatic Shared Memory Management
  • Enable Automatic Shared Memory Management
  • The Program Global Area (PGA)
  • Performance Tunning
  • Invalid Objects
  • Unusable Indexes
  • Rebuild Invalid Inexes
  • Optimizer Statistics
  • Gathering Statistics
  • The Automatic Workload Repository (AWR)
  • The Automatic Database Diagnostic Monitor (ADDM)
  • The SQL Tuning Advisor
  • The SQL Access Advisor
  • The Mean Time to Recover Advisor
  • The Segment Advisor
  • The Undo Advisor
  • Undo Management & Flashback Technology

    Flashback Database

    ﻫل ﻓﻜﺭﺕ ﻴﻭﻤﺎﹰ ﻤﺎﺫﺍ ﺘﻔﻌل ﻟﻭ ﻗﻤﺕ ﺒﺤﺫﻑ ﻤﺴﺘﺨﺩﻡﹴ ﻤﺎ ﺨﻁﺄً؟ ﺍﻟﺠﻭﺍﺏ ﻭﺒﻜل ﺒﺴﺎﻁﺔ ﺃﻗﻭﻡ ﺒﻌﻤل ﺍﺴﺘﺭﺠﺎﻉ ﻟﻘﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ Recovery ﻤﻥ ﺍﻟﻨﺴﺦ ﺍﻻﺤﺘﻴﺎﻁﻲ Backup

    ﻫﺫﺍ ﺍﻟﺤل ﺼﺤﻴﺢ ﻭﻟﻜﻥ ﻤﻜﻠﻑ ﻤﻥ ﺤﻴﺙ ﺍﻟﺯﻤﻥ ﺨﺼﻭﺼﺎﹰ ﺇﺫﺍ ﻜﺎﻨﺕ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻜﺒﻴﺭﺓ، ﻓﺎﺴﺘﺭﺠﺎﻉ ﺃﺤﺠﺎﻡ ﻜﺒﻴﺭﺓ ﻤﻥ ﺍﻟﻤﻠﻔﺎﺕ ﻻ ﺒﺩ ﺃﻨﻪ ﻤﻜﻠﻑ ﻤﻥ ﺤﻴﺙ ﺍﻟﺯﻤﻥ.

    ﻤﺎ ﺍﻟﺤل ﺇﺫﺍﹰ؟ ﺍﻟﺤل ﻫﻭ  Flashback Database.

    ﺍلFlashback Database ﻫﻲ ﺇﺭﺠﺎﻉ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺇﻟﻰ ﻨﻘﻁﺔ ﺯﻤﻨﻴﺔ ﻤﻌﻴﻨﺔ ﻓﻲ ﺍﻟﻤﺎﻀﻲ، ﺒﺤﻴﺙ ﺠﻤﻴﻊ ﺍﻟﺘﻌﺩﻴﻼﺕ ﺍﻟﺘﻲ ﺤﺩﺜﺕ ﻓﻲ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻤﻥ ﺘﻠﻙ ﺍﻟﻨﻘﻁﺔ ﺇﻟﻰ ﺍﻵﻥ ﻜﺄﻥ ﻟﻡ ﺘﻜﻥ.

    ﻨﺴﺘﻔﻴﺩ ﻤﻥ ﺍلFlashback Database ﻓﻲ ﺤﺎﻟﺔ ﺤﺩﻭﺙ ﺃﺨﻁﺎﺀ ﻤﻨﻁﻘﻴﺔ، ﻜﺄﻥ ﻴﺤﺫﻑ ﻤﺩﻴﺭ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻤﺴﺘﺨﺩﻡ ﻋﻥ ﻁﺭﻴﻕ ﺍﻟﺨﻁﺄ ﺃﻭ ﻋﻤل Truncate Table ، ﺃﻤﺎ ﺍﻷﺨﻁﺎﺀ ﺍﻟﻔﻴﺯﻴﺎﺌﻴﺔ ﻜﺄﻥ

    ﻨﻔﻘﺩ Data File ﺃﻭ ﻏﻴﺭﻩ ﻤﻥ ﺍﻟﻤﻠﻔﺎﺕ ﻓﻼ ﻨﺴﺘﻁﻴﻊ ﺍﻻﺴﺘﻔﺎﺩﺓ ﻤﻥ ﺍلFlashback Database ﻭﻜل ﻤﺎ ﻨﺴﺘﻁﻴﻌﻪ ﻫﻭ ﻋﻤل ﺍﺴﺘﺭﺠﺎﻉ ﻟﻠﻤﻠﻔﺎﺕ ﻤﻥ ﺍﻟﻨﺴﺦ ﺍﻻﺤﺘﻴﺎﻁﻲ ﺒﺎﻟﻁﺭﻴﻘﺔ ﺍﻟﺘﻘﻠﻴﺩﻴﺔ.

    ﻋﻤﻠﻴﺔ ﺍلFlashback Database ﻫﻲ ﻋﻤﻠﻴﺔ ﺴﺭﻴﻌﺔ ﺠﺩﺍﹰ ﻟﻠﺭﺠﻭﻉ ﺒﻘﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻟﻔﺘﺭﺓ ﺯﻤﻨﻴﺔ ﻓﻲ ﺍﻟﻤﺎﻀﻲ ﻤﻘﺎﺭﻨﺔ ﺒﻌﻤﻠﻴﺔ ﺍﻻﺴﺘﺭﺠﺎﻉ ﻤﻥ ﻤﻠﻔﺎﺕ ﺍﻟﻨﺴﺦ ﺍﻻﺤﺘﻴﺎﻁﻲ ﺒﺎﻟﻁﺭﻴﻘﺔ ﺍﻟﺘﻘﻠﻴﺩﻴﺔ

    ﻭﺫﻟﻙ ﻷﻨﻨﺎ ﻻ ﻨﺤﺘﺎﺝ ﺇﺭﺠﺎﻉ ﻤﻠﻔﺎﺕ ﺍﻟﻨﺴﺦ ﺍﻻﺤﺘﻴﺎﻁﻲ ﻟﻘﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ. ﻟﺤﻅﺔ ﻋﻤل Enable Flashback Database  ﻴﺘﻡ ﺇﻨﺸﺎﺀ Background Process ﻴﺴﻤﻰ (Recovery Writer (RVWR

    ﻭﻴﺘﻡ ﺘﺨﺼﻴﺹ ﺠﺯﺀ ﻓﻲ ﺍﻟﺫﺍﻜﺭﺓ SGA ﻴﺴﻤﻰ Flashback Buffer ﻭﻴﺘﻡ ﺘﺨﺼﻴﺹ ﺠﺯﺀ ﻤﻥ ﺍﻟﺩﻴﺴﻙ ﻟلFlashback logs ﻭﻫﺫﺍ ﺍﻟﺠﺯﺀ ﻫﻭ ﺩﺍﺌﻤﺎﹰ ﻓﻲ ﺍلFlash Recovery Area.

     ﻴﻜﻭﻥ ﺍﻟﺴﻴﻨﺎﺭﻴﻭ ﺒﺤﻴﺙ ﻴﺘﻡ ﺇﺭﺴﺎل ﻜل Block ﺘﻡ ﺘﻌﺩﻴﻠﻪ ﻓﻲ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺇﻟﻰ ﺍلFlash Buffer ﺒﻌﺩ ﺫﻟﻙ ﻴﻘﻭﻡ ﺍلRVWR ﺒﻭﻀﻊ ﻫﺫﻩ ﺍلBlocks ﻤﻥ ﺍلFlashback Buffer ﺇﻟﻰ ﺍلFlashback Logs .

    ﻫﺫﺍ ﺍﻟﺴﻴﻨﺎﺭﻴﻭ ﻴﺸﺒﻪ ﺇﻟﻰ ﺤﺩ ﻜﺒﻴﺭ ﺴﻴﻨﺎﺭﻴﻭ ﺍلRedo Log Buffer  ﻭﺍلRedo Log Files  ﻭﻟﻜﻥ ﺍﻻﺨﺘﻼﻑ ﻓﻲ ﺃﻨﻪ ﻟﻴﺱ ﻜل ﺍﻟﺘﻌﺩﻴﻼﺕ ﺘﻜﺘﺏ ﻓﻲ ﺍلFlashback Buffer ﻜﻤﺎ ﻴﺤﺩﺙ ﻓﻲ ﺍلRedo Log Buffer

      ﻭﺇﻨﻤﺎ Complete Block Images ، ﻜﺫﻟﻙ ﺍلFlashback Loges ﻻ ﺘﺘﻡ ﺃﺭﺸﻔﺘﻪ ﻜﻤﺎ ﻴﺤﺩﺙ ﻟلRedo Log Files .

     ﻜﻤﺎ ﺫﻜﺭﺕ ﺃﻨﻪ ﻟﻴﺴﺕ ﻜل ﺍﻟﺘﻌﺩﻴﻼﺕ ﺘﻜﺘﺏ ﻓﻲ ﺍلFlashback Buffer ﻭﺇﻨﻤﺎ Complete Block Images، ﻟﺫﺍ ﻓﺈﻥ ﻫﻨﺎﻙ ﻜﺜﻴﺭ ﻤﻥ ﺍﻟﺘﻌﺩﻴﻼﺕ ﺘﺤﺩﺙ ﻭﻻ ﻴﺘﻡ ﻜﺘﺎﺒﺘﻬﺎ ﻤﺒﺎﺸﺭﺓ ﻓﻲ ﺍلFlashback Buffer .

    ﻭﺇﻨﻤﺎ ﻴﺘﻡ ﺘﺄﺨﻴﺭﻫﺎ ﻭﺭﺒﻤﺎ ﺘﺤﺩﺜﺕ ﺘﻌﺩﻴﻼﺕ ﺃﺨﺭﻯ ﻗﺒل ﺃﻥ ﺘﻜﺘﺏ ﻓﻲ ﺍلFlashback Buffer، ﻤﺎ ﺃﺭﻤﻰ ﺇﻟﻴﻪ ﺃﻨﻪ ﻗﺩ ﻴﺘﻡ ﻜﺘﺎﺒﺔ Complete Block ﻭﻫﻭ ﻴﺤﻭﻯ ﻤﺠﻤﻭﻋﺔ ﻤﺨﺘﻠﻔﺔ ﻤﻥ ﺍﻟﺘﻌﺩﻴﻼﺕ ﺤﺩﺜﺕ

    ﻓﻰ ﺃﺯﻤﻨﺔ ﻤﺨﺘﻠﻔﺔ، ﻟﺫﺍ ﻋﻤﻠﻴﺔ ﺍلFlashback Database ﻟﻭﻗﺕ ﻤﻀﺒﻭﻁ ﻫﻲ ﻤﻥ ﺍﻟﺼﻌﻭﺒﺔ ﺒﻤﻜﺎﻥ، ﻟﺫﺍ ﻓﺈﻥ ﺍل Flashback Database ﻴﺤﺘﺎﺝ ﻷﻥ ﺘﻜﻭﻥ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻨﻤﻁ Archive Log Mode

     ﻭﺫﻟﻙ ﻷﻥ ﺍﻷﺭﺸﻴﻑ ﻴﺤﺘﻭﻯ ﻋﻠﻰ ﺠﻤﻴﻊ ﺘﻔﺎﺼﻴل ﺍﻟﺘﻌﺩﻴﻼﺕ ﺍﻟﺘﻲ ﺤﺩﺜﺕ ﻓﻲ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻋﻠﻰ ﺨﻼﻑ Logs Flashback، ﺇﺫﺍﹰ

    ﺍلFlashback Logs ﻤﻊ ﺍلArchive Logs ﻴﺴﺘﻁﻴﻌﺎﻥ ﺃﻥ ﻴﻨﺠﺤﺎ ﻋﻤﻠﻴﺔ ﺍلFlashback Database .

    ﻟﺘﻬﻴﺌﺔ ﺍلDatabase Flashback ﻨﺘﺒﻊ ﺍﻟﺨﻁﻭﺍﺕ ﺍﻵﺘﻴﺔ:-

    ١ - ﺍﻟﺘﺄﻜﺩ ﻤﻥ ﺃﻥ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺘﻌﻤل ﻓﻲ ﺍﻟﻨﻤﻁ Archive log mode.

    ﺘﺤﺩﺜﻨﺎ ﻓﻲ ﻓﺼﻭل ﺴﺎﺒﻘﺔ ﻋﻠﻰ ﺃﻥ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺘﻌﻤل ﻋﻠﻰ ﺍﻷﻗل ﻋﻠﻰ ﺍﺜﻨﻴﻥ ﻤﻥ Redo Log Files ﻭﻫﻰ ﻤﻠﻔﺎﺕ ﺘﺤﻭﻯ ﻋﻠﻰ ﺍﻟﺘﻌﺩﻴﻼﺕ ﺍﻟﺘﻲ ﺘﻤﺕ ﻓﻲ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ.

    ﻭﺃﻥ LGWR Background Process  ﻴﻘﻭﻡ ﺒﻜﺘﺎﺒﺔ ﺍﻟﺘﻌﺩﻴﻼﺕ ﺍﻟﻤﻭﺠﻭﺩﺓ ﻓﻲ ﺍل Log Redo Buffer ﻭﻴﻀﻌﻬﺎ ﻓﻲ ﺍلRedo Log Files، ﻭﺘﻜﻭﻥ ﻋﻤﻠﻴﺔ ﺍﻟﻜﺘﺎﺒﺔ ﺒﺸﻜل ﺩﻭﺭﻱ

    ﺒﻴﻥ ﺍلRedo Logs ﻭﻴﺘﻡ ﺇﻋﺎﺩﺓ ﺍﻟﻜﺘﺎﺒﺔ ﻓﻲ ﺍلRedo Logs، ﻤﻤﺎ ﻴﺅﺩﻯ ﻟﻔﻘﺩﺍﻥ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺍﻟﻤﻭﺠﻭﺩﺓ ﻓﻴﻪ ﻟﺫﺍ ﻜﺎﻥ ﺍﻟﺤل ﻫﻭ ﺘﺸﻐﻴل ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻨﻤﻁ Archive Log Mode

     ﺒﺤﻴﺙ ﻴﺘﻡ ﺇﻨﺸﺎﺀ Background Process ﺠﺩﻴﺩ ﻴﺴﻤﻰ ARCn ﻴﻘﻭﻡ ﺒﻌﻤل ﻨﺴﺦ ﻟﻤﻠﻔﺎﺕ ﺍلRedo Log Files  ﺒﺤﻴﺙ ﻻ ﻨﻔﻘﺩ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺍﻟﻤﻭﺠﻭﺩﺓ ﻓﻲ ﻫﺫﻩ ﺍﻟﻤﻠﻔﺎﺕ ﻭﺍﻟﺘﻲ ﻨﻌﺘﻤﺩ ﻋﻠﻴﻬﺎ

    ﻓﻲ ﻋﻤﻠﻴﺔ ﺍﻻﺴﺘﺭﺠﺎﻉ Recovery, ﻭﺍﻟﺘﻲ ﺒﺩﻭﻨﻬﺎ ﺘﻔﺸل ﻋﻤﻠﻴﺔ ﺍلRecovery.

    ﻟﻤﻌﺭﻓﺔ ﻫل ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺘﻌﻤل ﻓﻲ ﺍﻟﻭﻀﻊ Archive Log Mode  ﺃﻡ ﻻ؟

     

    SELECT LOG_MODE FROM V$DATABASE;

     

    ﻟﺘﻬﻴﺌﺔ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻭﻀﻊ Archive Log ﻨﻘﻭﻡ ﺒﺎﻟﺨﻁﻭﺍﺕ ﺍﻵﺘﻴﺔ:

    ﺃ- ﺘﺤﺩﻴﺩ ﺍﻟﻤﻜﺎﻥ ﺍﻟﺫﻱ ﺴﻭﻑ ﻨﻀﻊ ﻓﻴﻪ ﺍﻷﺭﺸﻴﻑ ﺒﻭﺍﺴﻁﺔ ﺍﻟﻤﺘﻐﻴﺭ LOG_ARCHIVE_DEST ﻤﻊ ﻤﺭﺍﻋﺎﺓ ﺃﻨﻪ ﻴﻤﻜﻥ ﺘﺤﺩﻴﺩ ﺘﺠﺎﻫﺎﺕ ﻤﺨﺘﻠﻔﺔ ﻭﺫﻟﻙ ﺒﻭﺍﺴﻁﺔ ﺍﻟﻤﺘﻐﻴﺭﺍﺕ LOG_ARCHIVE_DEST_n

     

    ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=D:\ARCHIVE\’ SCOPE=SPFILE;

     

    ﻜﻤﺎ ﺫﻜﺭﺕ ﺴﺎﺒﻘﺎﹰ ﻴﻤﻜﻥ ﺘﺤﺩﻴﺩ ﺍﺘﺠﺎﻫﺎﺕ ﺃﺨﺭﻯ ﻟﻸﺭﺸﻴﻑ، ﻜﻤﺎ ﻴﻤﻜﻥ ﺘﻬﻴﺌﺔ ﻤﺘﻐﻴﺭﺍﺕ ﺃﺨﺭﻯ ﻟﻜﻨﻬﺎ ﻏﻴﺭ ﻀﺭﻭﺭﻴﺔ ﻤﺜﻼﹰ LOG_ARCHIVE_FORMAT ﻫﺫﺍ ﺍﻟﻤﺘﻐﻴﺭ ﻟﺘﺤﺩﻴﺩ ﺍﻟﻔﻭﺭﻤﺎﺕ ﺍﻟﺘﻲ ﻴﺨﺭﺝ ﺒﻬﺎ ﻤﻠﻑ

    اﻷﺭﺸﻴﻑ.

     

    ﺏ- ﻨﻐﻠﻕ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﻨﻔﺘﺤﻬﺎ ﻓﻲ ﺍﻟﻭﻀﻊ Mount، ﺜﻡ ﻨﻨﻔﺫ ﺍﻷﻤﺭ ALTER DATABASE ARCHIVELOG.

     

    ALTER DATABASE ARCHIVELOG;

     

    ﺍﻵﻥ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺘﻌﻤل ﻓﻲ ﺍﻟﻨﻤﻁ ARCHIVELOG MODE .

    ﻴﻤﻜﻥ ﺍﻻﺴﺘﻌﻼﻡ ﺃﻴﻀﺎﹰ ﻋﻥ ﻋﻤل MODE ARCHIVELOG ﺒﻭﺍﺴﻁﺔ:

     

    SELECT ARCHIVER FROM V$INSTANCE;

     

    ﻟﺤﻅﺔ ﻋﻤل SWITCH LOGFILE ﻴﺘﻡ ﻋﻤل ﻨﺴﺦ ﻟﻤﻠﻑ ﺍلREDO LOG FILE  ﻟﻸﺭﺸﻴﻑ.

     

    ALTER SYSTEM SWITCH LOGFILE;

     

    ﻜﻤﺎ ﻴﻤﻜﻥ ﺍﻻﺴﺘﻌﻼﻡ ﻋﻥ ﻤﻠﻔﺎﺕ ﺍﻷﺭﺸﻴﻑ

     

    SELECT NAME FROM V$ARCHIVED_LOG;

     

    2- :تهيئة الFlash Recovery Area:

    ﺫﻜﺭﺕ ﺴﺎﺒﻘﺎﹰ ﺃﻥ ﺍلFlashback Logs ﻻ ﺘﺘﻡ ﺇﺩﺍﺭﺘﻪ ﺇﻻ ﻓﻲ ﺍلFlash Recovery Area ﻭﻫﻰ ﻤﻜﺎﻥ ﻴﺘﻡ ﺘﺨﺼﻴﺼﻪ ﺒﻭﺍﺴﻁﺔ ﺍﻟﻤﺘﻐﻴﺭ DB_RECOVERY_FILE_DEST ﻭﻴﺘﻡ ﺘﺤﺩﻴﺩ ﻤﺴﺎﺤﺔ ﻫﺫﺍ ﺍﻟﻤﻜﺎﻥ ﺍﻟﻤﺨﺼﺹ

    ﺒﻭﺍﺴﻁﺔ ﻫﺫﺍ ﺍﻟﻤﺘﻐﻴﺭ DB_RECOVERY_FILE_DEST_SIZE، ﺇﺫﺍﹰ ﻟﺘﻬﻴﺌﺔ ﺍل Flash Area Recovery ﻴﻠﺯﻤﻨﺎ ﺘﻬﻴﺌﺔ ﺍﻟﻤﺘﻐﻴﺭﺍﻥ( DB_RECOVERY_FILE_DEST_SIZE & DB_RECOVERY_FILE_DEST) .

     

    ALTER SYSTEM SET DB_RECOVERY_FILE_DEST=’D:\ORACLE\PRODUCT\10.1.0\ FLASH_RECOVERY_AREA;

     

    ﻟﻘﺩ ﻗﻤﻨﺎ ﺒﺘﻬﻴﺌﺔ ﺍلFlash Recovery Area ﻭﻴﻤﻜﻨﻨﺎ ﺍﻟﺘﺄﻜﺩ ﻤﻥ ﺫﻟﻙ ﻤﻥ ﺨﻼل ﺍﺴﺘﻌﺭﺍﺽ ﺍﻟﻤﺘﻐﻴﺭﺍﻥ

    (DB_RECOVERY_FILE_DEST & DB_RECOVERY_FILE_DEST_SIZE).

     

    SHOW PARAMETER DB_RECOVERY_FILE_DEST;

     

     

    3 - ﺘﺤﺩﻴﺩ ﻓﺘﺭﺓ ﺍﻻﺤﺘﻔﺎﻅ ﺒﺎلFlashback Log:

    ﻭﺫﻟﻙ ﻗﺒل ﺃﻥ ﻴﺘﻡ ﺍﺴﺘﺨﺩﺍﻤﻪ ﻭﺇﻋﺎﺩﺓ ﺍﻟﻜﺘﺎﺒﺔ ﻓﻴﻪ ﻤﺭﺓ ﺃﺨﺭﻯ ﻭﻴﺘﻡ ﺘﺤﺩﻴﺩ ﺫﻟﻙ ﺒﻭﺍﺴﻁﺔ ﺍﻟﻤﺘﻐﻴﺭ DB_FLASHBACK_RETENTION_TARGET ﻭﻫﻭ ﺯﻤﻥ ﺍﻻﺤﺘﻔﺎﻅ ﺒﺎﻟﺩﻗﺎﺌﻕ والقيمة الإفتراضية

    هي أن يتم الإحتفاظ لمدة يوم .

     

    ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=1440;

     

    ٤ - ﺇﻏﻼﻕ ﻭﻓﺘﺢ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻭﻀﻊ Mount:

    وﻤﻥ ﺜﻡ ﺘﻬﻴﺌﺔ ﺍلFlashback ﺒﻭﺍﺴﻁﺔ ﺍﻷﻤﺭ ALTER DATABASE FLASHBACK ON  

     

    ALTER DATABASE FLASHBACK ON;

     

    ﻫﻜﺫﺍ ﺍﻨﺘﻬﻴﻨﺎ ﻤﻥ ﺘﻬﻴﺌﺔ ﺍلFlashback.

    ﻟﻠﺘﺄﻜﺩ ﻤﻥ ﺘﻬﻴﺌﺔ ﺍلFlashback ﻨﻘﻭﻡ ﺒﻌﻤل ﺍﻻﺴﺘﻌﻼﻡ ﺍﻻﺘﻰ:

     

    SELECT FLASHBACK_ON FROM V$DATABASE;

     

    ﻟﻤﺭﺍﻗﺒﺔ ﺍلFlashback

     

    SELECT * FROM V$FLASHBACK_DATABASE_LOG;

     

    ﻟﻤﻌﺭﻓﺔ ﻜﻴﻔﻴﺔ ﺍﺴﺘﺨﺩﺍﻡ ﺍلFlashback Database ﻨﺘﺎﺒﻊ ﻤﻌﺎﹰ ﻫﺫﺍ ﺍﻟﺴﻴﻨﺎﺭﻴﻭ:

    1- ﻤﺩﻴﺭ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻗﺎﻡ ﺒﺤﺫﻑ ﺍﻟﻤﺴﺘﺨﺩﻡ TEST ﻋﻥ ﻁﺭﻴﻕ ﺍﻟﺨﻁﺄ.

     

    DROP USER TEST CASCADE;

     

    2- ﺇﻏﻼﻕ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﻓﺘﺤﻬﺎ ﻓﻲ ﺍﻟﻭﻀﻊ Mount ﻭﻤﻥ ﺜﻡ ﻋﻤل Flashback Database ﻟﻠﺯﻤﻥ 01-06-08:12-55-54 ﻭﻫﻭ ﺍﻟﻭﻗﺕ ﻤﺎ ﻗﺒل ﺤﺫﻑ ﺍﻟﻤﺴﺘﺨﺩﻡ TEST .

     

    FLASHBACK DATABASE TO TIMESTAMP TO_TIMESTAMP('17-06-08:12-55-54','DD-MM-YY:HH٤٢- MI-SS');

     

    3- ﻨﻔﺘﺢ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻭﻀﻊ Resetlogs .

     

    ALTER DATABASE OPEN RESETLOGS;

     

    4- ﺃﺨﻴﺭﺍﹰ ﻟﻨﺘﺄﻜﺩ ﻤﻥ ﻭﺠﻭﺩ ﺍﻟﻤﺴﺘﺨﺩﻡ TEST.

     

    SELECT USERNAME FROM DBA_USERS WHERE USERNAME='TEST';

     

    ﺃﻤﺎ ﺇﺫﺍ ﻟﻡ ﻨﻜﻥ ﻨﻌﺭﻑ ﻤﺜﻼﹰ ﻭﻗﺕ ﺤﺫﻑ ﺍﻟﻤﺴﺘﺨﺩﻡ TEST ﻓﻠﻴﺱ ﻋﻨﺩﻨﺎ ﺤل ﺴﻭﺍﺀ ﺍﻟﺘﺨﻤﻴﻥ ﻭﻤﻥ ﺜﻡ ﻓﺘﺢ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻭﻀﻊ Read Only ﻭﺍﻟﺘﺄﻜﺩ ﻤﻥ ﺠﺩﻭﻯ ﺍﻻﺴﺘﺭﺠﺎﻉ ﻭﻗﺩ

    ﻨﻠﺠﺄ ﻹﻏﻼﻕ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻭﻓﺘﺤﻬﺎ ﻤﺭﺓ ﺃﺨﺭﻯ ﻭﻤﻥ ﺜﻡ ﺇﻋﺎﺩﺓ ﺍلFlashback Database ﻟﻭﻗﺕ ﺃﺨﺭ، ﻭﻻ ﻨﻔﺘﺢ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻤﺒﺎﺸﺭﺓ ﻓﻲ ﺍﻟﻭﻀﻊ Resetlogs ﻷﻥ ﺍﻟﺨﻴﺎﺭ Restlogs

    ﻴﻘﻭﻡ ﺒﺈﻋﺎﺩﺓ ﺘﻬﻴﺌﺔ ﺍلLog Sequence Number ﻭﻴﺒﺩﺃ ﺒﺄﺨﺫ ﺍﻟﻘﻴﻤﺔ (001) ﻤﻥ ﺠﺩﻴﺩ.

     

    ----------------------------------------