如果您開始做基於Oracle 資料庫的應用開發,您可能會想這樣一個問題。該如何建立符合生產環境要求的資料庫使用者,又應該授予使用者什麼許可權。
這個問題對於項目開發和管理者都是有必要去思考的。
如果為了方便,直接給予DBA 許可權。這在開發環境上是沒有問題的,我見過很多開發也是這麼做的,但是,在部署到生產環境時,會被生產環境管理員擋回。一個普通應用程式的資料庫使用者是不應該有這麼大的許可權。
那麼我們該如何建立使用者和授予許可權,使得它能滿足日後生產環境的要求呢?
從資料庫管理角度來看,新使用者應該有獨立的資料資料表空間、暫存資料表空間以及有限的許可權,使用者的資料只能儲存在自己的資料表空間上,只能訪問和操作自己的資料庫物件。
以下是從這些要求出發,描述了如何建立此使用者的過程。
首先,建立使用者所需要的儲存資料的資料表空間和臨時空間。
create tablespace TBS_MIKI datafile '/u01/oradata/servdb/datafile/tbs_miki01.dbf' size 10M;
create temporary tablespace TBS_MIKI_TEMP datafile '/u01/oradata/servdb/datafile/tbs_miki_temp01.dbf' size 10M;
注意資料表空間命名方式。
其次,建立新使用者,如usr_miki 。
CREATE USER USR_MIKI IDENTIFIED BY USR_MIKI
DEFAULT TABLESPACE TBS_MIKI
TEMPORARY TABLESPACE TBS_MIKI_TEMP
PROFILE DEFAULT
QUOTA UNLIMITED ON TBS_MIKI;
最後授予角色connect,resource
GRANT "CONNECT" TO USR_MIKI WITH ADMIN OPTION;
GRANT "RESOURCE" TO USR_MIKI WITH ADMIN OPTION;
ALTER USER USR_MIKI DEFAULT ROLE "CONNECT", "RESOURCE";
通過以上操作,我們建立了一個基本上符合應用開發和生產需要的資料庫使用者。
這個使用者擁有connect,resource 角色,所有資料將只能寫入到tbs_miki 資料表空間上。
如果您需要新加一個資料表空間如用來單獨儲存索引對象,可以在資料表空間建立後,將它的使用限額授權給該使用者。
create tablespace TBS_MIKI_IND datafile '/u01/oradata/servdb/datafile/tbs_miki_ind01.dbf' size 10M;
alter user USR_MIKI QUOTA UNLIMITED ON TBS_MIKI_IND;
更多Oracle相關資訊見Oracle 專題頁面 http://www.bkjia.com/topicnews.aspx?tid=12