回答
以系統連接。
CREATE USER username IDENTIFIED BY apassword;
GRANT CONNECT TO username;
GRANT EXECUTE on schema.procedure TO username;
您可能還需要:
GRANT SELECT [, INSERT] [, UPDATE] [, DELETE] on schema.table TO username;
取其表的過程使用。
Oracle文檔全面,在線且免費。你應該學會使用它。你可以找到CREATE USER here和GRANT here的語法,
爲了連接數據庫,我們需要授予用戶the CREATE SESSION privilege。
要允許存儲過程的新用戶權限,我們需要授予EXECUTE特權。讓與人必須是這些中的一個:
- 過程所有者
- 授予用戶對程序與執行WITH ADMIN選項
- 與授予用戶的任何對象特權
- DBA或其他超級用戶帳戶。
請注意,我們通常不需要授予存儲過程使用的對象的權限,以便使用該過程。默認權限是我們執行與程序所有者相同權限的程序,並且在執行程序時繼承權限。這由AUTHID子句覆蓋。默認值是定義者(即過程所有者)。只有當AUTHID設置爲CURRENT_USER(調用者,即我們的新用戶)時,我們是否需要授予該過程使用的對象的權限。 Find out more。
CREATE USER USER_NAME IDENTIFIED BY PASSWORD;
GRANT CONNECT, RESOURCE TO USER_NAME;
CONNECT,RESOURCE,DBA」[*「提供這些角色是爲了與以前的版本兼容的Oracle數據庫...... Oracle建議您設計自己的數據庫安全角色,而不是依賴這些角色。這些角色可能不會由未來版本的Oracle數據庫自動創建。「*](http://docs.oracle.com/zh_cn/docs/default.aspx)。 com/cd/B28359_01/server.111/b28286/statements_9013.htm#r209c1-t47) – 2016-06-07 19:21:36
按照以下步驟在Oracle中創建用戶。
--connect爲系統用戶
CONNECT <USER-NAME>/<PASSWORD>@<DATABASE NAME>;
- 創建用戶查詢
CREATE USER <USER NAME> IDENTIFIED BY <PASSWORD>;
--Provide角色
GRANT CONNECT,RESOURCE,DBA TO <USER NAME>;
--Provide特權
GRANT CREATE SESSION GRANT ANY PRIVILEGE TO <USER NAME>;
GRANT UNLIMITED TABLESPACE TO <USER NAME>;
- 提供對錶的訪問。
GRANT SELECT,UPDATE,INSERT ON <TABLE NAME> TO <USER NAME>;
在Oracle 11g中,它是「grant dba」還是「grand sysdba」? – jondinham 2014-09-09 02:59:57
ORA-00990:'授予創建會話授予任何特權至
在會話後應該有一個逗號 – 2014-12-12 19:36:56
步驟1。
create user raju identified by deshmukh;
步驟2.
grant connect , resource to raju;
步驟3.
grant unlimitted tablespace to raju;
步驟4。
grant select , update , insert , alter to raju;
'CONNECT,RESOURCE,DBA' [*」提供這些角色是爲了與以前版本的Oracle數據庫兼容...... Oracle建議您爲數據庫設計自己的角色而不是依賴這些角色,這些角色可能不會由未來版本的Oracle數據庫自動創建。「*](http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9013.htm# r209c1-T47) – 2016-06-07 19:22:20
不要使用像TEST和PROD關鍵環境中的這些方法。下面的步驟只是針對當地環境而建議的。對於我的本地我創建通過這些步驟的用戶:
重要提示:創建credentials.Otherwise當您運行在同一個數據庫的多個應用程序,你可能面臨的問題SYSTEM用戶的用戶。如果你面對一個有關Oracle ORA-28001問題的密碼已經過期,這將很有運行
:CONNECT SYSTEM/<<System_User_Password>>@<<DatabaseName>>; -- connect db with username and password, ignore if you already connected to database.
然後在下面的腳本
CREATE USER <<username>> IDENTIFIED BY <<password>>; -- create user with password
GRANT CONNECT,RESOURCE,DBA TO <<username>>; -- grant DBA,Connect and Resource permission to this user(not sure this is necessary if you give admin option)
GRANT CREATE SESSION TO <<username>> WITH ADMIN OPTION; --Give admin option to user
GRANT UNLIMITED TABLESPACE TO <<username>>; -- give unlimited tablespace grant
EDIT運行
select * from dba_profiles;-- check PASSWORD_LIFE_TIME ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; -- SET IT TO UNLIMITED
'CONNECT,RESOURCE,DBA' [*「提供這些角色是爲了與以前版本的Oracle數據庫兼容... Oracle建議您設計自己的數據庫安全角色,而不是依賴這些角色。這些角色可能不會由將來版本的Oracle數據庫自動創建。「*](http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9013.htm#r209c1-t47) – 2016-06-07 19:20:58
在評論如前所述多次使用CONNECT
,RESOURCE
和DBA
角色由Oracle氣餒。
你必須連接爲SYS來創建角色並賦予這個角色的用戶(一個或多個)。你可以根據自己的喜好使用SQL Developer或SQL * Plus。不要忘記在登錄字符串中提及SYSDBA角色。 connect_identifier
使用不同的語法。
sqlplus sys/<<password>>@<<connect_identifier>> as sysdba
比方說,你有一個像12cR1與「Oracle Technology Network Developer Day」提供的VM之一。在連接字符串可能(連接到提供PDB):
sqlplus sys/[email protected]/orcl as sysdba
sqlplus [email protected]"127.0.0.1/orcl" as sysdba -- to avoid putting the pw in clear
注意,在Unix下,引號都進行轉義,否則他們將外殼消耗。因此"
變得\"
。
然後創建角色MYROLE
並授予它的其他角色或權限。我幾乎增加了最低限度做一些有趣的事情:
create role myrole not identified;
grant create session to myrole;
grant alter session to myrole;
grant create table to myrole;
下一頁您創建用戶MYUSER
。以下爲identified by
這是密碼的字符串區分大小寫。其餘的不是。你也可以使用SQL分隔標識符,而不是常規標識符被轉換恩大寫和受到一些限制(由引號包圍"
)。配額可以是unlimited
而不是20m
。
create user myuser identified by myuser default tablespace users profile default account unlock;
alter user myuser quota 20m on users;
grant myrole to myuser;
最終,您作爲新用戶進行連接。
請注意,您也可以改變默認的配置文件,或者提供另外一個自定義一些設置,密碼的保質期,允許失敗的登錄嘗試根據不同的Oracle版本數等
- 1. Oracle - 授予用戶權限
- 2. 如何授予在Oracle中授予權限的權限
- 3. Oracle 11g語句創建新用戶和授予特權?
- 4. 授予Oracle授予權限
- 5. 創建用戶並授予任何權限
- 6. Oracle權限授予SQl Plus
- 7. 在Oracle中授予「創建目錄」權限
- 8. 如何授予用戶創建#temptables的權限
- 9. 在SQL Server中創建用戶,登錄名和授予權限
- 10. 如何向用戶授予權限
- 11. 如何授予用戶權限
- 12. 爲什麼第一次授予用戶權限時創建了「授予用法」?
- 13. 授予dbms_crypto權限
- 14. 在Oracle中爲用戶授予DBA權限
- 15. 將權限授予其他用戶
- 16. 如何授權開發人員授予用戶權限?
- 17. 如何在django中創建一個可以創建另一個用戶但不授予權限的用戶(只授予預定義的組權限)?
- 18. 授予用戶創建應用程序角色的權限
- 19. 授予MySQL用戶有限權限
- 20. BigQuery - 授予讀取權限但不授予數據集創建權限
- 21. 如何授予用戶在MSMQ中創建新隊列的權限
- 22. 在MySQL權限授予新用戶
- 23. 創建具有所有權限的用戶,但授予
- 24. 如何在PostgreSQL中爲使用' - '的用戶授予權限
- 25. 授予用戶權限來訪問表
- 26. 建立在Oracle 11g中用戶 - 無權限問題
- 27. 如何在Silverlight 4中創建新文件夾並授予權限
- 28. 授予數據庫用戶權限
- 29. MySQL授予用戶權限錯誤
- 30. JIRA授予查看用戶的權限
+1,然而,'CONNECT'角色擁有比名稱更多的特權。我更願意授予'CREATE SESSION'。 – 2012-02-25 20:06:42
我使用的版本是11g – Andy5 2012-02-25 20:39:07
[「CONNECT,RESOURCE和DBA這些角色是爲了與以前版本兼容而提供的...... Oracle建議您設計自己的數據庫安全角色,而不是依賴這些角色。不會由將來版本的Oracle數據庫自動創建。「](http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9013.htm) – danihp 2013-03-13 19:38:17