阮俊
摘 要:隨著社會和計算機技術的發展,數據信息的存儲越來越離不開數據庫系統的支持,而Oracle數據庫以其強大的數據處理能力,從眾多數據庫系統中脫穎而出,在各行各業得到了廣泛的應用,尤其在很多電子商務和電子政務的大型系統中。所以我就提出了"基于Oracle分布式數據庫遠程數據的維護和安全性的研究"這樣一個研究課題,并且結合實際項目進行了一定的研究,對一些關鍵技術進行了實現,為以后更好的進行系統開發做一個鋪墊。
關鍵詞:Oracle數據;維護;安全管理
隨著計算機科學技術的發展與普及,特別是計算機在國民經濟各重要部門的廣泛應用,計算機安全已是當前信息社會非常關注的突出問題,而數據庫系統則擔負著存儲和管理上述數據信息的任務。我們可以利用網絡實現數據資源的共享,但是這就給我們提出了分布式數據的維護、處理和安全性的問題,如果這幾個方面的問題得不到解決,那么就對分布在全世界的各種信息沒有辦法進行處理、維護,并且數據的不安全將對企業和國家的利益產生負面的影響。因而,如何保證和加強其安全性與保密性,已成為目前迫切需要解決的熱門課題。
1 系統建設的原則
為了保證系統在開發設計的過程中具有良好的工程化的觀念,使開發的系統是一個可用的、易理解、高效率、可維護的和可靠的軟件系統,我們就要遵循一些標準化的規程,對開發人員以指導和約束,使他們遵照規定的方法與原則來理解和處理問題,這是系統開發成功的重要因素。所以我們在開發與數據庫有關的子系統時擬定如下原則:實用性、正確性、先進性、可靠性、穩定性、可維護性、有效性、安全性、適應性、開放性等原則。
1.1 Orac1e對組件的支持
Oracle數據庫嵌入了一個高性能的Java虛擬機,在Oracle8i和Oracle9i中有Oracle JServer,它支持在數據庫內部直接運行Java程序的功能,這樣如果開發語言采用Java的話,可以直接用Java通過JDBC對數據庫進行操作,并且JServe:完全提供了對Java2企業版的支持。企業JavaBean和CORBA商業組件對商業數據安全操作在JServer中也得到了強有力的支持。
1.2 多媒體大數據對象
多媒體信息指的是數據長度沒有界限的圖像、聲音、視頻動畫和文本等大數據對象(Large Objects)。幾乎所有的應用都會用到大數據對象,在Oracle8系列數據庫中,Oracle interMedia能為需要訪問圖像、聲音、視頻動畫、文本和關系數據的應用管理多媒體內容。而在Oracle9i協作內容管理中的Oracle多媒體功能(Oracle interMedia)支持所有類型的多媒體數據,提供一套標準的管理工具,使用戶能夠對圖片、音頻、視頻的安全、備份和恢復都能夠進行控制管理。
1.3 數據庫鏈接與快照
遠程數據庫訪問是通過建立數據庫鏈路來實現的,數據庫鏈路是通過Oracle通信軟件SQL*Net來工作的。各服務器上的SQL*Net要根據網絡的情況來配置,網絡中每一臺服務器都有一個特定的名稱,這個名稱在數據庫鏈路中稱為鏈接串(connectstring),在Oracle數據庫中對遠程數據庫的訪問一般都采用鏈接串進行數據庫的訪問,這樣有利于對數據庫的管理。
2 Oracle分布式數據的維護
2.1 利用Oracle數據庫快照來維護
在實際系統開發過程中我們往往會碰到這樣一個問題:對外發布的數據往往是內部使用數據的一個子集,有些數據只能對外進行查詢而不能讓用戶進行修改,這樣即使外部數據遭到破壞也能很快進行恢復。這種我在實際工作中常用的解決方案就是利用Oracle數據庫快照來實現數據的同步。Oracle數據庫的快照實際上是一個表,它包含有對一個本地或遠程數據庫上一個或多個表或視圖的查詢的結果。正因為Oracle數據庫快照可以是一個主表的查詢子集,也可以是整個表,所以使用快照可以加快數據的查詢速度;在保持不同數據庫中的兩個表的同步中,利用快照刷新,數據庫數據的更新性能也會有很大的改善。
2.2 數據庫的導入和導出
數據庫的導入和導出是數據庫日常維護的一個要經常遇到的問題,也是我們平常所說的邏輯備份。對于數據庫系統管理員來說,數據庫的導入和導出是維護一個數據庫正常運行的基本手段,萬一數據庫出現不可恢復的嚴重問題,就可以用最近的備份文件進行復原,使數據庫正常運行。
2.3 Oracle數據庫的備份和恢復
簡單地說,備份就是一個數據庫數據的拷貝,這個拷貝包括你的數據庫的重要的部分如控制文件、數據文件、初始化文件和日志文件等。備份是為了防止意外的數據丟失和應用錯誤。一旦你丟失了原始數據,你可以通過備份來找到它,并且進行必要的恢復工作,使數據庫正常運行。數據庫的備份分為物理備份和邏輯備份。你可以將邏輯備份作為物理備份的補充,這一部分內容在上一節已經講過了。物理備份也是數據庫管理員經常使用的一種備份方式。它可以對Oracle數據庫的所有內容進行拷貝,方式可以是多種,有脫機備份和聯機備份,它們各有所長,在實際中應根據具體情況和所處狀態進行選擇。你可以使用Oracle8iRecoveryManager或別的。O/S工具來實現物理備份。還原(Restore)一個備份是指重新構造它并使其可以被OracleServer使用。恢復(Recovery)一個已還原數據文件是指用重寫日志記錄(Redologrecord)來更新它,例如數據庫備份以后所修改的記錄。
3 Oracle數據庫安全性的研究
3.1 數據加密
在一些較大規模的Client/Server系統中或者B/S架構的系統里面,Client端與瀏覽器的應用程序一般是通過主程序中的語句來實現與數據庫的連接。這種情況下,任何人打開源程序便能清楚了解數據庫的連接口令,這就可能導致安全性問題。通過開始用Sniffer Portable 4.7進行數據傳輸過程的整個數據包,發現原來數據傳輸為明文的部分已經變成加了密的數據格式。并且就算知道數據庫的密碼,但是如果不知道加密的種子和加密算法的話,還是鏈接不上該數據庫。加密方式也可以經常改變和加密的種子可以經常改變,這樣對數據庫的安全性有了一個重要保證。endprint
3.2 Oracle數據厚密碼文件管理
當創建了一個數據庫實例的時候,在%ORACLE_HOME/DATABASE目錄下會自動創建了一個與之對應的密碼文件,文件名為PWDSID.ORA,其中SID代表相應的Oracle數據庫系統標識符。此密碼文件是進行初始數據庫管理工作的基礎,一旦數據庫進行發布建議系統管理員更改此文件。管理員可以使用工具ORAPWD.EXE手工創建密碼文件。命令格式如下:
orapwdfile=
相關命令參數的含義為:fname:密碼文件名;password:設置internal/sys帳號的口令;users:密碼文件中可以存放的最大用戶數,對應于允許以sysdba/sysoper權限登錄數據庫的最大用戶數。由于在以后的維護中,若用戶數超出了此限制,則需要重建密碼文件,所以此參數可以根據需要設置得大一些。有了密碼文件之后,需要設置初始化參數加入一行
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE或SHARE
來控制密碼文件的使用狀態。
3.3 建立Oracle的安全審計機制
Oracle的審計機制是用來監視用戶對ORACLE數據庫所做的各種操作。在缺省情況下,系統的審計功能是關閉的。激活的辦法是,在INIT.ORA參數文件中,將參數AUDIT_TRAIL設置為正整數。審計功能激活后,任何擁有表或視圖的用戶就可以進行如下審計操作:》使用SQL語句來挑選審計選擇項;》審計對該用戶所擁有的表或視圖的成功或不成功的存取企圖;》有選擇的審計各種類型的SQL操作(SELECT,UPDATE,INSERT,DELETE;》控制審計的程度(是以SESSION還是ACCESS為單位)。
綜上所述,數據庫管理系統DBMS存在不同的安全隱患和管理人員對數據庫安全性的認識不足是造成數據信息的安全受到威脅的根本原因,并且使得在遠程維護問題上存在不同的安全威脅,比方說數據的盜用等。本課題結合實際系統開發經驗提出針對基于Oracle分布式數據庫遠程數據的維護和安全性的研究問題,并且對系統開發過程中的解決方法中提煉出一系列的解決方案。
參考文獻:
[1] 曹紅雙,梁建軍. Oracle分布式數據庫遠程數據訪問的安全性[J]. 微電腦世界,1999,Z1:87-88.
[2] 賈麗. 分布式數據庫在物流倉儲管理系統中的應用[D]. 西安建筑科技大學,2009.