程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 深入Oracle用戶管理與規范

深入Oracle用戶管理與規范

編輯:Oracle數據庫基礎

每個Oracle數據庫都存在信息量越來越大,Oracle用戶越來越多等問題。怎樣有效管理各公司各部門的數據,首先要從Oracle用戶管理著手。這裡所談到的Oracle用戶管理,旨在從一套規范化的制度出發,有效進行Oralce用戶組織與維護。

一、目前Oracle用戶管理存在的問題

1、權限過大
對Oracle數據庫編程和浏覽的一般用戶常常具有DBA (數據庫管理員權限),能對數據庫系統做任何修改或刪除。

2、安全性差
很多Oracle用戶缺省存儲位置都在系統表空間,這樣不僅影響系統的正常工作,而且不同用戶的數據信息互相影響、透明,保密性差。隨著數據的不斷加入,有可能使整個數據庫系統崩潰。

3、密碼有規律
在Oracle調試初期形成的用戶名和密碼一致的不良習慣保留到現在;系統用戶SYS和SYSTEM的密碼也眾所皆知。

二、Oracle用戶的規范化管理

綜述以上Oracle用戶管理中的種種弊端,再根據數據庫使用情況,提出其規范化管理的建議:

1、Oracle DBA (數據庫管理員)的規范

⑴、SUN Solaris操作系統下Oracle用戶密碼應嚴格保密,絕不該把密碼設成Oracle;並指定專門的數據庫管理員定期修改。
⑵、Oracle初始化建立的SYS和SYSTEM系統管理員用戶密碼應由原來的MANAGER改成別的不易被記憶的字符串。
⑶、Oracle WEB SERVER的管理端口具備DBA浏覽數據庫的能力,因此其管理者ADMIN的密碼也應保密,不該把密碼設成MANAGER;並指定專門的數據庫管理員定期修改。
⑷、Oracle DBA最好在SUN SPARC服務器控制台上用窗口式界面實現管理。前提是Oracle用戶啟動服務器,然後在窗口式命令行下輸入SVRMGRM,即啟動了OracleSERVER MANAGER菜單式管理;用SYSDBA身份登錄後,就可做數據庫系統維護工作了。

2、SQL*PLUS編程用戶的規范

⑴、存儲結構的規范
考慮到用SQL*PLUS編程可實現各行各業、各公司、各部門多種多樣的應用需求,我們的SQL*PLUS編程用戶也應該朝這個方向規范:不同種類的應用必須有不同的用戶;不同種類的應用必須有不同的存儲位置,包括物理文件、缺省表空間、臨時表空間的創建和規劃:當准備編寫某一較大規模(從Oracle數據量和面向
用戶量考慮)應用程序時,首先應該創建一個邏輯的存儲位置-表空間,同時定義物理文件的存放路徑和所占硬盤的大小。

①、物理文件缺省的存放路徑在/Oracle_home/dbs下,在命令行下用UNIX指令df -k 可查看硬盤資源分區的使用情況。如果Oracle_home使用率達90‰以上,而且有一個或多個較為空閒的硬盤資源分區可以利用,我們最好把物理文件缺省的存放路徑改到較為空閒的硬盤資源分區路徑下。在此路徑下我們可以這樣規劃資源物理文件的存儲:
xxx表空間
xxx行業/ xxx公司/ xxx 部門/ xxx 服務.dbf

DEMO表空間
default_datafile_home1/col /elec/sys4/demo1.dbf
default_datafile_home1/col /elec/sys4/demo2.dbf
公司系統四部摹擬演示系統物理文件
HUMAN表空間
default_datafile_home1/col/elec/human/human.dbf
公司人事部人事管理系統物理文件
BOOK表空間
default_datafile_home1/col/elec/book/book.dbf
公司資料室圖書管理系統物理文件
QUESTION表空間
default_datafile_home1/col/elec/clIEnt/question.dbf
公司客戶服務部問題庫系統物理文件
PC表空間
default_datafile_home1/col/chaoxun/clIEnt/pc.dbf
公司PC機售後服務系統物理文件
……表空間
default_datafile_home2/……………………………
等等
說明:其中default_datafile_home1指Oracle_home/dbs;
default_datafile_home2指較為空閒的硬盤資源分區路徑。

②、物理文件的大小根據應用系統的數據量、數據對象、程序包的多少來定。一般用於摹擬演示的小系統,表空間初始的物理文件為2M即能滿足要求,如果信息量滿,還可以增加物理文件,擴充表空間(每次擴充大小也可暫定為2M);一般實際運行的應用系統可適當增加表空間初始的物理文件大小,但也不要一次分配太大(因為不易回收空間,卻易擴充空間),這也需要根據具體情況具體分析:信息量大、需長時間保存的應用在條件允許情況下,表空間可以大到幾百M甚至上G;信息量小、短期經常刷新的應用,表空間可以控制在2M以下。

舉例:

●創建APP 某應用表空間(窗口菜單方式):

Oracle_home/dbs/app.dbf 2M 某應用的物理文件

Oracle_home所在的/wwwdg分區使用率為10‰,所以物理文件可放在其缺省路徑:Oracle_home/dbs 下。

●創建APP 某應用表空間(命令行方式)

Oracle_home/dbs/app.dbf 2M 某應用的物理文件

%svrmgrl
SVRMGR>connect internal;
SVRMGR> create tablespace app datafile 'app.dbf'size 2M;
說明:物理文件的缺省路徑為Oracle_HOME/DBS
即wwwdg/Oracle/app/Oracle/product/7.3.2/dbs

③、表空間的名稱應該采用同系統應用相似的英文字符或字符縮寫,表空間所對應的一個或多個物理文件名也應有相關性。不同用戶所處的缺省表空間不同,存儲的信息就不能互相訪問。這比把所有用戶信息都儲存在系統表空間,安全性大大提高了。如果用Oracle WEB SERVER管理端口創建的用戶,其缺省和臨時表空間一定是系統表空間,DBA切記要改變用戶的缺省表空間。臨時表空間存放臨時數據段,處理一些排序、合並等中間操作,根據實際應用的需求可以把它們放在專門創建的表空間裡;如果系統表空間大,也可以把它們放在系統表空間。用戶創建的數據索引最好和數據文件分開存放在不同表空間,以減少數據爭用和提高響應速度。

舉例: ●改變dcd用戶缺省表空間(窗口菜單方式):

●改變dcd用戶缺省表空間(命令行方式)
%svrmgrl
SVRMGR>connect internal;
SVRMGR>alter user dcd identifIEd by dcdpwd default tablespace app;

⑵、權限的規范
對Oracle數據庫編程的用戶具有CONNECT加RESOURCE權限就足以完成其工作。如果要開發在INTERNET上可執行的應用程序,我們建議用Oracle WEB SERVER管理端口創建SQL*PLUS編程新用戶。在 Oracle WEB SERVER ADMINISTRATION中選PL/SQL AGENT。

舉例:●創建一個SQL*PLUS編程新用戶new (窗口菜單方式)

再選CREATE NEW DCD

選SUBMIT NEW SERVICE按紐後,屏幕提示CREATE DCD SUCCESS!這個過程不僅創建了Oracle的新用戶,還安裝了WEB SERVER的PL/SQL工具包,並確定了其有效的INTERNET浏覽端口。

選CONFIGURE 80

選Directory Mappings
做好端口相應INTERNET資源配置

修改WEB請求插件80

加入新用戶WEB請求的應用和路徑

做好端口相應INTERNET資源配置和加入新用戶的WEB請求插件後,DBA切記要改變用戶的缺省表空間,由系統表空間改到為相關應用而創建的表空間。這樣,有效的面向INTERNET的SQL*PLUS編程用戶就規劃好了。

⑶、密碼和用戶名的規范
有相當數量的Oracle用戶名和密碼一致,這是個很不安全的因素。我們建議Oracle用戶名和密碼一定不要一樣,密碼最好在五,六位字符以上。不同用戶間不應該使用相同的密碼。用戶名的定義可根據實際應用的英文名來設,而依據編程人員的姓名定義的用戶名實際上不規范,可在日後的工作中結合上述有關存儲結構規范的說明逐步改進。

3、Oracle用戶管理的特殊規范
在Oracle數據庫使用過程中,還會遇到一些有特殊要求的用戶:非編程人員需要對某個表有查詢、增加、刪除、修改的權利。DBA應創建一個這樣的用戶,先確定用戶名和密碼,再規定相關應用所在缺省表空間(包含某個表)和臨時表空間,最後TABLE屬主給其授權:賦予CONNECT角色加SELECT、INSERT、DELETE、UPDATE ON THE TABLE的對象級權限,這可根據實際需求自由取捨。

舉例:●給新用戶授於對象級權限(命令行方式):
假設新用戶NEW2需要有查詢、刪除、修改DCD用戶的表EMP。

%svrmgrl
SVRMGR>connect internal; 以系統管理員登錄
SVRMGR>create user new2 identifIEd by new2345 default tablespace app;
SVRMGR>connect dcd/dcdpwd; 以dcd用戶登錄
SVRMGR>grant connect to new2;
SVRMGR>grant select on emp to new2;
SVRMGR>grant delete on emp to new2;
SVRMGR>grant update on emp to new2;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved