日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解如何實現(xiàn)Oracle修改用戶權(quán)限

這里將介紹Oracle修改用戶權(quán)限的實現(xiàn)過程,包括一些權(quán)限管理方面的東西。希望通過本文能對大家了解Oracle修改用戶權(quán)限有所幫助。

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的瀘溪網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

ORACLE數(shù)據(jù)庫用戶與權(quán)限管理

ORACLE是多用戶系統(tǒng),它允許許多用戶共享系統(tǒng)資源。為了保證數(shù)據(jù)庫系統(tǒng)的安全,數(shù)據(jù)庫管理系統(tǒng)配置了良好的安全機制。

2. 1 ORACLE數(shù)據(jù)庫安全策略

建立系統(tǒng)級的安全保證

系統(tǒng)級特權(quán)是通過授予用戶系統(tǒng)級的權(quán)利來實現(xiàn),系統(tǒng)級的權(quán)利(系統(tǒng)特權(quán))包括:建立表空間、建立用戶、修改用戶的權(quán)利、刪除用戶等。系統(tǒng)特權(quán)可授予用戶,也可以隨時回收。ORACLE系統(tǒng)特權(quán)有80多種。

建立對象級的安全保證

對象級特權(quán)通過授予用戶對數(shù)據(jù)庫中特定的表、視圖、序列等進行操作(查詢、增、刪改)的權(quán)利來實現(xiàn)。

建立用戶級的安全保證

用戶級安全保障通過用戶口令和角色機制(一組權(quán)利)來實現(xiàn)。引入角色機制的目的是簡化對用戶的授權(quán)與管理。做法是把用戶按照其功能分組,為每個用戶建立角色,然后把角色分配給用戶,具有同樣角色的用戶有相同的特權(quán)。

2.2 用戶管理

ORACLE用戶管理的內(nèi)容主要包括用戶的建立、修改和刪除

用戶的建立

 
 
  1. SQL>CREATE USER jxzy  
  2. >IDENTIFIED BY jxzy_password  
  3. >DEFAULT TABLESPACE system  
  4. >QUATA 5M ON system; //供用戶使用的最大空間限額 

Oracle修改用戶權(quán)限

 
 
  1. SQL>CREATE USER jxzy  
  2. >IDENTIFIED BY jxzy_pw  
  3. >QUATA 10M ON system; 

刪除用戶及其所建對象

 
 
  1. SQL>DROP USER jxzy CASCADE; //同時刪除其建立的實體 

2.3系統(tǒng)特權(quán)管理與控制

ORACLE 提供了80多種系統(tǒng)特權(quán),其中每一個系統(tǒng)特權(quán)允許用戶執(zhí)行一個或一類數(shù)據(jù)庫操作。

授予系統(tǒng)特權(quán)

 
 
  1. SQL>GRANT CREATE USER,ALTER USER,DROP USER 
  2. >TO jxzy_new  
  3. >WITH ADMIN OPTION

回收系統(tǒng)特權(quán)

 
 
  1. SQL>REVOKE CREATE USER,ALTER USER,DROP USER 
  2. >FROM jxzy_new  
  3. //但沒有級聯(lián)回收功能 

顯示已被授予的系統(tǒng)特權(quán)(某用戶的系統(tǒng)級特權(quán))

 
 
  1. SQL>SELECT*FROM sys.dba_sys_privs 

2.4 對象特權(quán)管理與控制

ORACLE對象特權(quán)指用戶在指定的表上進行特殊操作的權(quán)利。這些特殊操作包括增、刪、改、查看、執(zhí)行(存儲過程)、引用(其它表字段作為外鍵)、索引等。

授予對象特權(quán)

 
 
  1. SQL>GRANT SELECT,INSERT(office_num,office_name),  
  2. >UPDATE(desc)ON office_organization  
  3. >TO new_adminidtrator  
  4. >WITH GRANT OPTION;  
  5. //級聯(lián)授權(quán)  
  6. SQL>GRANT ALL ON office_organization  
  7. >TO new_administrator 

回收對象特權(quán)

 
 
  1. SQL>REVOKE UPDATE ON office_orgaization  
  2. >FROM new_administrator  
  3. //有級聯(lián)回收功能  
  4. SQL>REVOKE ALL ON office_organization  
  5. >FROM new_administrator  

顯示已被授予的全部對象特權(quán)

 
 
  1. SQL>SELECT*FROM sys.dba_tab_privs 

2.5 角色的管理

ORACLE的角色是命名的相關(guān)特權(quán)組(包括系統(tǒng)特權(quán)與對象特權(quán)),ORACLE用它來簡化特權(quán)管理,可把它授予用戶或其它角色。

ORACLE數(shù)據(jù)庫系統(tǒng)預(yù)先定義了CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、 IMP_FULL_DATABASE五個角色。CONNECT具有創(chuàng)建表、視圖、序列等特權(quán);RESOURCE具有創(chuàng)建過程、觸發(fā)器、表、序列等特權(quán)、DBA具有全部系統(tǒng)特權(quán);EXP_FULL_DATABASE、 IMP_FULL_DATABASE具有卸出與裝入數(shù)據(jù)庫的特權(quán)。

通過查詢sys.dba_sys_privs可以了解每種角色擁有的權(quán)利。

授予用戶角色

 
 
  1. SQL>GRANT DBA TO new_administractor  
  2. >WITH GRANT OPTION;  
  3. ============================================================== 

Oracle 的用戶根據(jù)所被授予的權(quán)限分為系統(tǒng)權(quán)限和對象權(quán)限。其中最高的權(quán)限是sysdba。 Sysdba具有控制Oracle一切行為的特權(quán),諸如創(chuàng)建、啟動、關(guān)閉、恢復(fù)數(shù)據(jù)庫,使數(shù)據(jù)庫歸檔/非歸檔,備份表空間等關(guān)鍵性的動作只能通過具有sysdba權(quán)限的用戶來執(zhí)行。這些任務(wù)即使是普通DBA角色也不行。Sysoper是一個與sysdba相似的權(quán)限,只不過比sysdba少了SYSOPER privileges WITH ADMIN OPTION,CREATE DATABASE,RECOVER DATABASE UNTIL這幾個權(quán)限而已。這兩者的認證方式是相同的辦法,所以下面只介紹sysdba的認證管理。

一般對sysdba的管理有兩種方式: *** 作系統(tǒng)認證和密碼文件認證。具體選擇那一種認證方式取決于:你是想在Oracle運行的機器上維護數(shù)據(jù)庫,還是在一臺機器上管理分布于不同機器上的所有的Oracle數(shù)據(jù)庫。若選擇在本機維護數(shù)據(jù)庫,則選擇 *** 作系統(tǒng)認證可能是一個簡單易行的辦法;若有好多數(shù)據(jù)庫,想進行集中管理,則可以選擇password文件認證方式。

下圖比較直觀的說明了這個選擇權(quán)衡過程:

使用 *** 作系統(tǒng)認證方式的配置過程:

1. 在 *** 作系統(tǒng)中建立一個合法帳戶。

具體來說,在NT上,首先建立一個本地用戶組,取名為ORA__DBA,其中SID為該數(shù)據(jù)庫實例的SID,或者建立一個ORA_DBA地組,該組不對應(yīng)于任何一個單獨的Oracle實例。這樣當一個NT上有好幾個Oracle實例時,不用分別管理。然后再NT上建立一個用戶,并且把它歸入該組中。但是實際上這兩步在Oracle8I安裝過程中已經(jīng)自動完成了,一般不用手動進行。

第三步:在sqlnet.ora(位于$ORACLE_HOME/NETWORK/ADMIN目錄中)中,把SQLNET.AUTHENTICATION _SERVICES 設(shè)置為SQLNET.AUTHENTICATION_SERVICES= (NTS),意思為使用NT認證方式。

第四步,在INIT.ORA中,把REMOTE_LOGIN_PASSWORD設(shè)置為NONE,意思是不用password認證方式。

完成以上步驟后,就可以在登錄到NT后,直接在SQL*Plus 和SERVER MANAGER中CONNECT INTERNAL (CONNECT / AS SYSDBA)來作為超級用戶登錄到Oracle中,執(zhí)行一些只有超級用戶才能進行的 *** 作。

在Unix下,情況有些不同。畢竟這是兩個完全不同的 *** 作系統(tǒng)。

首先,在安裝Oracle之前,建立一個DBA組,這一步不用說了,不然是裝不上Oracle的。一般還建立一個名為Oracle的用戶,并把它加入到DBA組中。

第二步, 設(shè)置REMOTE_LOGIN_PASSWORD為NONE。在Oracle8.1以后,該參數(shù)默認為EXCLUSIVE。一定要記得改過來。

第三步, 用該用戶名登錄Unix,運行SQL*Plus 或者SERVER MANAGER,輸入以下命令:CONNECT INTERNAL(CONNECT / AS SYSDBA)來登錄到Oracle中。

使用password文件認證的具體步驟:

Oracle提供orapwd實用程序來創(chuàng)建password 文件,運用orapwd建立該認證方式的具體步驟如下:

1. 使用Orapwd實用程序來創(chuàng)建一個PASSWORD文件。語法:

orapwd file=文件名 password=internal用戶密碼 entried=entries.

詳細解釋:

文件名要包含完整的全路徑名,如果不指定,Oracle把它默認放置$ORACLE_HOME/dbs(Unix下)或者$ORACLE_HOME/DATABASE(NT下)下。

用戶密碼是用戶internal的密碼。當然后來還可以再向里邊加入別的超級用戶。

Entries表示最大允許有的超級用戶數(shù)目。這個是一個可選的。前兩者是必須指定的。一般會把它設(shè)置的比實際需要大一些,以免不夠。

2. 把INIT.ORA中REMOTE_LOGIN_PASSWORD設(shè)置為EXCLUSIVE 或SHARED.使用EXCLUSIVE表示只有當前INSTANCE使用這個password文件。而且允許有別的用戶作為sysdba登錄進系統(tǒng)里邊,而若選擇了SHARED,則表明不止一個實例使用這個密碼文件,伴隨著一個很強的約束:sysdba權(quán)限只能授予sys和internal這兩個用戶名。(其實internal不是一個實際用戶,而只是sys作為sysdba登錄時的一個別名。)

同時還要記得把sqlnet.ora文件中SQLNET.AUTHENTICATION _SERVICES設(shè)置為NONE。一般在Unix下它是默認設(shè)置。在NT下,若選擇典型安裝時,會使用OS認證,而自定義時會使用密碼文件認證方式。在安裝過程中會提示輸入INTERNAL密碼。這樣的話,就不用在手工創(chuàng)建密碼文件和設(shè)定INTERNAL的密碼了。

3. 用SQL*Plus 或SERVER MANAGER運行下面命令登錄進系統(tǒng):CONNECT INTERNAL/密碼。

注意點:

1.在Oracle8.1.6安裝在WIN2000下創(chuàng)建數(shù)據(jù)庫時,常常會發(fā)生憑證檢索失敗的錯誤。這是由于Oracle不能應(yīng)用OS認證的結(jié)果。一般可以通過修改sqlnet.ora中SQLNET.AUTHENTICATION _SERVICES為NONE來解決。這時,Oracle將采用密碼文件認證方式。

2.由于Oracle有幾個系統(tǒng)預(yù)建的用戶,所以最好在安裝完成以后馬上改變這些用戶的密碼。系統(tǒng)默認得密碼分別為:internal/oracle , sys/change_on_install, system/manager.

3.當選擇密碼文件認證方式時,可以再向系統(tǒng)中加入其他超級用戶。比如用以下語句把用戶SCOTT加入超級用戶之中:(由具有sysdba權(quán)限的人執(zhí)行)

SQL>GRANT SYSDBA TO SCOTT;這樣SCOTT用戶就具有了sysdba權(quán)限。注意,此時SCOTT用戶可以以兩種身份登錄:SCOTT , SYS.當SCOTT在登錄時沒有輸入AS SYSDBA時,SCOTT是作為普通用戶登錄的。而當?shù)卿洉r輸入了AS SYSDBA時,此時SCOTT登錄進去的用戶實際上為sys。

4. 當前系統(tǒng)中的具有sysdba權(quán)限的用戶名可以從數(shù)據(jù)字典視圖v$pwfile_user中查詢得到:

SELECT * FROM V$PWFILE_USERS; 如上圖所示。

5. 系統(tǒng)中最大的具有sysdba權(quán)限的用戶數(shù)由創(chuàng)建密碼文件時的ENTRIES參數(shù)決定。當需要創(chuàng)建更多的具有sysdba權(quán)限的用戶時,就需要刪除原有的密碼文件,重新創(chuàng)建一個。這需要關(guān)閉數(shù)據(jù)庫,刪除密碼文件,重新創(chuàng)建一個新的密碼文件,在entries中輸入足夠大的數(shù)目。再啟動Oracle。這時,所有原來北授權(quán)的超級用戶都不再存在,需要重新授權(quán)。所以在重新創(chuàng)建密碼文件前,先要查詢該視圖,記下用戶名,再在創(chuàng)建完密碼文件后重新授權(quán)。

6. Internal用戶密碼忘記的處理方法:

有兩種辦法:

1. ALTER USER SYS IDENTIFIED BY 新密碼;//這同時也改變了Internal的密碼,在Oracle8I中通過

2. 重新創(chuàng)建一個新的密碼文件,指定一個新的密碼。


本文題目:詳解如何實現(xiàn)Oracle修改用戶權(quán)限
網(wǎng)頁地址:http://m.5511xx.com/article/cccghhh.html