……
大家好,我是今天的博主,<一个想做全栈的咸鱼>
今天学习一下Oracle数据库的权限管理相关操作。如何分配权限,如何撤销权限?有什么具体用法?
3个默认的用户:
sys change_on_install [as sysdba]
system manager
soctt tiger
1、登录管理员账号sqlplus / as sysdba
(一定要启动这两个服务)Isnrctl start 启动监听服务
oradin - starup - sid orcl启动实例服务
2、管理员创建用户
create user lisi identified by lisi;(identified后边为密码)
3、给lisi设置权限:
grant create session to lisi;
4、在给Lisi一个创建表的权限
grant crcate table to lisi;
*有创建表的权限,没有使用表空间的权限,最终还是创建不了表,这就好比你有我房间的钥匙,但是没有我家大门的钥匙,你最终还是进步了我的房间。所以还得去授权
5、给lisi使用表空间的权限
grant unlimited tablespace to lisi;
6、创建表
create table mytable(id int);
*用户登录sqlplus lisi/lisi
7、给表插入数据
insert into mytable values(1);
8、查询
select * from mytable;
9、表删除
drop table mytable;
10、撤销lisi创建表的权限
revoke create table from lisi;
11、查看用户所有表权限
select * from user_sys_privs;
*提交数据commit
12、授权权限
grant 权限名 on mytab to 表名
13、将当前表的所有权限赋给一个新表
grant all on mytab to 表名
14、撤销所有权限
revoke all on mytab from 表名
15、添加表数据列
alter table mytab add name v archar(10);
insert into mytab values(1,‘zhang’);
insert into mytab values(2,‘zhang’);
insert into mytab values(3,‘zhang’);
commit;提交
select * from mytab;
16、disconn断开连接
17、连接
conn 表名/表名
18、查询当前是哪个表
show user
19、查询表内列对象,有什么权限
select * from user_col_privs;
*对象权限可以控制到列
更新
grant update(列名) on mytab to 表名;
插入
grant insert(列名) on mytab to 表名;
查询和删除不能控制到列,更新和插入可以。
ddl数据定义语言 创建一个表,修改一个表,删除一个表
dml操作语言 增删改查
dcl数据控制语言 授权和撤销权限
希望可以帮助到大家,我们下次再见,我还是那个咸鱼!