国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

使用product_user_profile來實現用戶權限的設定

2024-07-21 02:08:14
字體:
來源:轉載
供稿:網友

使用product_user_profile來實現用戶權限的設定

author:kamus
mail:[email protected]
date:2004-1

我們有時候在以普通用戶登錄sql*plus的時候,會碰到下面的錯誤提示:
error accessing product_user_profile
warning: product user profile information not loaded!
you may need to run pupbld.sql as system

其實在實際意義上這只是一個警告而已,并不是真正的錯誤,遇到這個提示,并不會影響我們正常使用sql*plus,也不會對數據庫功能產生影響。

如果數據庫是使用dbca創建的那么不用擔心這個問題,通常是我們手動創建數據庫的情況下,忘了執行一些腳本才導致出現這樣的警告。product_user_profile其實有很強大的功能,這是system模式下的一個表,在此表中存在的數據可以讓客戶端程序登入的時候檢查是否在命令的執行上有什么限制。基本上我們是以它來限制sql*plus這個客戶端程序(目前好像也只有這個程序才會去自動檢查這張表:d)

如果不想看到這個警告,作如下操作:
以system用戶登入sql*plus,然后執行pupbld.sql,這個文件通常在$oracle_home/sqlplus/admin目錄中。
sql> @$oracle_home/sqlplus/admin/pupbld.sql

執行完畢以后,可以desc product_user_profile來驗證一下改表已經創建,并且熟悉一下表的結構。

以上不是這篇小文章的重點,下面我們要利用這張表來限制scott用戶不能執行drop命令,即使scott用戶擁有drop table的權限。
sql> insert into product_user_profile (
  2  product, userid, attribute, char_value)
  3  values (
  4  'sql*plus','scot%','drop','disabled');

1 row inserted

executed in 0.01 seconds

sql> commit;

commit complete

executed in 0 seconds

然后退出system用戶,用scott用戶登錄,作個測試:
sql> create table t_test_profile(
  2  id number);

table created.

elapsed: 00:00:00.10

sql> drop table t_test_profle;
sp2-0544: invalid command: drop

這就是product_user_profile的作用,回顧一下:
1。如果我們把drop改成create或者update那么就對用戶禁止了這些命令。
2。從上面的insert語句,我們可以看到對于用戶的限制支持通配符,所有以scot開頭的用戶都不能執行指定的命令。
3。修改了product_user_profile內容,用戶必須重新登錄sql*plus,修改才會生效,也就是只有在登錄的時候,sql*plus才會檢查一遍product_user_profile表中的內容。

 


收集最實用的網頁特效代碼!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 关岭| 恩平市| 嵩明县| 吉首市| 台中市| 富阳市| 凤翔县| 冕宁县| 晋江市| 祥云县| 绍兴市| 丹东市| 民和| 邮箱| 逊克县| 富蕴县| 上林县| 松江区| 遂宁市| 苏尼特右旗| 田林县| 邯郸县| 韶山市| 磐石市| 武城县| 商城县| 双牌县| 南乐县| 民权县| 鞍山市| 扎兰屯市| 佛学| 海南省| 三亚市| 斗六市| 诏安县| 瑞安市| 阜城县| 平谷区| 黑水县| 雅安市|