Oracle 根据业务创建新的用户
新的需求,创建一个用户,可以查询基表的数据,但是不能修改,同时自己也可以创建对象
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 根据业务创建新的用户的更多相关文章
- 安装SQL Developer,连接Oracle 12c,创建新用户
1.访问Oracle官网:https://www.oracle.com/index.html,下载SQL Developer 2.安装... 3.打开Sql Developer,右键"创建新 ...
- Debian 上创建新的用户
Debian 上创建新的用户 使用Gnome的窗口界面创建 使用Linux的命令创建 添加用户: useradd -d /home/your_username -m your_username 添加密 ...
- oracle用sqlplus创建新用户,不是plsql developer
1.sqlplus /nolog 2.conn /as sysdba 3.alter user system identified by "123456"; 4.alter use ...
- Oracle安装后忘记用户名或密码+创建新登陆用户
新安装的Oracle11g,不料在使用的时候没记住安装时的用户名和密码. 不用担心,打开sqlplus. 按如下步骤,新建一个登陆用户: 第一步:以sys登陆 sys/密码 as sysdba 此 ...
- 给postgresql 创建新的用户
\du 查看当前postgresql的用户,一般此时只能看到 postgres create user ysr superuser password '123456'; \du 就可以看到两个用户了. ...
- mysql创建新的用户及flush privileges解析
1.首先以root用户登录到mysql mysql -u root -p 2.接着要知道mysql的用户信息是存储在mysql.user(mysql数据库下的user数据表)下的,所以我们只需添加一个 ...
- oracle创建新的用户 创建序列 并生成自动自增
1.用有dba权限的用户登录:sys用户 system 口令:manager 2.创建一个新用户:create user abc identified by 123456; 3.授予DBA权限: gr ...
- oracle11g创建新的用户和改动最大连接数
create user test identified by root; grant create session,resource to root; alter user test account ...
- 创建新用户,连接Oracle数据库
1.sys用户是最高管理员用户,那我们就用这个sys用户登录oracle:
随机推荐
- 【HDU 5381】 The sum of gcd (子区间的xx和,离线)
[题目] The sum of gcd Problem Description You have an array A,the length of A is nLet f(l,r)=∑ri=l∑rj= ...
- 值得推荐的C/C++框架和库 very good
[本文系外部转贴,原文地址:http://coolshell.info/c/c++/2014/12/13/c-open-project.htm]留作存档 下次造轮子前先看看现有的轮子吧 值得学习的C语 ...
- WordPress Quick Paypal Payments插件HTML注入漏洞
漏洞名称: WordPress Quick Paypal Payments插件HTML注入漏洞 CNNVD编号: CNNVD-201310-491 发布时间: 2013-10-22 更新时间: 201 ...
- PrintWriter out = response.getWriter() 输出中文乱码问题
HttpServletResponse response = ServletActionContext.getResponse(); response.setCharacterEncod ...
- Makefile第二讲:打印出内容和使用变量
摘要 `@echo "开始生成最终执行文件,请稍候..."`这一句便是将一条信息输出到终端,为何前边有个`@`符号呢?有了这个符号该命令本身就不会输出到终端(不理解,自己去掉或者加 ...
- asp.net Post Get提交数据转Model实例
转自:http://blog.csdn.net/daodaowolf/article/details/8990694 此功能是将客户端HTTP协议POST GET方式提交的数据转换为某个Model实例 ...
- include a image in devexpress datagrid
Add an ImageCollection to yout form and add some icons 16x16 to it. Add a column to the Grid for the ...
- python 零散记录(二) 序列的相关操作 相加 相乘 改变 复制
序列相加: [1,2] + [3,4] == [1,2,3,4] #字符串也是序列的一种 'hello' + 'world' == 'hello world' #但是序列相加只限于相同类型的序列间相加 ...
- javascript 通过IE ActiveX 获得本机内网ip
<HTML><HEAD><TITLE>WMI Scripting HTML</TITLE> <META http-equiv=Content-Ty ...
- C语言求x的y次方,自定义函数,自己的算法
我是一名高二中学生,初中时接触电脑,非常酷爱电脑技术,自己百度学习了有两年多了,编程语言也零零散散的学习了一点,想在大学学习计算机专业,所以现在准备系统的学习C语言,并在博客中与大家分享我学习中的心得 ...