首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Oracle 11g中创建用户并授予权限

如何在Oracle 11g中创建用户并授予权限
EN

Stack Overflow用户
提问于 2012-02-26 03:50:58
回答 5查看 549.3K关注 0票数 80

是否有人可以建议我如何在Oracle 11g中创建用户,并仅授予该用户执行一个特定存储过程和该过程中的表的能力。

我真的不知道该怎么做!

EN

回答 5

Stack Overflow用户

发布于 2012-02-26 03:56:29

以系统身份连接。

代码语言:javascript
复制
CREATE USER username IDENTIFIED BY apassword;

GRANT CONNECT TO username;

GRANT EXECUTE on schema.procedure TO username;

您可能还需要:

代码语言:javascript
复制
GRANT SELECT [, INSERT] [, UPDATE] [, DELETE] on schema.table TO username;

到该过程使用的任何表。

票数 86
EN

Stack Overflow用户

发布于 2014-03-10 14:22:33

按照以下步骤在Oracle中创建用户。

--以系统用户身份连接

代码语言:javascript
复制
CONNECT <USER-NAME>/<PASSWORD>@<DATABASE NAME>;

--创建用户查询

代码语言:javascript
复制
CREATE USER <USER NAME> IDENTIFIED BY <PASSWORD>;

--提供角色

代码语言:javascript
复制
GRANT CONNECT,RESOURCE,DBA TO <USER NAME>;

--提供权限

代码语言:javascript
复制
GRANT CREATE SESSION, GRANT ANY PRIVILEGE TO <USER NAME>;
GRANT UNLIMITED TABLESPACE TO <USER NAME>;

--提供对表的访问。

代码语言:javascript
复制
GRANT SELECT,UPDATE,INSERT ON <TABLE NAME> TO <USER NAME>;
票数 26
EN

Stack Overflow用户

发布于 2016-09-24 17:44:49

正如前面在评论中多次提到的那样,甲骨文不鼓励使用CONNECTRESOURCEDBA角色。

您必须以SYS身份连接才能创建您的角色和被赋予此角色的用户。您可以根据自己的喜好使用SQL Developer或SQL*Plus。不要忘记在登录字符串中提到SYSDBA角色。connect_identifier使用不同的语法。

代码语言:javascript
复制
sqlplus sys/<<password>>@<<connect_identifier>> as sysdba

假设您有一个12cR1,类似于使用"Oracle Technology Network Developer Day“作为VM提供的12cr1。连接字符串可能是(连接到提供的PDB):

代码语言:javascript
复制
sqlplus sys/oracle@127.0.0.1/orcl as sysdba
sqlplus sys@"127.0.0.1/orcl" as sysdba -- to avoid putting the pw in clear

请注意,在Unix下,必须对引号进行转义,否则它们将被shell使用。这样,"就变成了\"

然后创建角色MYROLE,并为其授予其他角色或权限。我添加了几乎最低限度的代码来做一些有趣的事情:

代码语言:javascript
复制
create role myrole not identified;
grant create session to myrole;
grant alter session to myrole;
grant create table to myrole;

接下来,创建用户MYUSERidentified by后面的字符串是密码,区分大小写。剩下的就不是了。您也可以使用SQL分隔的标识符(用引号"括起来),而不是常规标识符,后者转换为大写形式,并受一些限制。配额可以是unlimited而不是20m

代码语言:javascript
复制
create user myuser identified by myuser default tablespace users profile default account unlock;
alter user myuser quota 20m on users;
grant myrole to myuser;

最终,您将以新用户的身份进行连接。

请注意,您还可以更改默认配置文件或提供另一个配置文件,以自定义某些设置,如密码的有效期、允许的失败登录尝试次数等。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9447492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档