資料庫管理員與開發人員專屬主題
此頁面上的命令檔內容僅適用於瀏覽用途,而且無法利用任何方式來更改內容。
本章概述對資料庫管理員和開發人員而言相當重要的通用資料庫主題,並提供其他手冊的指標,而非資料庫功能的詳細帳戶。
-
資料庫安全簡介一般而言,資料庫安全涉及使用者認證、加密、存取控制及監督。
-
高可用性總覽:應用程式、服務或功能可視需要提供。
-
網格運算簡介 稱為網格運算的運算架構可有效地將大量伺服器和儲存集區匯集成彈性、隨選的資源,以滿足所有企業運算需求。
-
資料倉儲與商業智慧概要 資料倉儲是專為查詢與分析而設計的關聯式資料庫,而非交易處理。
-
Oracle Information Integration 概要隨著組織的發展,在多個資料庫和應用程式之間共用資訊變得越來越重要。另請參閱:資料庫管理員的概念,瞭解 DBA 的特定主題,以及資料庫開發人員的概念,瞭解資料庫開發人員的特定主題。
資料庫安全總覽
一般而言,資料庫安全性涉及使用者驗證、加密、存取控制及監控。
本節包含下列主題:
-
使用者帳戶 每一個 Oracle 資料庫都有一份有效的資料庫使用者清單。
-
資料庫認證 在 Oracle AI Database 中,資料庫認證是使用者向資料庫提供認證的程序,它會驗證認證並允許存取資料庫。
-
加密 Oracle AI Database 加密是使用秘密金鑰和加密演算法,將資料轉換成無法讀取格式的程序。
-
Oracle Data Redaction Oracle Data Redaction 是 Oracle Advanced Security 的一部分,可讓您遮罩 (隱匿) 低權限使用者或應用程式所查詢的資料。當使用者查詢資料時,會即時進行隱匿。
-
存取控制 Oracle AI Database 提供許多控制資料存取的技術。本節概述其中一些技巧。
-
資料存取監控 Oracle AI Database 提供多種工具和技術來監控使用者活動。稽核是監督資料存取的主要機制。
使用者帳戶
每一個 Oracle 資料庫都有一份有效資料庫使用者清單。
資料庫包含數個預設帳戶,包括預設管理帳戶 SYSTEM。您可以視需要建立使用者帳號。您也可以設定應用程式使用者存取 Oracle 資料庫。
若要存取資料庫,使用者必須提供有效的使用者名稱和認證證明資料。此證明資料可以是密碼、Kerberos 憑證或公用金鑰基礎架構 (PKI) 憑證。您可以根據失敗的登入嘗試設定資料庫安全性來鎖定帳戶。
一般而言,資料庫存取控制涉及限制資料存取和資料庫活動。例如,您可以限制使用者查詢指定的表格,或執行指定的資料庫敘述句。
-
權限:使用者權限是執行特定 SQL 敘述句的權限。
-
角色:角色是擁有相關權限的具名群組,使用者可以將該群組授予其他使用者或角色。角色可協助管理資料庫應用程式或使用者群組的權限。
-
權限分析:權限分析機制會根據指定的條件擷取資料庫的權限使用狀況。
-
使用者設定檔:在系統資源的相關資訊環境中,使用者設定檔是一組指定的資源限制和密碼參數,可限制使用者的資料庫使用狀況和資料庫執行處理資源。
另請參閱:
權限
使用者權限是執行特定 SQL 敘述句的權利。
權限分為下列類別:
-
系統權限
這是在資料庫中執行特定動作,或在特定類型的任何物件上執行動作的權利。例如,
CREATE USER和CREATE SESSION是系統權限。 -
結構權限
這是對特定綱要內的所有物件使用系統權限的權限。此權限會套用至綱要中的所有目前與未來物件。
-
物件權限
這是對物件執行特定動作 (例如查詢
employees表格) 的權限。權限類型是由資料庫定義。
權限會由其他使用者自行決定授予使用者。管理員應將權限授予使用者,讓他們能夠完成工作所需的作業。良好的安全措施包括僅將權限授予需要該權限才能完成必要工作的使用者。
另請參閱:
- Oracle AI Database Reference,瞭解
SESSION_PRIVS檢視
角色
角色是擁有相關權限的具名群組,使用者可以將該群組授予其他使用者或角色。角色可協助管理資料庫應用程式或使用者群組的權限。圖 20-1 說明角色的通用用途。角色 PAY_CLERK、MANAGER 和 REC_CLERK 會指派給不同的使用者。應用程式角色 ACCTS_PAY (包含執行 ACCTS_PAY 應用程式的權限) 會指派給具有 PAY_CLERK 和 MANAGER 角色的使用者。應用程式角色 ACCTS_REC (包含執行 ACCTS_REC 應用程式的權限) 會指派給具有 REC_CLERK 和 MANAGER 角色的使用者。
圖 1:角色的通用用法

另請參閱:
-
Oracle AI Database Security Guide,瞭解如何使用安全角色
權限分析
權限分析機制會根據指定的條件擷取資料庫的權限使用狀況。
如此一來,您就可以擷取執行應用程式模組或執行特定 SQL 敘述句所需的權限。例如,您可以找到使用者在特定資料庫階段作業期間行使的權限。
在實際執行資料庫中,權限與角色、角色、以及角色與使用者之間的關係可能會非常複雜。權限分析可讓您識別在複雜系統中不必要授予的權限。根據所擷取結果的分析,您可以移除不必要的授權或重新設定權限授權,讓資料庫更安全。
另請參閱:Oracle AI Database Security Guide 以瞭解權限分析。
使用者設定檔
在系統資源的相關資訊環境中, user profile 是一組指定的資源限制,以及密碼參數,可限制使用者的資料庫使用狀況與資料庫執行處理資源。
設定檔可以限制使用者的並行階段作業數目、每個階段作業可用的 CPU 處理時間,以及可用的邏輯 I/O 量。例如,clerk 設定檔可將使用者限制為文法工作所需的系統資源。注意:建議您使用「資料庫資源管理程式」來限制資源,以及使用設定檔來管理密碼。
設定檔會為共用一組屬性的使用者提供單一參照點。您可以將設定檔指派給一組使用者,以及將預設設定檔指派給其他使用者。每個使用者在任一時間點最多只能指派一個設定檔。
另請參閱:
-
「緩衝區 I/O 」
-
Oracle AI Database Security Guide,瞭解如何使用設定檔管理資源
-
Oracle AI Database SQL Language Reference,瞭解
CREATE PROFILE的語法和語意
資料庫認證
在 Oracle AI Database 中,資料庫認證是使用者向資料庫提供認證的程序,可驗證認證並允許存取資料庫。
驗證身分識別資料後便能夠建立一個信任關係以進行後續的互動。認證也可以釐清責任歸屬,因為它可以根據身分識別連結至特定的存取內容與動作。
Oracle AI Database 提供不同的認證方法,包括:
-
由資料庫認證
Oracle 資料庫可以使用密碼、Kerberos 回報項目或 PKI 憑證來認證使用者。Oracle 也支援符合 RADIUS 標準的裝置,以進行其他形式的認證,包括生物測定。在 Oracle 資料庫中建立使用者時,必須指定認證類型。
-
作業系統認證
某些作業系統允許 Oracle AI Database 使用維護的資訊來驗證使用者。在由作業系統認證之後,使用者可以連線至資料庫,而不需要指定使用者名稱或密碼。
非管理資料庫使用者帳戶不得執行資料庫作業,例如關閉或啟動資料庫。這些作業需要 SYSDBA、SYSOPER、SYSBACKUP 或 SYSDG 權限。
另請參閱:
加密
Oracle AI Database 加密是使用秘密金鑰和加密演算法,將資料轉換成無法讀取格式的程序。
加密通常用來滿足監管合規要求,例如與支付卡產業資料安全標準 (PCI-DSS) 相關的要求或違反通知法律。例如,信用卡號碼、社會保全號碼或病患健康資訊必須加密。
網路加密
在用戶端與伺服器之間於網路間周遊時加密資料,稱為網路加密。
入侵者可能會使用網路封包快照來擷取資訊,當該訊息在網路上移動時,該訊息就會將該訊息排入該檔案,以供惡意使用。加密網路上的資料即可避免這類的活動。
通透資料加密
Oracle Advanced Security 透明資料加密可讓您加密個別的表格資料欄或表格空間。
當使用者將資料插入加密欄時,資料庫會自動加密資料。當使用者選取該欄時,資料將被解密。這種形式的加密方式是通透的,可提供高效能,而且很容易實作。
通透資料加密包括業界標準的加密演算法,例如進階加密標準 (AES) 和內建金鑰管理。
另請參閱:Oracle AI Database Transparent Data Encryption Guide
Oracle 資料隱匿
Oracle Data Redaction 是 Oracle Advanced Security 的一部分,可讓您遮罩 (隱匿) 低權限使用者或應用程式所查詢的資料。當使用者查詢資料時,會即時進行隱匿。
資料隱匿支援下列隱匿函數類型:
-
完整資料隱匿
在此情況下,資料庫會隱匿表格或視觀表中指定之資料欄的完整內容。例如,姓氏的
VARCHAR2資料欄會顯示單一空格。 -
局部資料隱匿
在此情況下,資料庫會隱匿顯示之輸出的部分。例如,應用程式可以將以
1234結尾的信用卡號碼顯示為xxxx-xxxx-xxxx-1234。您可以使用正規表示式來進行完整與局部隱匿。正規表示式可根據搜尋樣式隱匿資料。例如,您可以使用正規表示式來隱匿特定的電話號碼或電子郵件地址。 -
隨機資料隱匿
在此情況下,資料庫會根據資料欄的資料類型,將資料顯示為隨機產生的值。例如,數字
1234567可以顯示為83933895。
資料隱匿不是全方位的安全解決方案。例如,此功能無法防止直接連線且經過授權的使用者對隱匿的資料執行推論攻擊。這類攻擊會識別隱匿的資料欄,且經過抵消的處理作業會重複猜測的 SQL 查詢,以嘗試回到實際的資料。為了偵測及防止授權使用者的推論和其他攻擊,Oracle 建議您將 Oracle 資料隱匿與 Oracle Audit Vault and Database Firewall 和 Oracle Database Vault 等相關資料庫安全產品配對。
資料隱匿運作方式如下:
-
使用
DBMS_REDACT套裝程式可為指定的表格建立隱匿原則。 -
在原則中,指定預先定義的隱匿函數。
-
資料庫是否顯示資料欄的實際值或隱匿值,取決於原則。如果資料是隱匿的,則隱匿會立即發生在最上層選取清單,再向使用者顯示。
下列範例新增完整資料隱匿原則,以隱匿 hr.employees 表格的員工 ID (employee_id) 資料欄:
BEGIN
DBMS_REDACT.ADD_POLICY(
object_schema => 'hr'
, object_name => 'employees'
, column_name => 'employee_id'
, policy_name => 'mask_emp_ids'
, function_type => DBMS_REDACT.FULL
, expression => '1=1'
);
END;
/
在前面的範例中,評估為 true 的表示式設定會將隱匿套用至未被授予 EXEMPT REDACTION POLICY 權限的使用者。
另請參閱:
-
Oracle AI Database PL/SQL Packages and Types Reference,瞭解
DBMS_REDACT
存取控制
Oracle AI Database 提供許多技術來控制對資料的存取。本節概述其中一些技巧。
-
Oracle Database Vault 可限制授權的使用者存取應用程式資料。
-
虛擬專用資料庫 (VPD) Oracle Virtual Private Database (VPD) 可讓您在資料列與資料欄層次強制實行安全性。
-
Oracle Label Security (OLS) Oracle Label Security (OLS) 可讓您使用安全標籤來指派資料分類和控制存取。您可以指派標籤給資料或使用者。
Oracle Database Vault
Oracle Database Vault 可限制授權的使用者存取應用程式資料。
從 Oracle Database 12c 開始,Oracle Database Vault 擴充了標準資料庫稽核資料結構。此外,如果您移轉至統一稽核,則資料庫會將稽核記錄寫入 Oracle Secure Files 的統一稽核歷程檔,以集中 Oracle AI Database 的稽核記錄。
您可以使用 Oracle Database Vault 來控制資料庫、資料和應用程式的存取時間、地點和方式。因此,您可以解決常見的安全性問題,例如防止內部威脅、遵守法規要求,以及強制執行職責區分。
為了讓 Oracle Database Vault 管理員負責,資料庫會強制稽核對 Oracle Database Vault 描述資料所做的組態變更。這些變更包括建立、修改及刪除任何與 Oracle Database Vault 相關的強制實行、授予和撤銷受保護角色,以及元件 (例如 Oracle Data Pump 和工作排程器) 的授權。
另請參閱:
-
Oracle AI Database Security Guide,瞭解 Oracle Database Vault Audit 與 Oracle Database Native Audit 的整合
虛擬專用資料庫 (VPD)
Oracle Virtual Private Database (VPD) 可讓您在資料列與資料欄層次強制實行安全性。
安全原則可建立保護資料庫免於意外或惡意損毀資料或破壞資料庫基礎架構的方法。
當權限與角色等安全保護不足以微點時,VPD 很有用。例如,您可以允許所有使用者存取 employees 表格,但建立安全性政策以限制與使用者位於相同部門的員工存取權。
基本上,資料庫會將動態 WHERE 子句新增至針對套用 Oracle VPD 安全原則之表格、檢視或同義字發出的 SQL 敘述句。WHERE 子句只允許其證明資料通過安全原則的使用者存取受保護的資料。
另請參閱: Oracle AI Database Security Guide
Oracle Label Security (OLS)
Oracle Label Security (OLS) 可讓您使用安全標籤來指派資料分類和控制存取。您可以指派標籤給資料或使用者。
指定給資料時,標籤可以作為隱藏的資料欄附加至表格,提供 SQL 的透明度。例如,您可以將包含高度機密資料的資料列標示為 HIGHLY SENSITIVE,並將不敏感的資料列標示為 SENSITIVE。當使用者嘗試存取資料時,OLS 會比較使用者標籤與資料標籤,並決定是否要授予存取權。與 VPD 不同,OLS 提供立即可用的安全原則,以及定義和儲存標籤的描述資料儲存區域。
如果啟用統一稽核,則資料庫會提供以原則為基礎的架構來設定和管理稽核選項。您可以針對不同類型的作業 (包括 OLS 作業) 分組稽核選項,並另存為稽核原則。然後您就可以啟用或停用原則,以強制實行基礎稽核選項。
每當建立 OLS 原則時,資料庫都會新增原則的標籤資料欄至資料庫稽核歷程檔表格。OLS 稽核可將稽核記錄 (包括 OLS 管理員作業的記錄) 寫入統一稽核歷程檔。
資料存取監控
Oracle AI Database 提供多種工具和技術來監控使用者活動。稽核是監督資料存取的主要機制。
-
資料庫稽核資料庫稽核是監督和記錄選取的使用者資料庫動作。
-
統一稽核歷程檔稽核記錄對於偵測及識別未授權的資料存取至關重要。
-
Enterprise Manager 稽核支援 Oracle Enterprise Manager (Enterprise Manager) 可讓您執行大多數與稽核相關的作業。
-
Oracle Audit Vault and Database Firewall Oracle Audit Vault and Database Firewall (Oracle AVDF) 為資料庫提供第一道防線,並整合來自資料庫、作業系統和目錄的稽核資料。
資料庫稽核
資料庫稽核是監控和記錄選取的使用者資料庫動作。
您可以設定統一稽核原則來稽核下列各項:
-
SQL 敘述句、系統權限、綱要物件以及角色 (以直接授予它們的系統權限群組形式)
-
管理和非管理使用者
-
應用程式環境定義值
應用程式相關資訊環境是指定命名空間中的屬性名稱 - 值組。應用程式會先設定各種相關資訊環境,再對資料庫執行動作。例如,應用程式會儲存如模組名稱與用戶端 ID 等資訊,以指出應用程式事件的狀態。應用程式可以設定相關資訊環境,以便將相關資訊環境相關資訊附加至稽核記錄。
-
建立 Real Application Security、Oracle Database Vault、Oracle Label Security、Oracle Data Pump 以及 Oracle SQL*Loader 直接路徑事件的原則
統一稽核歷程檔可以擷取「復原管理程式」事件,您可以在 UNIFIED_AUDIT_TRAIL 資料說明視觀表中查詢這些事件。您不會為「復原管理程式」事件建立統一的稽核原則。
您也可以使用微點稽核來稽核特定表格資料欄,以及在建立原則時關聯事件處理程式。對於統一與微點稽核,您可以建立原則,針對擷取特定資料庫動作 (針對活動發生的一或多個表格) 的條件進行測試。例如,您可以稽核在下午 9:00 之後存取的表格。
稽核的原因包括:
-
啟用目前動作的未來問責制
-
根據使用者是否責信來區分使用者 (或其他人,例如侵入者)
-
調查、監控及記錄可疑活動
-
處理合規性的稽核需求
從 Oracle Database 12c 開始,當您使用統一稽核時,預設會啟用資料庫稽核。您可以透過啟用稽核原則來控制資料庫稽核。不過,您必須先將資料庫移轉至統一稽核,才能使用統一稽核。
-
稽核原則您可以使用單一 SQL 敘述句來建立指定的統一稽核原則,此原則指定一組稽核選項。這些選項可指定要在資料庫中稽核的系統權限、動作或角色。
-
稽核管理員角色若要執行稽核,您必須被授予適當的系統權限。
另請參閱:
-
Oracle AI Database Security Guide,瞭解統一稽核的詳細資訊
-
Oracle AI Database Upgrade Guide,瞭解如何移轉至統一稽核
稽核原則
您可以使用單一 SQL 敘述句來建立指定的統一稽核原則,指定一組稽核選項。這些選項可指定要在資料庫中稽核的系統權限、動作或角色。
在稽核原則中,您可以視需要設定可針對每個敘述句評估的條件、為階段作業評估一次,或為資料庫執行處理設定一次條件。事件的稽核取決於評估適用稽核原則之條件的結果。如果條件評估為 true,則資料庫會產生稽核記錄。
下列範例會建立稽核 hr.employees 表格上活動的原則,除非使用者從信任的終端機 term1 和 term2 登入:
CREATE AUDIT POLICY EmployeesTableAudit
ACTIONS update ON hr.employees, delete ON hr.employees
WHEN SYS_CONTEXT ("userenv", "hostname") NOT IN
("term1","term2") EVALUATE PER SESSION;
下列敘述句會啟用使用者 hr 和 hrvp 的原則:
AUDIT POLICY EmployeesTableAudit BY hr, hrvp;
您可以將統一稽核原則套用至任何資料庫使用者,包括 SYSDBA、SYSOPER 等管理使用者。不過,只有在使用 ALTER DATABASE OPEN 敘述句開啟資料庫之後,才能讀取稽核原則。因此,管理使用者的最上層動作一律會受到稽核,直到資料庫開啟為止。資料庫開啟之後,稽核原則組態就會生效。
如果啟用統一稽核,資料庫會自動稽核稽核對稽核設定值的變更。資料庫也會稽核資料庫執行處理啟動和關閉。
另請參閱:Oracle AI Database Security Guide,瞭解如何管理稽核原則
稽核管理員角色
若要執行稽核,您必須具備適當的系統權限。
Oracle AI Database 提供下列系統提供的稽核管理員角色:
-
AUDIT_ADMINAUDIT_ADMIN角色可管理資料庫的稽核設定值。具有此角色的使用者具有執行下列作業的權限:-
建立、更改及刪除稽核原則,包括微點稽核原則
-
啟用或停用每個業務需求的稽核原則
-
檢視稽核記錄
-
管理及清除稽核歷程檔
-
-
AUDIT_VIEWERAUDIT_VIEWER角色僅適用於需要檢視和分析資料的使用者。具備此角色的使用者只能檢視稽核歷程檔內容。
另請參閱:Oracle AI Database Security Guide 以深入瞭解稽核功能
統一稽核歷程檔
稽核記錄對於偵測及識別未經授權的資料存取非常重要。
Oracle AI Database 可以設定指定事件的稽核功能。如果該事件是在使用者階段作業期間發生,則資料庫會產生一筆稽核記錄。
稽核歷程檔是儲存稽核記錄的位置。統一稽核歷程檔是 Oracle Database 12c 中的新功能,可為所有稽核類型的稽核記錄提供統一的儲存體。您必須從舊版的傳統稽核歷程檔手動移轉至統一稽核。
稽核包括標準和微點稽核,也包括稽核下列事件,包括從管理使用者執行這些事件:
-
Oracle Data Pump
-
SQL*Loader 直接路徑載入
-
Oracle Database Vault
-
Oracle Label Security
-
復原管理程式
-
Real Application Security
統一稽核歷程檔是唯讀的,儲存在 AUDSYS 綱要中。依照預設,SYSAUX 表格空間會儲存所有來源的稽核記錄。您可以使用 DBMS_AUDIT_MGMT 套裝程式來提供新表格空間。
UNIFIED_AUDIT_TRAIL 視觀表會從稽核歷程檔擷取稽核記錄,並以列表化形式顯示這些記錄。APPLICATION_CONTEXTS 資料欄儲存設定之應用程式相關資訊環境屬性的值。您可以使用 AUDIT 敘述句,在稽核記錄中包含相關資訊環境屬性的值。例如,下列敘述句會從 userenv 命名空間擷取 MODULE 和 CLIENT_INFO 屬性:
AUDIT CONTEXT NAMESPACE userenv ATTRIBUTES MODULE, CLIENT_INFO BY hr;
視稽核的元件 (例如 Oracle Database Vault) 而定,可使用額外的統一稽核歷程檔相關檢視。
另請參閱:
-
Oracle AI Database Security Guide,瞭解統一稽核歷程檔
-
Oracle AI Database Upgrade Guide,瞭解如何移轉資料庫以使用統一稽核
-
Oracle AI Database Reference,瞭解
UNIFIED_AUDIT_TRAIL檢視
Enterprise Manager 稽核支援
Oracle Enterprise Manager (Enterprise Manager) 可讓您執行與稽核有關的工作。
任務包含以下幾項:
-
啟用和停用稽核
-
稽核敘述句和綱要物件時管理物件
例如,Enterprise Manager 可讓您顯示及搜尋目前稽核之敘述句、權限以及物件的特性。
-
檢視和設定稽核相關初始化參數
-
顯示稽核報表
另請參閱:Enterprise Manager 線上說明
Oracle Audit Vault and Database Firewall
Oracle Audit Vault and Database Firewall (Oracle AVDF) 為資料庫提供第一道防線,並合併資料庫、作業系統和目錄的稽核資料。
SQL 文法式引擎會先監督和封鎖未授權的 SQL 流量,再到達資料庫。為了合規報告和警報,Oracle AVDF 會將來自網路的資料庫活動資料與詳細的稽核資料結合。您可以量身打造稽核和監控控制,以滿足企業安全需求。
另請參閱:Oracle AI Database Security Guide,瞭解其他安全資源,例如 Oracle Audit Vault and Database Firewall
高可用性總覽
可用性是應用程式、服務或功能在需要時可用的程度。
例如,線上書商使用的 OLTP 資料庫,在客戶進行採購時可以存取該資料庫。可靠性、可恢復性、及時錯誤偵測和連續作業都是高可用性的主要特性。
高可用性在資料庫環境中的重要性,會與停機的成本相關,也就是無法使用資源的時間。停機時間可分類為計畫或非計畫。設計高可用性環境的主要挑戰是檢查停機的所有可能原因,並制定計畫來處理這些停機事件。
-
高可用性和非計畫性停機時間 Oracle AI Database 為所有類型的非計畫性故障提供高可用性解決方案,以防止、容忍和縮短停機時間。
-
高可用性和計畫性停機時間:計畫性停機時間可能會與營運中斷一樣,尤其是在支援多個時區使用者的全球企業中。在此情況下,請務必設計系統,將規劃的中斷 (例如例行作業、定期維護和新部署) 降到最低。
高可用性和非計畫性停機時間
Oracle AI Database 為所有類型的非計畫性故障提供高可用性解決方案,以防止、容忍及縮短停機時間。
非計畫性停機時間可以依原因分類。
-
網站失敗:當事件導致應用程式的所有或大部份停止處理或緩慢到無法使用的服務層次時,就會發生網站失敗。
-
電腦失敗:當執行資料庫的系統因為關閉或無法再存取而無法使用時,會發生電腦故障中斷。
-
儲存體失敗:當儲存體中含有部分或所有資料庫內容,因為儲存體已經關閉或無法再存取而無法使用時,就會發生儲存體失敗中斷。儲存失敗的範例包括磁碟機或儲存體陣列的失敗。
-
資料損毀:當硬體、軟體或網路元件導致讀取或寫入損毀的資料時,就會發生資料損毀。
-
人為錯誤:確認無意或惡意的動作導致資料庫中的資料在邏輯上損毀或無法使用時,會發生人為錯誤中斷。人為錯誤中斷的服務層次影響會因受影響資料的數量和嚴重性而有顯著差異。
站點失敗
當事件導致應用程式的所有或大部份停止處理或緩慢到無法使用的服務層次時,就會發生網站失敗。
站台故障可能會影響資料中心的所有處理,或資料中心支援的應用程式子集。範例包括擴充的全網站電源或網路故障、使資料中心無法運作的自然災害,或是對作業或網站的惡意攻擊。
防止網站失敗的最簡單保護方式是使用 RMAN 建立資料庫備份,然後將它們儲存在異地。您可以將資料庫回復至其他主機。不過,這種技術可能很耗時,而且備份可能不是最新的。在「資料保全」環境中維護一或多個待命資料庫,可讓您在生產環境網站失敗時,提供連續的資料庫服務。
另請參閱:
-
Oracle AI Database Backup and Recovery User's Guide,瞭解 RMAN 和備份與復原解決方案的相關資訊
電腦失敗
執行資料庫的系統因為已關閉或無法再存取而無法使用,而導致電腦故障中斷。
電腦失敗的範例包括硬體與作業系統失敗。下表中的 Oracle 功能可以防止或協助回應電腦失敗。
表 1 對電腦故障的防護
| 功能 | 說明 | 深入瞭解 |
|---|---|---|
| 企業方格 | 在 Oracle Real Applications Cluster (Oracle RAC) 環境中,Oracle AI Database 會在叢集中的兩個或多個系統上執行,同時存取單一共用資料庫。單一資料庫系統會跨多個硬體系統,但以單一資料庫的方式對應用程式顯示。 | 「方格運算概要」 |
| Oracle Data Guard | 「資料保全」可讓您維護生產環境資料庫的一或多個複本 (稱為待命資料庫 ),這些複本可以位於不同的洲或相同的資料中心。如果主要資料庫因停機而無法使用,則「資料保全」可以將任何待命資料庫切換至主要角色,將停機時間降到最低。 | Oracle Data Guard 概念和管理 |
| 全域資料服務 | 「全球資料服務」架構可將資料庫雲端的組態、維護及監控自動化並集中化。「全域資料服務」可針對雲端提供的服務啟用負載平衡和容錯移轉。「全域資料服務」基本上提供一組資料庫,其優點與 Oracle Real Application Clusters (Oracle RAC) 提供單一資料庫相同。 | Oracle AI Database 全球資料服務概念與管理指南 |
| 快速入門錯誤復原 | 非計畫性停機的常見原因是系統故障或故障。Oracle AI Database 中的快速啟動錯誤復原技術會自動限制資料庫執行處理復原時間。 | Oracle AI Database Performance Tuning Guide |
儲存失敗
當存放部分或所有資料庫內容的儲存體因為關閉或無法再存取而無法使用時,就會發生儲存體失敗中斷。儲存失敗的範例包括磁碟機或儲存體陣列的失敗。
下表顯示除了 Oracle Data Guard 之外的儲存體失敗。
表格 2 儲存失敗解決方案
| 解決方案 | 說明 | 深入瞭解 |
|---|---|---|
| Oracle Automatic Storage Management (Oracle ASM) | Oracle ASM 是 Oracle 資料庫檔案的磁碟區管理程式和檔案系統,支援單一執行處理 Oracle AI Database 和 Oracle RAC 組態。Oracle ASM 是 Oracle 建議的儲存管理解決方案,可替代傳統磁碟區管理員及檔案系統。 | "Oracle Automatic Storage Management (Oracle ASM) " |
| 備份與復原 | 「復原管理程式 (RMAN)」公用程式可備份資料、從先前的備份回復資料,以及復原對該資料的變更,直到發生失敗為止。 | 「備份與復原」 |
另請參閱:Oracle Automatic Storage Management Administrator's Guide,瞭解有關 Oracle ASM 的詳細資訊
資料損毀
當硬體、軟體或網路元件導致讀取或寫入損毀的資料時,就會發生資料損毀。
資料毀損的範例如磁碟區管理員錯誤,導致磁碟讀取或寫入錯誤。資料損毀很少見,但可能對資料庫造成災難性的影響,因此也可能是業務。
除了 Data Guard and Recovery Manager 之外,Oracle AI Database 還支援下列形式的保護,以防止資料損毀:
-
遺失寫入問題的解決方案
當 I/O 子系統在未進行寫入時,認可完成資料區塊,就會發生遺失寫入。在後續的區塊讀取時,I/O 子系統會傳回過時的資料區塊版本,此版本可能會用來更新資料庫的其他區塊,因而損毀資料區塊。Oracle AI Database 解決方案如下:
-
使用待命資料庫遺失寫入保護
在 Oracle Database 11g 中引進的標準遺失寫入保護中,您可以在主要資料庫和待命資料庫上啟用
DB_LOST_WRITE_PROTECT初始化參數。每一筆資料庫記錄會在線上重做日誌中讀取緩衝區快取區塊。當待命資料庫在受管理復原期間套用重做時,會讀取對應的區塊,然後將 SCN 與重做日誌中的 SCN 進行比較,以偵測差異。 -
使用陰影表格空間遺失寫入保護
如需陰影遺失寫入保護,請建立陰影表格空間。陰影表格空間中包含追蹤資料檔中每個資料區塊的簡短描述記錄 (包括 SCN)。
如果啟用陰影遺失寫入保護 (
ALTER DATABASE ENABLE LOST WRITE TRACKING),且資料庫更新了追蹤的資料區塊,則資料庫會將 SCN 寫入對應的陰影表格空間。讀取追蹤的資料區塊時,資料庫會查詢陰影項目,然後將它與追蹤的區塊做比較。如果陰影項目的 SCN 大於追蹤區塊,則表示發生遺失的寫入。陰影遺失寫入保護的優點在於在不使用待命資料庫的情況下偵測遺失的寫入。此外,因為待命資料庫遺失寫入保護的延遲固有問題,當偵測到遺失寫入時,此區塊可能已經損毀資料庫的其他部分。為了避免資料損毀,陰影遺失寫入保護會在使用資料之前偵測遺失的寫入。
-
-
資料區塊毀損偵測
區塊損毀是指不是採用可辨識 Oracle 格式,或是其內容不符合內部一致的資料區塊。數個資料庫元件和公用程式 (包括 RMAN) 可以偵測損毀的區塊,並在
V$DATABASE_BLOCK_CORRUPTION中記錄。如果環境使用 Active Data Guard 待命資料庫,則可以自動修復損毀。 -
交易保全與應用程式連續性
資料庫階段作業中斷 (不論是已計畫或未計畫) 可能會讓一般使用者不確定其工作的狀態。在某些情況下,使用者可以重新提交已確認的交易,導致邏輯資料損毀。交易保全提供交易冪等,可讓資料庫保留保證的確認結果,指出交易是否已確認和已完成。應用程式連續性 (包括 Transaction Guard) 可讓應用程式在發生可復原的錯誤後,針對資料庫重新執行交易,以及繼續關閉交易的位置。
另請參閱:
-
「交易保全簡介」
-
Oracle AI Database Backup and Recovery User's Guide,瞭解 RMAN 和備份與復原解決方案的相關資訊
人為錯誤
確認無意或惡意動作導致資料庫中的資料在邏輯上損毀或無法使用時,就會發生人為錯誤中斷。人為錯誤中斷的服務層次影響會因受影響資料的數量和嚴重性而有顯著差異。
許多研究認為人為錯誤是造成停機的最大原因。Oracle AI Database 提供強大的工具,協助管理員快速診斷和復原這些錯誤。它也包含讓一般使用者無須管理員介入即可從問題中復原的功能。
Oracle AI Database 建議下列形式的保護,避免人為錯誤:
-
使用者存取限制
防止錯誤的最佳方式是限制使用者對資料和服務的存取。Oracle AI Database 提供廣泛的安全性工具,透過驗證使用者來控制使用者對應用程式資料的存取,然後允許管理員僅授予使用者執行其職責所需的權限。
-
Oracle Flashback 技術
Oracle Flashback Technology 是 Oracle AI Database 中的一系列人為錯誤更正功能。Oracle Flashback 提供 SQL 介面,可快速分析和修復人為錯誤。例如,您可以執行:
-
微點手術分析及修復本地化損壞
-
更正更廣泛的傷害
-
在資料列、交易、表格、表格空間以及資料庫層次進行復原
-
-
Oracle LogMiner
Oracle LogMiner 是一個關聯式工具,可讓您使用 SQL 來讀取、分析及解譯線上檔案。
另請參閱:
-
「資料庫安全性概要」
-
Oracle AI Database Backup and Recovery User's Guide 和 Oracle AI Database Development Guide,瞭解有關 Oracle Flashback 功能的詳細資訊
-
Oracle AI Database Utilities - 深入瞭解 Oracle LogMiner
高可用性和計畫性停機時間
計畫的停機時間就像對作業造成破壞一樣,尤其是在支援多個時區使用者的全球企業中。在此情況下,請務必設計系統,將規劃的中斷 (例如例行作業、定期維護和新部署) 降到最低。
計畫的停機時間可以依其原因分類。
-
系統和資料庫變更:當您執行例行和定期維護作業和新部署時,會發生計劃的系統變更,包括對資料庫中組織資料結構之外的作業環境的排定變更。
-
資料變更:當 Oracle AI Database 物件的邏輯結構或實體組織發生變更時,就會發生計畫資料變更。這些變更的主要目標是要提升效能或可管理性。範例包括表格重新定義、新增表格分割區,以及建立或重建索引。
-
應用程式變更:計畫的應用程式變更可能包括對資料、結構和程式的變更。這些變更的主要目標是要提升效能、可管理性以及功能。例如應用程式升級。
系統與資料庫變更
當您執行例行和定期維護作業以及新的部署 (包括對資料庫中組織資料結構以外之作業環境的排定變更) 時,就會發生計畫性的系統變更。
範例包括新增或移除 CPU 和叢集節點 ( 節點是資料庫執行處理所在的電腦)、升級系統硬體或軟體,以及移轉系統平台。
Oracle AI Database 為規劃的系統和資料庫變更提供動態資源佈建:
-
資料庫的動態重新組態
Oracle AI Database 可動態調整硬體和資料庫組態的各種變更,包括從 SMP 伺服器新增和移除處理器,以及使用 Oracle ASM 新增和移除儲存陣列。例如,Oracle AI Database 會監控作業系統以偵測 CPU 數目的變更。如果
CPU_COUNT初始化參數設為預設值,則資料庫工作負載可動態利用新增的處理器。 -
自動調整記憶體管理
Oracle AI Database 使用非集中式原則來釋放和取得 SGA 和 PGA 之每個子元件中的記憶體。Oracle AI Database 會提示作業系統將記憶體資料粒數傳輸至需要記憶體的元件,以自動調整記憶體。
-
自動分配資料檔、控制檔以及線上重做日誌檔
Oracle ASM 會將資料檔、控制檔以及日誌檔自動分散到所有可用的磁碟,以自動化並簡化其版面配置。
另請參閱:
-
「記憶體管理」
-
請參閱 Oracle Automatic Storage Management Administrator's Guide,瞭解 Oracle ASM 的詳細資訊。
資料變更
當 Oracle AI Database 物件的邏輯結構或實體組織發生變更時,會發生計畫資料變更。這些變更的主要目標是要提升效能或可管理性。範例包括表格重新定義、新增表格分割區,以及建立或重建索引。
Oracle AI Database 透過線上重組和重新定義,將資料變更的停機時間降到最低。此架構可讓您在資料庫開啟時執行下列作業:
-
執行線上表格重新定義,這可讓您修改表格結構,而不會大幅影響表格的可用性。
-
建立、分析及重組索引
-
移動表格分割區
另請參閱:
-
Oracle AI Database Administrator's Guide,瞭解如何在線上變更資料結構
應用系統變更
計畫的應用程式變更可能包括對資料、綱要和程式的變更。這些變更的主要目標是要提升效能、可管理性以及功能。例如應用程式升級。
Oracle AI Database 支援下列解決方案,可將變更應用程式資料庫物件所需的應用程式停機時間降到最低。
表格 3 減少停機時間的解決方案
| 解決方案 | 說明 | 深入瞭解 |
|---|---|---|
| 正在輪流資料庫修正程式更新 | Oracle AI Database 支援以滾動方式將修補程式套用至 Oracle RAC 系統的節點。 | |
| 滾動資料庫版本升級 | Oracle AI Database 支援以輪流方式安裝資料庫軟體升級和修補程式集,並使用 Data Guard SQL 套用和邏輯待命資料庫,將資料庫停機時間接近零。 | Oracle AI Database 升級指南 |
| 以版本為基礎的重新定義 | 以版本為基礎的重新定義可讓您在應用程式使用中時升級應用程式的資料庫物件,進而將停機時間降到最低或減少。Oracle AI Database 透過在稱為版本的專用環境中變更 (重新定義) 資料庫物件來完成這項任務。 | Oracle AI Database 開發指南 |
DDL 與預設的 WAIT 選項 |
DDL 敘述句需要對內部結構進行獨佔鎖定 (請參閱「 DDL 鎖定」)。在舊版中,如果 DDL 敘述句無法取得鎖定,這些敘述句就會失敗。使用 WAIT 選項指定的 DDL 可解決此問題。 |
|
| 以停用狀態建立觸發程式 | 您可以建立處於停用狀態的觸發程式,以確保程式碼在啟用觸發程式之前順利編譯。 | Oracle AI Database PL/SQL 語言參考 |
方格運算總覽
稱為 grid computing 的運算架構有效地將大量伺服器和儲存集結成靈活的隨選資源,以滿足所有企業運算需求。
資料庫伺服器網格是連在一起以在一或多個資料庫上執行的商品伺服器集合。資料庫儲存網格是由「資料庫伺服器網格」中的電腦結合及存取的一組低成本模組化儲存陣列。
您可以使用資料庫伺服器和儲存體網格,建立系統資源集區。您可以根據業務優先順序動態配置和取消配置這些資源。圖 20-2 說明 Grid 企業運算環境中的「資料庫伺服器網格」和「資料庫儲存網格」。
圖 2:網格運算環境

-
Database Server Grid Oracle Real Application Clusters (Oracle RAC) 可讓多個執行處理共用對 Oracle 資料庫的存取。執行處理會透過相互連線連結。
-
Oracle Flex Clusters 從 Oracle Database 12c 開始,您可以在大型叢集中設定 Oracle Clusterware 和 Oracle Real Application Clusters。
-
資料庫儲存網格 另請參閱:
http://www.globalgridforum.org/,瞭解全球網格論壇 (GGF) 標準組織
資料庫伺服器 Grid
Oracle Real Application Clusters (Oracle RAC) 可讓多個執行處理共用 Oracle 資料庫的存取權。執行處理會透過相互連線連結。
在 Oracle RAC 環境中,Oracle AI Database 會在叢集中的兩個或多個系統上執行,同時存取單一共用資料庫。Oracle RAC 提供跨多部低成本伺服器的單一資料庫,使其成為單一、統一的資料庫系統,可啟用資料庫伺服器 Grid。Oracle Clusterware 是可讓伺服器以單一伺服器的方式一起運作的軟體。每個伺服器看起來都像任何獨立伺服器。不過,每部伺服器都有其他相互通訊的處理作業,讓不同的伺服器可以如同使用一部伺服器一樣運作。Oracle Clusterware 提供執行叢集所需的所有功能,包括節點成員身分和訊息傳遞服務。
-
擴展性:在資料庫伺服器網格中,Oracle RAC 可讓您新增節點至叢集,以因應容量增加的需求。
-
容錯能力 在高可用性架構中,容錯能力是架構中元件故障時所提供的保護。
-
服務 Oracle RAC 支援服務,可將資料庫工作負載分組,並將工作遞送至指派提供服務的最佳執行處理。
另請參閱:
-
Oracle Real Application Clusters Administration and Deployment Guide,瞭解如何管理 Oracle RAC 資料庫
-
Oracle Clusterware Administration and Deployment Guide,瞭解如何管理和部署 Oracle Clusterware
擴展性
在「資料庫伺服器網格」中,Oracle RAC 可讓您新增節點至叢集,以因應容量增加的需求。
在 Oracle RAC 中實行的快取融合技術可讓您在不變更應用程式的情況下調整容量。因此,您可以逐步擴展系統,以節省成本,無需將較小的單一節點系統取代為較大的單一節點系統。
您可以逐步新增節點至叢集,而不是以較大的節點取代現有系統。Grid Plug and Play 可簡化叢集的新增和移除節點,讓您更輕鬆地在動態佈建的環境中部署叢集。Grid Plug and Play 也可讓資料庫和服務以與位置無關的方式進行管理。SCAN 可讓從屬端連線至資料庫服務,而不考慮其在網格中的位置。
另請參閱:
錯誤允差
在高可用性架構中,容錯是針對架構中元件失敗所提供的保護。
Oracle RAC 架構的主要優點是多個節點所提供的固有容錯能力。由於實體節點是獨立執行的,因此一或多個節點的失敗不會影響叢集中的其他節點。
容錯移轉可能發生在方格上的任何節點。在極端情況下,Oracle RAC 系統即使當某個節點以外的所有節點都關閉,也能提供資料庫存取。此架構可讓一組節點通透地上線或離線進行維護,而其餘叢集則繼續提供資料庫存取。
Oracle RAC 提供與 Oracle 從屬端和連線集區的內建整合。使用此功能時,會立即通知應用程式透過集區終止連線的任何失敗。應用程式可避免等待 TCP 逾時,而且可以立即採取適當的復原動作。Oracle RAC 會將監聽器與 Oracle 從屬端和連線集區整合,以建立最佳的應用程式傳輸量。Oracle RAC 可以根據交易時的負載來平衡叢集工作負載。
另請參閱:
-
Oracle Real Application Clusters Administration and Deployment Guide,瞭解有關自動工作負載管理的更多資訊
服務
Oracle RAC 支援的服務可將資料庫工作負載分組,並將工作遞送至指定給提供服務的最佳執行處理。
「服務」代表含有一般屬性、效能臨界值和優先順序的應用程式工作負載。您可以定義商業原則並將其套用至這些服務,以執行如配置節點的尖峰處理時間或自動處理伺服器故障等工作。使用服務可確保系統資源的應用,以及何時需要實現業務目標。
服務會與「資料庫資源管理程式」整合,可讓您限制執行處理內的服務可使用的資源。此外,Oracle Scheduler 工作也可以使用服務來執行,而不是使用特定的執行處理來執行。
另請參閱:
-
Oracle AI Database Administrator's Guide,瞭解 Database Resource Manager 和 Oracle Scheduler
Oracle Flex 叢集
從 Oracle Database 12c 開始,您可以在大型叢集中設定 Oracle Clusterware 和 Oracle Real Application Clusters。
這些大型叢集稱為 Oracle Flex Clusters ,包含兩種節點類型,排列在軸輻式架構中:「Hub 節點」和「分支終端節點」。Hub 節點會緊密連接、可直接存取共用儲存裝置,並可作為一或多個分葉節點的錨點。分葉節點與 Hub 節點密切連接,且可能無法直接存取共用儲存。
另請參閱:
-
Oracle Clusterware Administration and Deployment Guide,瞭解 Oracle Flex Clusters 的詳細資訊
-
Oracle Grid Infrastructure Installation and Upgrade Guide,瞭解有關 Oracle Flex Cluster 部署的詳細資訊
資料庫儲存體網格
DBA 或儲存體管理員可以使用 Oracle ASM 介面來指定「資料庫儲存體網格」內的磁碟,供 Oracle ASM 管理所有伺服器和儲存體平台。Oracle ASM 會分割磁碟空間,並將資料平均分配給提供給 Oracle ASM 的磁碟。此外,Oracle ASM 會從「資料庫儲存體網格」新增或移除儲存體陣列的磁碟,自動將資料重新分配為磁碟。
另請參閱:
-
Oracle Automatic Storage Management Administrator's Guide,瞭解有關叢集化 Oracle ASM 的詳細資訊
資料倉儲與商業智慧概要
資料倉儲是專為查詢與分析而設計的關聯式資料庫,而非用於交易處理。
例如,資料倉儲可以追蹤歷史股價或所得稅記錄。倉儲通常包含衍生自歷史交易資料的資料,但可包含來自其他來源的資料。
除了關聯式資料庫之外,資料倉儲環境還包括數種工具。一般環境包括 ETL 解決方案、 OLAP 引擎、用戶端分析工具,以及其他收集資料並將其傳遞給使用者的應用程式。
-
資料倉儲與 OLTP - 導入資料倉儲的常見方式是指 William Inmon 所規定的資料倉儲特性。
-
資料倉儲架構資料倉儲及其架構會因業務需求而異。
-
擷取、轉換及載入 (ETL) 簡介:從來源系統擷取資料並將其帶入倉儲的程序通常稱為 ETL:擷取、轉換及載入。ETL 是指廣泛的流程,而非三個定義完善的步驟。
-
商業智慧是組織資訊分析,以協助做出商業決策。
資料倉儲與 OLTP
引進資料倉儲的常見方法是指 William Inmon 所規定的資料倉儲特性。
特性如下:註腳 1
-
主旨導向
資料倉儲可讓您依主題定義資料庫,例如銷售。
-
整合
資料倉儲必須將來自不同來源的資料放入一致的格式。他們必須解決此類問題,例如命名衝突和計量單位之間不一致。當他們達成這個目標時,就會被整合在一起。
-
非揮發性
倉儲的目的是讓您分析發生的情況。因此,在資料輸入倉儲後,資料不應變更。
-
時間差異
資料倉儲的焦點隨時間變化。
資料倉儲和 OLTP 資料庫有不同的需求。例如,若要發現業務趨勢,資料倉儲必須維持大量資料。相較之下,良好的效能則需要將歷史資料定期從 OLTP 系統移至歸檔。表 20-4 列出資料倉儲與 OLTP 之間的差異。
表 4 資料倉儲和 OLTP 系統
| 特性 | 資料倉儲 | OLTP |
|---|---|---|
| 工作負載 | 專為配合特殊查詢而設計。您可能不知道資料倉儲的工作負載,因此應該最佳化資料倉儲,以便對各種可能的查詢表現良好。 | 僅支援預先定義的作業。您的應用程式可能經過特別調整,或僅支援這些作業。 |
| 資料變更 | 使用大量資料修改技術定期由 ETL 處理更新。資料倉儲的一般使用者不會直接更新資料庫。 | 受限於一般使用者經常發出的個別 DML 敘述句。OLTP 資料庫一律是最新的,並反映每個商業交易的目前狀態。 |
| 結構描述設計 | 使用去標準化或局部去標準化綱要 (例如星狀綱要) 來最佳化查詢效能。 | 使用完全正規化的綱要來最佳化 DML 效能,並保證資料一致性。 |
| 典型作業 | 典型的查詢會掃描數千或數百萬列。例如,使用者可以要求上個月所有客戶的總銷售額。 | 一般作業只會存取少數記錄。例如,使用者可以擷取單一客戶的目前訂單。 |
| 歷史資料 | 儲存數月或數年的資料,以支援歷史分析。 | 只儲存幾週或幾個月的資料。根據需要保留歷史資料,以符合目前交易的需求。 |
另請參閱:
-
Oracle AI Database Data Warehousing Guide,瞭解資料庫倉儲的詳細說明
-
Oracle AI Database VLDB and Partitioning Guide,以取得 OLTP 系統的更詳細描述
資料倉儲架構
資料倉儲及其架構會因業務需求而異。
-
資料倉儲架構 (基本) 在簡單的資料倉儲架構中,一般使用者可以直接存取從數個來源系統傳輸到資料倉儲的資料。
-
資料倉儲架構 (含暫存區) 部分資料倉儲使用暫存區,這是輸入倉儲之前預先處理資料的位置。暫存區可簡化建置摘要和管理倉儲的任務。
-
資料倉儲架構 (使用暫存區和資料市集) 您可能想要為組織內不同的群組自訂倉儲架構。您可以將倉儲中的資料傳輸至資料市集來達成此目標,這些資料市集是專為特定業務或專案設計的獨立資料庫。資料市集通常包含許多摘要表格。
資料倉儲架構 (基本)
在簡單的資料倉儲架構中,一般使用者可以直接存取從數個來源系統傳輸到資料倉儲的資料。
下圖顯示範例架構。
圖 3:資料倉儲架構

上圖同時顯示傳統 OLTP 系統的描述資料與原始資料,以及摘要資料。摘要是一種聚總檢視,可透過預先計算昂貴的結合和聚總作業,並將結果儲存在表格中來改善查詢效能。例如,摘要表格可包含依地區與依產品的銷售總和。摘要也稱為具體化視觀表。
另請參閱:Oracle AI Database Data Warehousing Guide,瞭解基本具體化視觀表
資料倉儲架構 (使用暫存區)
部分資料倉儲使用暫存區,這是在輸入倉儲之前預先處理資料的位置。暫存區可簡化建置摘要和管理倉儲的任務。
下圖說明暫存區。
圖 4:使用暫存區的資料倉儲架構

另請參閱:Oracle AI Database Data Warehousing Guide 瞭解不同的運輸機制
資料倉儲架構 (使用暫存區和資料市集)
您可以為組織內的不同群組自訂倉儲架構。您可以將倉儲中的資料傳輸至資料市集來達成此目標,這些資料市集是專為特定業務或專案設計的獨立資料庫。資料市集通常包含許多摘要表格。圖 20-5 將採購、銷售及庫存資訊區分為獨立資料超市。財務分析師可以查詢資料市集,以取得有關採購與銷售的歷史資訊。
圖 5:使用暫存區和資料超市的資料倉儲架構

另請參閱:Oracle AI Database Data Warehousing Guide 瞭解轉型機制
擷取、轉換與載入概述 (ETL)
從來源系統擷取資料並將其帶入倉儲的程序通常稱為 ETL:擷取、轉換及載入。ETL 是指廣泛的流程,而非三個定義完善的步驟。
在典型案例中,會擷取一或多個作業系統的資料,然後實際傳輸至目標系統或中間系統進行處理。視運輸方式而定,此處理期間可能會發生某些轉換。例如,直接透過閘道存取遠端目標的 SQL 敘述句可以將兩個資料欄串連為 SELECT 敘述句的一部分。
Oracle AI Database 本身不是 ETL 工具。不過,Oracle AI Database 提供了 ETL 工具和自訂 ETL 解決方案所提供的豐富功能。Oracle AI Database 提供的 ETL 功能包括:
-
可傳輸的表格空間
您可以在不同的電腦架構與作業系統之間傳輸表格空間。可傳輸表格空間是在兩個 Oracle 資料庫之間移動大量資料的最快方式。
-
表格函式
表格函數是使用者定義的 PL/SQL 函數,會傳回資料列集合 (巢狀表格或 varray)。表格函數可以產生一組資料列作為輸出,並接受一組資料列作為輸入。表格函數提供在 PL/SQL、C 或 Java 中實行之轉換的管線和平行執行支援,而不需要中間暫存表格。
-
外部表格
外部表格可讓您直接與平行結合外部資料,而不需要先將外部資料載入資料庫。因此,外部表格會啟用載入階段與轉換階段的管線。
-
表格壓縮
為了減少磁碟的使用與記憶體的使用量,您可以用壓縮格式儲存表格與分割表格。使用表格壓縮通常可針對唯讀作業提供更佳的縱向擴展,並加快查詢執行速度。
另請參閱:
Business Intelligence
商業智慧是組織資訊分析,以協助做出商業決策。
分析應用程式和商業智慧是藉由向上和向下鑽研階層以及比較彙總值所主導的。Oracle AI Database 提供數種技術來支援此類作業。
-
Analytic SQL Oracle AI Database 導入了許多執行分析作業的 SQL 作業。這些作業包括排名、移動平均值、累積總和、比率對報表,以及逐期比較。
-
分析檢視可擴充資料集的內容,並簡化商業智慧應用程式的開發。
-
Oracle Advanced Analytics Oracle Advanced Analytics Option 將 Oracle AI Database 擴展到適用於大數據分析的全方位進階分析平台中。
分析 SQL
Oracle AI Database 導入了許多執行分析作業的 SQL 作業。這些作業包括排名、移動平均值、累積總和、比率與報表,以及逐期比較。
例如,Oracle AI Database 支援下列形式的分析 SQL。
表格 5 分析 SQL
| 分析 SQL 的類型 | 說明 | 深入瞭解 |
|---|---|---|
| 用於聚總的 SQL | 彙總函數 (例如 COUNT) 會根據資料列群組傳回單一結果資料列。彙總是資料倉儲的基礎。為了改善倉儲中的聚總效能,資料庫提供 GROUP BY 子句的擴充功能,讓查詢和報告變得更輕鬆快速。 |
Oracle AI Database Data Warehousing Guide ,瞭解聚總的相關資訊 |
| 用於分析的 SQL | 分析函數 (例如 MAX) 會聚總一組資料列 (稱為視窗),以傳回結果集的多個資料列。Oracle 使用一系列的分析 SQL 函數,提供進階的 SQL 分析處理功能。例如,這些分析函數可讓您計算排名與百分位數以及移動視窗。 |
Oracle AI Database Data Warehousing Guide ,瞭解用於分析和報告的 SQL |
| 用於建模的 SQL | 使用 MODEL 子句時,您可以從查詢結果建立多維陣列,然後將規則套用至此陣列以計算新值。例如,您可以依國家 / 地區分割銷售檢視中的資料,並在每個國家 / 地區執行由多個規則定義的模型計算。一個規則可以計算 2008 年產品的銷售額,作為 2006 年和 2007 年的銷售額總和。 |
Oracle AI Database Data Warehousing Guide ,瞭解 SQL 模型製作 |
另請參閱:Oracle AI Database SQL Language Reference,瞭解 SQL 函數
分析視觀表
分析檢視可擴充資料集的內容,並簡化商業智慧應用程式的開發。
分析視觀表具有下列特性:
-
使用階層式和維度概念來組織資料。
-
結合、聚總和計量計算規則內嵌在分析檢視中。
-
可以使用 SQL DDL 對資料庫中的現有表格、視觀表及其他物件進行分層。
-
可以使用簡單的 SQL 來查詢。
另請參閱:Oracle AI Database Data Warehousing Guide,瞭解分析檢視的簡介
Oracle 進階分析
Oracle Advanced Analytics Option 將 Oracle AI Database 擴展到適用於大數據分析的全方位進階分析平台中。
Oracle Advanced Analytics 在資料庫內提供預測分析、資料探勘、文字探勘、統計分析、進階數值運算和互動式圖形。Oracle Advanced Analytics 具有下列元件:
-
Oracle Data Mining 在商業智慧中,資料探勘是使用複雜的數學演算法來區隔資料,並評估未來事件的機率。
-
R 是一種開放原始碼語言和環境,可用於統計運算和圖形。Oracle Machine Learning for R 為企業和大數據做好了準備。
Oracle Data Mining
在商業智慧中,資料探勘是使用複雜的數學演算法來區隔資料,並評估未來事件的機率。
資料探勘的典型應用包括客服中心、ATM、電子商務關聯式管理 (ERM) 和業務規劃。Oracle Data Miner 可讓資料分析師快速分析資料、鎖定最佳客戶、打擊詐騙,並找出可幫助企業更好地競爭的重要關聯和模式。
Oracle Data Mining 提供資料探勘演算法,可作為原生 SQL 函數執行,以實現高效能的資料庫模型建置與模型部署。Oracle Data Mining 可以探勘表格、視觀表、星狀綱要、交易資料以及非結構化資料。
Oracle Data Mining 支援 PL/SQL API 和 SQL 函數來進行模型評分。因此,Oracle AI Database 為應用程式開發人員提供基礎架構,可將資料探勘與資料庫應用程式緊密整合。
Oracle Data Miner 是 SQL Developer 擴充功能,可為 Oracle Data Mining 提供 GUI。
另請參閱: Oracle Machine Learning for SQL Concepts
Oracle Machine Learning for R
R 是一種開放原始碼語言和環境,可用於統計運算和圖形。Oracle Machine Learning for R 為企業和大數據做好了準備。
Oracle Machine Learning for R 是專為涉及大量資料的問題所設計,可將 R 與 Oracle AI Database 整合。您可以對儲存在 Oracle AI Database 中的資料,執行統計和圖形分析的 R 指令和指令碼。您也可以開發、調整及部署運用資料庫平行程度和擴展性的 R 命令檔,將資料分析自動化。資料分析師只需一個步驟即可執行 R 套件,並開發用於分析應用程式的 R 指令碼,無須學習 SQL。
另請參閱: Oracle Machine Learning for R User's Guide
Oracle Information Integration 概要
隨著組織的發展,在多個資料庫和應用程式之間共用資訊變得越來越重要。
共用資訊的基本方法如下:
-
合併
您可以將資訊合併到單一資料庫中,這樣就不需要進一步整合。Oracle RAC、Grid 運算、多雲端用戶架構和 Oracle VPD 可讓您將資訊合併到單一資料庫中。
-
同盟項目
您可以將資訊分散,並提供工具來聯合此資訊,讓資訊出現在單一虛擬資料庫中。
-
共享
您可以共用資訊,以便在多個資料儲存區和應用程式中維護資訊。
本節著重於聯合和共用資訊的 Oracle 解決方案。
同盟存取
同盟存取的基礎是分散式環境,它是不同系統的網路,可彼此無縫通訊。
環境中的每個系統都稱為節點。使用者直接連線的系統稱為本機系統。此使用者存取的其他系統為遠端系統。
分散式環境可讓應用程式從本機和遠端系統存取和交換資料。所有資料都可以同時存取和修改。
-
分散式 SQL 分散式 SQL 會同步存取和更新分散在多個資料庫之間的資料。Oracle 分散式資料庫系統對使用者而言是通透的,因此該系統看起來就像是單一 Oracle 資料庫。
-
資料庫連結:資料庫連結是兩個實體資料庫之間的連線,可讓從屬端以一個邏輯資料庫方式存取它們。
分散式 SQL
分散式 SQL 會同步存取和更新分散在多個資料庫之間的資料。Oracle 分散式資料庫系統對使用者而言是通透的,因此該系統看起來就像是單一 Oracle 資料庫。
分散式 SQL 包括分散式查詢和分散式交易。Oracle 分散式資料庫架構提供查詢和交易通透性。例如,標準 DML 敘述句的運作方式就像在非分散式資料庫環境中一樣。此外,應用程式會使用標準 SQL 敘述句 COMMIT、SAVEPOINT 和 ROLLBACK 來控制交易。
另請參閱:
-
「分散式交易概要」
-
Oracle AI Database Administrator's Guide,瞭解如何管理分散式交易
資料庫連結
資料庫連結是兩個實體資料庫之間的連線,可讓從屬端將它們當作一個邏輯資料庫來存取。
Oracle AI Database 使用資料庫連結讓資料庫上的使用者能夠存取遠端資料庫中的物件。本機使用者可以存取遠端資料庫的連結,而不需要是遠端資料庫上的使用者。圖 20-6 顯示存取全域名稱為 hq.example.com 之遠端資料庫上 employees 表格的使用者 hr 範例。employees 同義字會隱藏遠端綱要物件的識別和位置。
圖 6:資料庫連結

另請參閱:Oracle AI Database Administrator's Guide 以瞭解資料庫連結
資訊共用
任何整合的核心都是企業中應用程式之間共用資料。
-
Oracle GoldenGate Oracle GoldenGate 是一種非同步、以日誌為基礎的即時資料複製產品。
-
Oracle AI Database Transactional Event Queues and Advanced Queuing (AQ) Oracle AI Database Transactional Event Queues and Advanced Queuing (AQ) 是與 Oracle AI Database 整合的強大且功能豐富的訊息佇列系統。
Oracle GoldenGate
Oracle GoldenGate 是非同步、以日誌為基礎的即時資料複製產品。
Oracle GoldenGate 會在異質資料庫、硬體和作業系統環境中即時移動大量交易資料,而且會受到輕微的影響。它可以最佳化即時資訊存取和可用性,因為它:
-
支援與 Oracle AI Database 和非 Oracle 資料庫的異質混合的複寫
-
維持關鍵任務系統的持續可用性,進而將計畫性維護期間的停機時間降到最低
-
實現整個企業的即時資料整合
-
自動設定分區表格中分區之間的雙向複寫
典型的環境包括擷取、泵和交付流程。每個流程都可以在大多數常見的作業系統和資料庫上執行,包括 Oracle 資料庫和非 Oracle 資料庫。可以複製部分或所有資料。異質環境和不同的資料庫綱要都可以操控這些處理作業中的任何資料。
Oracle GoldenGate 支援多主要複製、軸輻式 (Hub-and-spoke) 部署、資料合併以及資料轉換。因此,Oracle GoldenGate 可讓您確保關鍵系統全天候運作,並將相關資料分散至整個企業,以最佳化決策。
另請參閱:
Oracle AI Database 交易事件佇列與進階佇列 (AQ)
Oracle AI Database Transactional Event Queues and Advanced Queuing (AQ) 是與 Oracle AI Database 整合的強大且功能豐富的訊息佇列系統。
當組織具有必須相互通訊的不同系統時,訊息環境可提供標準且可靠的方式,在這些系統之間傳輸重要資訊。
範例使用案例是指在總部 Oracle 資料庫中輸入訂單的企業。輸入訂單時,企業會使用 AQ 將訂單 ID 與訂單日期傳送至倉儲中的資料庫。這些訊息會提醒倉儲員工有訂單進來,他們可以裝貨及出貨。
-
訊息佇列與取消佇列 Oracle AI Database 交易事件佇列與進階佇列會將使用者訊息儲存在稱為佇列的抽象儲存單位中。
-
Oracle AI Database 交易事件佇列與進階佇列進階功能:Oracle AI Database 交易事件佇列與進階佇列 (AQ) 支援訊息佇列系統的所有標準功能。
訊息佇列與取消佇列
Oracle AI Database 交易事件佇列和進階佇列會將使用者訊息儲存在稱為佇列的抽象儲存單元中。
排入佇列是產生者將訊息放入佇列的程序。「取消佇列」是用戶從佇列擷取訊息時所使用的處理作業。
支援明確取消佇列,可讓開發人員使用 XStream 和 Oracle GoldenGate 來可靠地交換訊息。他們也可以運用 Oracle GoldenGate 的變更擷取與傳輸功能,通知應用程式發生變更。圖 20-7 顯示透過「進階佇列」明確將訊息排入佇列及取消訊息佇列的範例應用程式,讓它能夠使用不同的訊息系統與夥伴共用資訊。將訊息排入佇列之後,即可轉換並傳輸訊息,然後再移出給夥伴的應用程式。
圖 7:Oracle 訊息佇列

Oracle AI Database 交易事件佇列與進階佇列進階功能
Oracle AI Database 交易事件佇列與進階佇列 (AQ) 支援訊息佇列系統的所有標準功能。
功能包括:
-
非同步應用程式整合
「交易事件佇列」和「進階佇列」提供數種將訊息排入佇列的方式。擷取處理作業或同步擷取可以隱含擷取訊息,或者應用程式和使用者可以明確擷取訊息。
-
可擴充的整合架構
許多應用程式都與分散式軸輻模型整合,並以 Oracle AI Database 作為中心。Oracle 資料庫上的分散式應用程式會與相同中樞中的佇列進行通訊。多個應用程式共用相同的佇列,因此不需要新增佇列即可支援其他應用程式。
-
異質應用程式整合
「交易事件佇列」和「進階佇列」為應用程式提供 Oracle 類型系統的完整功能。它支援純量資料類型、具有繼承的 Oracle AI Database 物件類型、具有 XML 資料額外運算子的
XMLType,以及ANYDATA。 -
舊版應用程式整合
Oracle Messaging Gateway 將 Oracle AI Database 應用程式與其他訊息佇列系統整合,例如 Websphere MQ 和 Tibco。
-
標準型 API 支援
「交易事件佇列」和「進階佇列」支援業界標準 API:SQL、JMS 和 SOAP。使用 SQL 所做的變更會自動擷取為訊息。
另請參閱:Oracle AI Database Transactional Event Queues and Advanced Queuing User's Guide
註腳圖例
註腳 1:
建置資料倉儲,John Wiley 與 Sons,1996 年。