?? oracle基本操作-3.htm
字號:
<body bgcolor="#000000">
<P><font color="#FFFFFF"> <STRONG><BIG><font color="#009900">ORACLE 用戶的規范化管理</font></BIG></STRONG></font></P>
<P><font color="#FFFFFF"><BR>
隨著ORACLE數據庫里的信息量越來越大,能對ORACLE操作的用戶也越來越多。怎樣安全地管理各行各業、各公司、各部門的數據,首先要從ORACLE用戶管理著手。<BR>
一、目前ORACLE用戶管理存在的問題<BR>
1、權限過大<BR>
對ORACLE數據庫編程和瀏覽的一般用戶常常具有DBA (數據庫管理員權限),能對數據庫系統做任何修改或刪除。<BR>
<BR>
2、安全性差<BR>
很多ORACLE用戶缺省存儲位置都在系統表空間,這樣不僅影響系統的正常工作,而且不同用戶的數據信息互相影響、透明,保密性差。隨著數據的不斷加入,有可能使整個數據庫系統崩潰。<BR>
<BR>
3、密碼有規律<BR>
在ORACLE調試初期形成的用戶名和密碼一致的不良習慣保留到現在;系統用戶SYS和SYSTEM的密碼也眾所皆知。<br>
<BR>
二、ORACLE用戶的規范化管理<BR>
綜述以上ORACLE用戶管理中的種種弊端,再根據數據庫使用情況,提出其規范化管理的建議:<BR>
<BR>
1、ORACLE DBA (數據庫管理員)的規范<BR>
<BR>
⑴、SUN Solaris操作系統下ORACLE用戶密碼應嚴格保密,絕不該把密碼設成ORACLE;并指定專門的數據庫管理員定期修改。<br>
⑵、ORACLE初始化建立的SYS和SYSTEM系統管理員用戶密碼應由原來的MANAGER改成別的不易被記憶的字符串。<BR>
⑶、ORACLE WEB SERVER的管理端口具備DBA瀏覽數據庫的能力,因此其管理者ADMIN的密碼也應保密,不該把密碼設成MANAGER;并指定專門的數據庫管理員定期修改。<BR>
⑷、ORACLE DBA最好在SUN SPARC服務器控制臺上用窗口式界面實現管理。前提是ORACLE用戶啟動服務器,然后在窗口式命令行下輸入SVRMGRM,即啟動了ORACLE
SERVER MANAGER菜單式管理;用SYSDBA身份登錄后,就可做數據庫系統維護工作了。<BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=416
alt="mgm.gif (7388 bytes)" src="ORACLE 用戶的規范化管理.files/mgm.gif"
width=551></font></td>
</tr>
</table>
<P align="center"><font color="#FFFFFF"><BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=394 alt="login.gif (5906 bytes)"
src="ORACLE 用戶的規范化管理.files/login.gif" width=539></font></td>
</tr>
</table>
<P align="center"><font color="#FFFFFF"> </font></P>
<P><font color="#FFFFFF">2、SQL*PLUS編程用戶的規范<BR>
<BR>
⑴、存儲結構的規范<BR>
考慮到用SQL*PLUS編程可實現各行各業、各公司、各部門多種多樣的應用需求,我們的SQL*PLUS編程用戶也應該朝這個方向規范:不同種類的應用必須有不同的用戶;不同種類的應用必須有不同的存儲位置,包括物理文件、缺省表空間、臨時表空間的創建和規劃:當準備編寫某一較大規模(從ORACLE數據量和面向用戶量考慮)應用程序時,首先應該創建一個邏輯的存儲位置-表空間,同時定義物理文件的存放路徑和所占硬盤的大小。<BR>
<BR>
①、物理文件缺省的存放路徑在/oracle_home/dbs下,在命令行下用UNIX指令df -k 可查看硬盤資源分區的使用情況。如果oracle_home使用率達90‰以上,而且有一個或多個較為空閑的硬盤資源分區可以利用,我們最好把物理文件缺省的存放路徑改到較為空閑的硬盤資源分區路徑下。在此路徑下我們可以這樣規劃資源物理文件的存儲:<BR>
xxx表空間 <BR>
xxx行業/ xxx公司/ xxx 部門/ xxx 服務.dbf<BR>
<BR>
DEMO表空間<BR>
default_datafile_home1/col /elec/sys4/demo1.dbf <BR>
default_datafile_home1/col /elec/sys4/demo2.dbf <BR>
公司系統四部摹擬演示系統物理文件<BR>
HUMAN表空間<BR>
default_datafile_home1/col/elec/human/human.dbf<BR>
公司人事部人事管理系統物理文件<BR>
BOOK表空間<BR>
default_datafile_home1/col/elec/book/book.dbf<BR>
公司資料室圖書管理系統物理文件<BR>
QUESTION表空間<BR>
default_datafile_home1/col/elec/client/question.dbf<BR>
公司客戶服務部問題庫系統物理文件<BR>
PC表空間<BR>
default_datafile_home1/col/chaoxun/client/pc.dbf<BR>
公司PC機售后服務系統物理文件<BR>
……表空間<BR>
default_datafile_home2/……………………………<BR>
等等<BR>
說明:其中default_datafile_home1指oracle_home/dbs;<BR>
default_datafile_home2指較為空閑的硬盤資源分區路徑。<BR>
<BR>
②、物理文件的大小根據應用系統的數據量、數據對象、程序包的多少來定。一般用于摹擬演示的小系統,表空間初始的物理文件為2M即能滿足要求,如果信<BR>
息量滿,還可以增加物理文件,擴充表空間(每次擴充大小也可暫定為2M);一般實際運行的應用系統可適當增加表空間初始的物理文件大小,但也不要一次分配太大(因為不易回收空間,卻易擴充空間),這也需要根據具體情況具體分析:信息量大、需長時間保存的應用在條件允許情況下,表空間可以大到幾百M甚至上G;信息量小、短期經常刷新的應用,表空間可以控制在2M以下。<BR>
<BR>
舉例: ●創建APP 某應用表空間(窗口菜單方式):<BR>
oracle_home/dbs/app.dbf 2M 某應用的物理文件<BR>
<BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG
height=238 alt="dfk.gif (7058 bytes)" src="ORACLE 用戶的規范化管理.files/dfk.gif"
width=552> </font></td>
</tr>
</table>
<P><font color="#FFFFFF"> <BR>
</font></P>
<P><font color="#FFFFFF"> oracle_home所在的/wwwdg分區使用率為10‰,所以物理文件可放在其缺省路徑:oracle_home/dbs
下。<BR>
<BR>
<BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=439 alt="creatbs.gif (11272 bytes)"
src="ORACLE 用戶的規范化管理.files/creatbs.gif" width=623></font></td>
</tr>
</table>
<div align="center"></div>
<P><font color="#FFFFFF"> <BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=454 alt="creatbs1.gif (11294 bytes)"
src="ORACLE 用戶的規范化管理.files/creatbs1.gif" width=651></font></td>
</tr>
</table>
<P><font color="#FFFFFF"><BR>
</font></P>
<P><font color="#FFFFFF">●創建APP 某應用表空間(命令行方式)</font></P>
<P><font color="#FFFFFF">oracle_home/dbs/app.dbf 2M 某應用的物理文件<BR>
<BR>
%svrmgrl<BR>
SVRMGR>connect internal;<BR>
SVRMGR> create tablespace app datafile 'app.dbf'size 2M;<BR>
說明:物理文件的缺省路徑為ORACLE_HOME/DBS<BR>
即wwwdg/oracle/app/oracle/product/7.3.2/dbs<BR>
<BR>
③、表空間的名稱應該采用同系統應用相似的英文字符或字符縮寫,表空間所對應的一個或多個物理文件名也應有相關性。不同用戶所處的缺省表空間不同,存儲的信息就不能互相訪問。這比把所有用戶信息都儲存在系統表空間,安全性大大提高了。如果用ORACLE
WEB SERVER管理端口創建的用戶,其缺省和臨時表空間一定是系統表空間,DBA切記要改變用戶的缺省表空間。臨時表空間存放臨時數據段,處理一些排序、合并等中間操作,根據實際應用的需求可以把它們放在專門創建的表空間里;如果系統表空間大,也可以把它們放在系統表空間。用戶創建的數據索引最好和數據文件分開存放在不同表空間,以減少數據爭用和提高響應速度。<BR>
<BR>
舉例: ●改變dcd用戶缺省表空間(窗口菜單方式):<BR>
<BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=538 alt="alttbs.gif (12734 bytes)"
src="ORACLE 用戶的規范化管理.files/alttbs.gif" width=719></font></td>
</tr>
</table>
<P><font color="#FFFFFF"> <BR>
</font></P>
<P><font color="#FFFFFF">●改變dcd用戶缺省表空間(命令行方式)<BR>
%svrmgrl<BR>
SVRMGR>connect internal;<BR>
SVRMGR>alter user dcd identified by dcdpwd default tablespace app;<BR>
<BR>
⑵、權限的規范<BR>
對ORACLE數據庫編程的用戶具有CONNECT加RESOURCE權限就足以完成其工作。如果要開發在INTERNET上可執行的應用程序,我們建議用ORACLE
WEB SERVER管理端口創建SQL*PLUS編程新用戶。在 ORACLE WEB SERVER ADMINISTRATION中選PL/SQLAGENT。
</font></P>
<P><font color="#FFFFFF">舉例:●創建一個SQL*PLUS編程新用戶new (窗口菜單方式)<BR>
<BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=538 alt="ows1.gif (20681 bytes)"
src="ORACLE 用戶的規范化管理.files/ows1.gif" width=719></font></td>
</tr>
</table>
<P><font color="#FFFFFF"> </font></P>
<P><font color="#FFFFFF"><BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=426 alt="dcd1.gif (8324 bytes)"
src="ORACLE 用戶的規范化管理.files/dcd1.gif" width=720></font></td>
</tr>
</table>
<P><font color="#FFFFFF"> </font></P>
<P><font color="#FFFFFF"> 再選CREATE NEW DCD </font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=403
alt="ndcd.gif (7172 bytes)" src="ORACLE 用戶的規范化管理.files/ndcd.gif" width=720></font></td>
</tr>
</table>
<P><font color="#FFFFFF"> 選SUBMIT NEW SERVICE按紐后,屏幕提示CREATE
DCD SUCCESS!這個過程不僅創建了ORACLE的新用戶,還安裝了WEB SERVER的PL/SQL工具包,并確定了其有效的INTERNET瀏覽端口。<BR>
<BR>
選CONFIGURE 80<BR>
<BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=432 alt="confg.gif (74449 bytes)"
src="ORACLE 用戶的規范化管理.files/confg.gif" width=719></font></td>
</tr>
</table>
<P><font color="#FFFFFF"> <BR>
<BR>
選Directory Mappings <BR>
做好端口相應INTERNET資源配置<BR>
<BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><img
height=311 alt="dmap.gif (24212 bytes)" src="ORACLE 用戶的規范化管理.files/dmap.gif"
width=720></font></td>
</tr>
</table>
<P><font color="#FFFFFF"> </font></P>
<P><font color="#FFFFFF"><BR>
修改WEB請求插件80<BR>
<BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=184
alt="mwrb.gif (4256 bytes)" src="ORACLE 用戶的規范化管理.files/mwrb.gif"
width=720></font></td>
</tr>
</table>
<P><font color="#FFFFFF"> <BR>
<BR>
加入新用戶WEB請求的應用和路徑<BR>
<BR>
</font></P>
<table width="420" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#FFFFFF"><font color="#FFFFFF"><IMG height=480
alt="dap1.gif (11444 bytes)" src="ORACLE 用戶的規范化管理.files/dap1.gif"
width=691></font></td>
</tr>
</table>
<P><font color="#FFFFFF"> <BR>
做好端口相應INTERNET資源配置和加入新用戶的WEB請求插件后,DBA切記要改變用戶的缺省表空間,由系統表空間改到為相關應用而創建的表空間。這樣,有效的面向INTERNET的SQL*PLUS編程用戶就規劃好了。<BR>
<BR>
⑶、密碼和用戶名的規范<BR>
有相當數量的ORACLE用戶名和密碼一致,這是個很不安全的因素。我們建議ORACLE用戶名和密碼一定不要一樣,密碼最好在五,六位字符以上。不同用戶間不應該使用相同的密碼。用戶名的定義可根據實際應用的英文名來設,而依據編程人員的姓名定義的用戶名實際上不規范,可在日后的工作中結合上述有關存儲結構規范的說明逐步改進。<BR>
<BR>
3、特殊要求用戶的規范<BR>
在ORACLE數據庫使用過程中,還會遇到一些有特殊要求的用戶:非編程人員需要對某個表有查詢、增加、刪除、修改的權利。DBA應創建一個這樣的用戶,先確定用戶名和密碼,再規定相關應用所在缺省表空間(包含某個表)和臨時表空間,最后TABLE屬主給其授權:賦予CONNECT角色加SELECT、INSERT、DELETE、UPDATE
<BR>
ON THE TABLE的對象級權限,這可根據實際需求自由取舍。<BR>
<BR>
舉例:●給新用戶授于對象級權限(命令行方式):<BR>
假設新用戶NEW2需要有查詢、刪除、修改DCD用戶的表EMP。<BR>
<BR>
%svrmgrl<BR>
SVRMGR>connect internal; 以系統管理員登錄<BR>
SVRMGR>create user new2 identified by new2345 default tablespace app;<BR>
SVRMGR>connect dcd/dcdpwd; 以dcd用戶登錄<BR>
SVRMGR>grant connect to new2;<BR>
SVRMGR>grant select on emp to new2;<BR>
SVRMGR>grant delete on emp to new2;<BR>
SVRMGR>grant update on emp to new2;<BR>
</font></P>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -