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 Query

    ﻫﺫﺍ ﺍﻟﻨﻭﻉ ﻤﺘﺎﺡ ﻤﻨﺫ ﺍﻹﺼﺩﺍﺭ Oracle9i ﺒﺤﻴﺙ ﻨﺴﺘﻁﻴﻊ ﻤﻥ ﺨﻼﻟﻪ ﻋﻤل ﺍﺴﺘﻌﻼﻡ ﻓﻲ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻟﻴﺱ ﻟﻠﺒﻴﺎﻨﺎﺕ ﺍﻟﻤﻭﺠﻭﺩﺓ ﺤﺎﻟﻴﺎﹰ ﻭﺇﻨﻤﺎ ﻟﺒﻴﺎﻨﺎﺕ ﻤﻭﺠﻭﺩﺓ ﻓﻲ ﻟﺤﻅﺔ ﺯﻤﻨﻴﺔ ﻓﻲ ﺍﻟﻤﺎﻀﻲ،

    ﻭﻴﻌﺘﻤﺩ ﻫﺫﺍ ﺍﻟﻨﻭﻉ ﺃﺴﺎﺴﺎﹰ ﻋﻠﻰ ﺍلUndo Tablespace، ﻓﺒﻤﺠﺭﺩ ﻋﻤل ﺍﻻﺴﺘﻌﻼﻡ ﻴﺘﻡ ﺍﻟﺒﺤﺙ ﻋﻥ ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﻓﻲ ﺍلUndo Segments، ﻫﺫﻩ ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﺍﻟﺘﻲ ﺴﺘﻌﺭﺽ ﻟﻠﻤﺴﺘﺨﺩﻡ ﺘﻅل ﻤﺅﻗﺘﺔ

    ﻭﻤﺘﺎﺤﺔ ﻓﻘﻁ ﻟلSession ﺍﻟﺤﺎﻟﻴﺔ، ﺒﺎﻟﻁﺒﻊ ﻓﻘﺩ ﺘﻔﺸل ﻋﻤﻠﻴﺔ ﺍلFlashback Query ﺇﺫﺍ ﻟﻡ ﺘﺠﺩ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺍﻟﻤﻁﻠﻭﺒﺔ ﻓﻲ ﺍلUndo Tablespace ﻤﺜﻼﹰ ﺒﺴﺒﺏ ﻁﻭل ﺍﻟﻤﺩﺓ ﻭﺇﻋﺎﺩﺓ ﻜﺘﺎﺒﺔ ﺒﻴﺎﻨﺎﺕ ﺠﺩﻴﺩﺓ

    ﻓﻲ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺍﻟﻤﻁﻠﻭﺒﺔ ﻟﺫﺍ ﻋﻠﻰ ﻤﺩﻴﺭ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺘﺤﺩﻴﺩ ﻓﺘﺭﺓ ﺍﺤﺘﻔﺎﻅ Retention ﻤﻨﺎﺴﺒﺔ .

    ﻭﻟﻨﺘﺼﻭﺭ ﺍﻵﻥ ﺍﻟﺴﻴﻨﺎﺭﻴﻭ ﺍﻟﺘﺎﻟﻲ ﺤﺘﻰ ﻨﺴﺘﻭﻋﺏ ﻋﻤﻠﻴﺔ ﺍلFlashback Query ﺒﺼﻭﺭﺓ ﺃﻭﻀﺢ:

    ﻟﺩﻴﻨﺎ ﺍﻵﻥ ﺠﺩﻭل ﻴﺴﻤﻰ Employee ﻴﺤﺘﻭﻯ ﻋﻠﻰ ﻤﺠﻤﻭﻋﺔ ﻤﻥ ﺍﻟﺤﻘﻭل.

     

    SELECT * FROM EMPLOYEE;

     

    ﺍﻟﺠﺩﻭل EMPLOYEE ﻴﺤﺘﻭﻯ ﻋﻠﻰ 8 ﺤﻘﻭل.

    ﻟﻨﻔﺘﺭﺽ ﺃﻥ ﺍﻟﻤﺴﺘﺨﺩﻡ ﻗﺎﻡ ﺒﺤﺫﻑ ﺒﻌﺽ ﺍﻟﺤﻘﻭل .

     

    DELETE EMPLOYEE WHERE EMP_NO IN (1,5,7);

     

    ﺍﻵﻥ ﻟﻭ ﻗﻤﻨﺎ ﺒﺎﺴﺘﻌﺭﺍﺽ ﺍﻟﺠﺩﻭل سنجد 5 حقول فقط .

    ﻤﺎﺫﺍ ﻟﻭ ﻗﻤﻨﺎ ﺍﻵﻥ ﺒﻌﻤل ﺍﺴﺘﻌﻼﻡ ﻋﻠﻰ ﺍﻟﺠﺩﻭل ﻭﻟﻜﻥ ﻓﻲ ﻓﺘﺭﺓ ﺯﻤﻨﻴﺔ ﻓﻲ ﺍﻟﻤﺎﻀﻲ ﻭﻟﻨﻔﺘﺭﺽ ﺃﻨﻬﺎ ﻗﺒل 20 دقيقة .

    ﺒﺎﻟﻁﺒﻊ ﺴﻴﺒﺤﺙ ﻋﻥ ﻫﺫﻩ ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﻓﻲ ﺍلUndo segments ﻭﻴﻘﻭﻡ ﺒﻌﺭﻀﻬﺎ، ﺃﻤﺎ ﺇﺫﺍ ﻟﻡ ﻴﺠﺩﻫﺎ ﻓﺴﺘﻅﻬﺭ ﺭﺴﺎﻟﺔ ﺨﻁﺄ .

     

    SELECT * FROM EMPLOYEE AS OF TIMESTAMP

    TO_TIMESTAMP ('23-06-08:03-33-38','DD-MM- YY:HH٤٢-MI-SS');

     

    ستكون ﻨﺘﻴﺠﺔ ﺍﻻﺴﺘﻌﻼﻡ، ﻋﺭﺽ 8 ﺤﻘﻭل، ﻟﻜﻥ ﻤﺎ ﻫﻭ ﻤﺘﺎﺡ ﺤﺎﻟﻴﺎﹰ ﻫﻭ 5 ﺤﻘﻭل ﻓﻘﻁ. ﻫﻜﺫﺍ ﻗﻤﻨﺎ ﺒﻌﺭﺽ ﻤﻌﻠﻭﻤﺎﺕ ﻓﻲ ﺍﻟﻤﺎﻀﻲ، ﻟﻜﻥ ﻤﺎﺫﺍ ﻟﻭ ﺃﺭﺩﻨﺎ ﺃﻥ ﻨﺄﺘﻲ ﺒﻬﺫﻩ ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﻓﻲ ﺍﻟﺤﺎﻀﺭ

    ﺃﻱ ﺘﻅل ﻫﺫﻩ ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﻤﻭﺠﻭﺩﺓ ﻓﻲ ﺍﻟﺠﺩﻭل، ﻴﻤﻜﻥ ﺃﻥ ﻨﻨﺸﺊ ﺠﺩﻭل ﺠﺩﻴﺩ ﻤﻥ ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﺍﻟﻤﺴﺘﻌﺭﻀﺔ ﻭﻤﻥ ﺜﻡ ﻨﻘﻭﻡ ﺒﺤﺫﻑ ﺍﻟﺠﺩﻭل Employee ﻭﺇﻋﺎﺩﺓ ﺘﺴﻤﻴﺔ ﺍﻟﺠﺩﻭل ﺍﻟﺠﺩﻴﺩ ﺇﻟﻰ Employee1 .

     

    CREATE TABLE EMPLOYEE1 AS (SELECT * FROM EMPLOYEE AS OF TIMESTAMP

    TO_TIMESTAMP ('23-06-08:03-33-38','DD-MM- YY:HH٤٢-MI-SS'));

     

    ﺍﻵﻥ ﻨﻘﻭﻡ ﺒﺤﺫﻑ ﺍﻟﺠﺩﻭل Employee .

     

    DROP TABLE EMPLOYEE;

     

    ﺜﻡ ﻨﻘﻭﻡ ﺒﺈﻋﺎﺩﺓ ﺘﺴﻤﻴﺔ ﻟﻠﺠﺩﻭل EMPLOYEE1 ﺇﻟﻰ EMPLOYEE .

     

    RENAME EMPLOYEE1 TO EMPLOYEE;

     

    ﺍﻵﻥ ﺍﻟﺠﺩﻭل EMPLOYEE ﻴﺤﺘﻭﻯ ﻋﻠﻰ ﺍﻟﻤﻌﻠﻭﻤﺎﺕ ﺍﻟﺘﻲ ﻜﺎﻨﺕ ﺒﻪ ﻤﻨﺫ 20 ﺩﻗﻴﻘﺔ.

    ﻓﻲ ﺍﻟﺨﻁﻭﺍﺕ ﺍﻟﺴﺎﺒﻘﺔ ﻗﻤﻨﺎ ﺒﻌﻤل ﺍﺴﺘﻌﻼﻡ ﻓﻲ Session ﻤﻌﻴﻨﺔ ﻋﻥ ﺒﻴﺎﻨﺎﺕ ﻓﻲ ﻟﺤﻅﺔ ﻤﻌﻴﻨﺔ ﻓﻲ ﺍﻟﻤﺎﻀﻲ، ﻭﻟﻜﻥ ﻤﻥ ﺍﻟﻤﻤﻜﻥ ﻜﺫﻟﻙ ﺃﻥ ﻨﻀﻊ ﻜل ﻫﺫﻩ ﺍلٍSessions ﻓﻲ ﻟﺤﻅﺔ ﻤﻌﻴﻨﺔ ﻤﻥ ﺍﻟﻤﺎﻀﻲ،

    ﺒﺤﻴﺙ ﺘﻜﻭﻥ ﻨﺘﻴﺠﺔ ﺠﻤﻴﻊ ﺍﻻﺴﺘﻌﻼﻤﺎﺕ ﻟﻘﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻤﻥ ﺨﻼل ﻫﺫﻩ ﺍلٍSession ﻓﻲ ﻨﻘﻁﺔ ﻤﻌﻴﻨﺔ ﻤﻥ ﺍﻟﻤﺎﻀﻲ ﻴﺘﻡ ﺘﺤﺩﻴﺩﻫﺎ ﺇﺜﻨﺎﺀ ﻋﻤل ﺍلFlashback،

    ﻭﻟﻜﻥ ﺒﺎﻗﻲ ﺍلٍSessions ﺍﻟﺘﻲ ﺘﻌﻤل ﻋﻠﻰ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﺘﺭﻯ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﺍﻟﻭﻗﺕ ﺍﻟﺤﻘﻴﻘﻲ ﺍﻵﻥ؛ ﻤﺎ ﻋﺩﺍ ﻫﺫﻩ ﺍلSession ﺍﻟﺘﻲ ﺘﺭﻯ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻓﻲ ﻟﺤﻅﺔ ﻤﻌﻴﻨﺔ ﻤﻥ ﺍﻟﻤﺎﻀﻲ،

    ﻴﺘﻡ ﺫﻟﻙ ﻤﻥ ﺨﻼل ﺍﻟﺤﺯﻤﺔ DBMS_FLASHBACK .

     

    ﻟﻠﺭﺠﻭﻉ ﺒﺎلSession ﺍﻟﺤﺎﻟﻴﺔ ﻟﻠﻤﺎﻀﻲ ﻴﻭﻤﺎﹰ ﻜﺎﻤﻼﹰ ﻨﻘﻭﻡ ﺒﺘﻨﻔﻴﺫ ﺍﻹﺠﺭﺍﺀ PROCEDURE ENABLE_AT_TIME الموجود في الحزمة DBMS_FLASHBACK PACKAGE .

     

    DECLARE

    QUERY_TIME TIMESTAMP;

    BEGIN

    QUERY_TIME := TO_TIMESTAMP(SYSDATE -1);

    SYS.DBMS_FLASHBACK.ENABLE_AT_TIME ( QUERY_TIME);

    COMMIT;

    END;

    /

     

    ﻫﻜﺫﺍ ﺨﻼل ﻫﺫﻩ ﺍلSession ﺠﻤﻴﻊ ﺍﻻﺴﺘﻌﻼﻤﺎﺕ ﺘﺭﻯ ﻗﺎﻋﺩﺓ ﺍﻟﺒﻴﺎﻨﺎﺕ ﻜﻤﺎ ﻟﻭ ﻜﻨﺎ ﺒﺎﻷﻤﺱ .

    ﻻﺒﺩ ﻤﻥ ﺍﻹﺸﺎﺭﺓ ﺇﻟﻰ ﺃﻨﻪ ﻤﻥ ﺨﻼل ﻫﺫﺍ ﺍﻟﻨﻤﻁ ﻻ ﻴﻤﻜﻥ ﺇﺠﺭﺍﺀ ﻋﻤﻠﻴﺎﺕ ﺍلDML ﻤﺎﻋﺩﺍ  SELECT .

     

    ﻴﻤﻜﻥ ﺇﻟﻐﺎﺀ ﻫﺫﺍ ﺍﻟﻨﻤﻁ ﺒﻭﺍﺴﻁﺔ ﺍﻹﺠﺭﺍﺀ DISABLE ﺍﻟﻤﻭﺠﻭﺩ ﻓﻲ ﺍﻟﺤﺯﻤﺔ DBMS_FLASHBACK .

     

    BEGIN

    SYS.DBMS-FLASHBACK.DISABLE;

    COMMIT;

    END;

    /

     

    ﻫﻜﺫﺍ ﻗﻤﻨﺎ ﺒﺈﻟﻐﺎﺀ ﺍﻟﻨﻤﻁ Flashback .

     

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