新的需求,创建一个用户,可以查询基表的数据,但是不能修改,同时自己也可以创建对象

1.创建用户
第一种方式 详细常见,前提 表空间和临时表空间必须存在

格式:
create user 用户名 identified by 密码
profile default
default tablespace 表空间名(一般就是users)
temporary tablespace 临时表空间名(各不相同)
account unlock;

例子:
SQL> create user sun identified by xxxx
2 profile default
3 default tablespace users
4 temporary tablespace tempts01
5 account unlock;

第二种方式 默认创建(系统爱建哪建哪)

格式:
create user 用户名 identified by 密码;

例子:
SQL> create user sun identified by xxxx;

用户已创建。

2.授权

创建好了之后直接登陆报错,因为没有权限

例子:
SQL> conn sun/xxxx

ERROR:
ORA-01045: user SUN lacks CREATE SESSION privilege; logon denied

连接sys用户,授权

SQL> conn / as sysdba
已连接。

说明connect,resource是基础权限
SQL> grant connect,resource to sun;

授权成功。

再次链接,成功,并查询用户拥有权限
SQL> conn sun/xxxx
已连接。

SQL> select * from user_role_privs;

USERNAME GRANTED_ROLE ADMIN_ DEFAUL OS_GRA
------------------------------------------------------------ ------------------------------------------------------------ ------ ------ ------
SUN CONNECT NO YES NO
SUN RESOURCE NO YES NO

3.实现业务需要,基础数据不变,但各自产生的数据再各自的表中
sun用户为新用户
scott用下面的表为基础表,可查询,不能修改

业务一:查看基表数据
SQL> conn scott/xxxx
已连接。
SQL> select table_name from user_tables;

TABLE_NAME
------------------------------------------------------------
DEPT
EMP
BONUS
SALGRADE
TEST

将scott下的dept表的查询权限授予sun,实现可以查询基础表数据的功能
SQL> conn / as sysdba
已连接。
SQL> grant select on scott.dept to sun;

授权成功。

测试一下
SQL> conn sun/xxxx
已连接。

SQL> select * from dept;
select * from dept
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
这个错误是因为没有指定用户名,默认是在自己的用户下查找

再次查找,成功,帅气!
SQL> select * from scott.dept;

DEPTNO DNAME LOC
---------- ---------------------------- --------------------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

查找其他的表,不成功,因为没有授权
SQL> select * from scott.emp;
select * from scott.emp
*
第 1 行出现错误:
ORA-00942: 表或视图不存在

我们查询一下sun用户的权限
SQL> select * from user_tab_privs;

GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRANTA HIERAR

---------- -------- ------------- ---------- ----------- --------- --------
      SUN    SCOTT            DEPT      SCOTT     SELECT         NO        NO

业务二:用户自己可以创建对象

授权:
grant create any produce to 用户名;
grant create any sequence to 用户名;
grant create any view to 用户名;
grant create any synonym to 用户名;

Oracle 根据业务创建新的用户的更多相关文章

  1. 安装SQL Developer,连接Oracle 12c,创建新用户

    1.访问Oracle官网:https://www.oracle.com/index.html,下载SQL Developer 2.安装... 3.打开Sql Developer,右键"创建新 ...

  2. Debian 上创建新的用户

    Debian 上创建新的用户 使用Gnome的窗口界面创建 使用Linux的命令创建 添加用户: useradd -d /home/your_username -m your_username 添加密 ...

  3. oracle用sqlplus创建新用户,不是plsql developer

    1.sqlplus /nolog 2.conn /as sysdba 3.alter user system identified by "123456"; 4.alter use ...

  4. Oracle安装后忘记用户名或密码+创建新登陆用户

    新安装的Oracle11g,不料在使用的时候没记住安装时的用户名和密码. 不用担心,打开sqlplus. 按如下步骤,新建一个登陆用户: 第一步:以sys登陆  sys/密码 as sysdba  此 ...

  5. 给postgresql 创建新的用户

    \du 查看当前postgresql的用户,一般此时只能看到 postgres create user ysr superuser password '123456'; \du 就可以看到两个用户了. ...

  6. mysql创建新的用户及flush privileges解析

    1.首先以root用户登录到mysql mysql -u root -p 2.接着要知道mysql的用户信息是存储在mysql.user(mysql数据库下的user数据表)下的,所以我们只需添加一个 ...

  7. oracle创建新的用户 创建序列 并生成自动自增

    1.用有dba权限的用户登录:sys用户 system 口令:manager 2.创建一个新用户:create user abc identified by 123456; 3.授予DBA权限: gr ...

  8. oracle11g创建新的用户和改动最大连接数

    create user test identified by root; grant create session,resource to root; alter user test account ...

  9. 创建新用户,连接Oracle数据库

    1.sys用户是最高管理员用户,那我们就用这个sys用户登录oracle:

随机推荐

  1. 基于Delphi的Socket I/O模型全接触 good

    老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系.他们的信会被邮递员投递到他们的信箱里. 这和Socket模型非常类似.下面我就以老陈接收信件为例讲解Socket I/O模型. 一:se ...

  2. bzoj2209 2329

    括号序列的经典做法把(看成1,)看成-1匹配的括号序列即任意前缀和都非负我们先解决静态的问题,给定一段括号序列求最少修改次数我们先找出最大后缀和a和最小前缀和b之间一定可以不相交显然a+|b|个括号是 ...

  3. TCP三次握手四次断开

    今天被问到三次握手了,当时只是脑子里有印象,却忘了一些SYN细节,手动微笑. 这么下去还怎么混...赶紧复习个... 三次握手是什么? TCP是面向连接的,无论哪一方向另一方发送数据之前,都必须先在双 ...

  4. 如何利用预编译指令来判断Delphi 的版本转载

    条件符号 含义 VERxx 编译器版本,XX表示版本,例如:Delphi 1.0 的编译器版本为80.Delphi 5.0 的编译器版本为130WIN32 是否WIN32的运行环境(Windows 9 ...

  5. HDOJ -- 4699

    Editor Time Limit: 3000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Su ...

  6. ftp服务器测试

    前台传递字符串reqbuf: ftp服务器IP\r\n端口\r\n用户名\r\n密码\r\nftp路径\r\n\r\n 解析reqbuf,重新组装成系统命令,去执行ftptest.sh脚本, 调用sy ...

  7. SQL 判断字段中指定字符出现的次数

    原文地址:SQL 判断字段中指定字符出现的次数 原理:将指定字符转换为空,原长度减去转换后的长度就是指定字符的次数. 在做数据处理时遇到一个SQL操作的问题就是有一列关键词字段,字段中包含各种乱七八糟 ...

  8. atomic_t原子操作

    所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它的最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念. 原子操作需要硬件的支持 ...

  9. 为 Joomla 而生的 Kunena 论坛安装手册

    查看并下载最新版本Kunena论坛,或直接下载Kunena1.7.2.如果你打算在Joomla网站中安装一个论坛,可以考虑一下Kunena论坛组件,一个为Joomla而生的免费的开源论坛组件. 安装: ...

  10. Git 使用相关

    GIT命令和使用 安装git完成后,创建工程目录,右键运行bash here 1.查看git当前配置信息: git config -l 2.配置用户名.邮箱git config --global us ...