oracle创建用户语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle创建用户语句相关的知识,希望对你有一定的参考价值。

创建一个用户,权限能查询gecs_law表的语句怎么写了?

创建用户的语句:

    Oracle创建用户(密码验证用户),可以采用CREATE USER命令。 

    CREATE USER username IDENTIFIED BY password 

    OR IDENTIFIED EXETERNALLY 

    OR IDENTIFIED GLOBALLY AS ‘CN=user' 

    [DEFAULT TABLESPACE tablespace] 

    [TEMPORARY TABLESPACE temptablespace] 

    [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace 

    [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace 

    [PROFILES profile_name] 

    [PASSWORD EXPIRE] 

    [ACCOUNT LOCK or ACCOUNT UNLOCK] 

其中: 

    CREATE USER username:用户名,一般为字母数字型和“#”及“_”符号。 

    IDENTIFIED BY password:用户口令,一般为字母数字型和“#”及“_”符号。 

    IDENTIFIED EXETERNALLY:表示用户名在操作系统下验证,该用户名必须与操作系统中所

    定义的用户名相同。 

    IDENTIFIED GLOBALLY AS ‘CN=user':用户名由Oracle安全域中心服务器验证,CN名字表示用户的外部名。 

    [DEFAULT TABLESPACE tablespace]:默认的表空间。 

    [TEMPORARY TABLESPACE tablespace]:默认的临时表空间。 

    [QUOTA [integer K[M] ] [UNLIMITED] ] ON tablespace:用户可以使用的表空间的字节数。 

    [PROFILES profile_name]:资源文件的名称。 

    [PASSWORD EXPIRE]:立即将口令设成过期状态,用户再登录前必须修改口令。 

    [ACCOUNT LOCK or ACCOUNT UNLOCK]:用户是否被加锁,默认情况下是不加锁的。

oracle数据库的权限系统分为系统权限与对象权限:

    系统权限( database system privilege )可以让用户执行特定的命令集。例如,create table权限允许用户创建表,grant any privilege 权限允许用户授予任何系统权限。

    对象权限( database object privilege )可以让用户能够对各个对象进行某些操作。例如delete权限允许用户删除表或视图的行,select权限允许用户通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。 

    每个oracle用户都有一个名字和口令,并拥有一些由其创建的表、视图和其他资源。oracle角色(role)就是一组权限(privilege)(或者是每个用户根据其状态和条件所需的访问类型)。用户可以给角色授予或赋予指定的权限,然后将角色赋给相应的用户。一个用户也可以直接给其他用户授权。

参考技术A 创建用户:create user 用户名 identified by 密码,当然创建完用户后,你要给最基本的connect和resource角色,否则无法登录的。
查询权限:grant select on 该表用户名.gecs_law to 新加用户名
参考技术B 创建用户
create user user_name identified by password;

grant dba to user_name
查询表的权限
grant select on gecs_law to user_name;本回答被提问者采纳
参考技术C 一个是单纯创建个表空间,一个是创建表空间的时候,将这个表空间授权给用户,用户创建的对象会自动放到这个表空间中

Oracle 数据泵迁移用户创建 SQL语句

在进行数据泵迁移时,通常是按照用户进行导入导出,因此需要确认当前数据库中存在那些非系统用户!

查看数据库中用户状态为 OPEN 的用户:

select username,account_status,created,PROFILE from dba_users where account_status='OPEN' order by created;

通过上述sql查询出的结果中,根据 created 字段可以筛选掉非系统用户!

查看数据库中的角色:

select * from dba_roles;

创建用户 SQL:

select 'create user ' || t.username || ' identified by values ' || chr(39) ||
       u.password || chr(39) || ' default tablespace ' ||
       t.default_tablespace || ' profile ' || p.name || ' Temporary TABLESPACE '|| TEMPORARY_TABLESPACE  ||';' create_user_withoutpass
  from dba_users t, sys.user$ u, sys.profname$ p, sys.user_astatus_map m
 where t.user_id = u.user#
   and u.resource$ = p.profile#
   and u.astatus = m.status#
   and t. username in ('需要创建的用户名,用逗号隔开');

用户授权:

select 'GRANT connect,resource,unlimited tablespace,DBA to ' ||username|| ';' from dba_users where username in ('需要创建的用户名,用逗号隔开');

📢 注意:如果是使用expdp,则不需要创建用户和授权!


本次分享到此结束啦~

如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。

❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️

以上是关于oracle创建用户语句的主要内容,如果未能解决你的问题,请参考以下文章

oracle 创建表空间、创建用户

oracle中查询用户表/索引/视图创建语句

ORACLE12C PDB创建默认表空间和用户语句

Oracle 数据泵迁移用户创建 SQL语句

Oracle 数据泵迁移用户创建 SQL语句

Oracle如何创建用户?