oracle创建用户并授权,oracle创建用户授权视图

首页 > 教育 > 作者:YD1662024-04-20 02:08:20

说明:本文只关注一般项目中的实用创建和授权等简单操作,不对复杂的授权做说明。

oracle用户建立的过程:创建表空间/默认表空间-创建用户-给用户授权-建表……

一、创建表空间

可以采用oracle默认的users表空间,不需要建立。

自己建立表空间,oracle数据库服务器一般都在linux上,需要指定linux上的路径。

没有建立临时表空间,临时表空间采用默认的方式;可以根据需要建立临时表空间。

--bigfile对空间大小无限制,也可以不指定;初始大小1G,自动增长1G无限制。 create bigfile tablespace xxxx_tbs datafile '/oradata/YDTHEAST/xxxx_tbs_01.dbf' size 1G autoextend on next 1G maxsize unlimited; --表空间查看语句 select *from user_users;二、创建用户名称并授权1.DBA权限查看

创建用户要用DBA权限的用户;查看DBA用户的权限语句

select * from dba_role_privs;--查看整个oracle系统的权限角色列表 select * from user_role_privs;--查看当前登录用户自己的权限、角色列2.创建用户(sql不区分大小写)

--创建用户 CREATE USER 用户名 IDENTIFIED BY 密码; --例 CREATE USER xiaogou IDENTIFIED BY 123456; --指定表空间和临时表空间授权 CREATE USER xiaogou IDENTIFIED BY 123456 default tablespace 表空间名称 temporary tablespace TEMP; -- 一个新建的用户,需要表空间的授权。 grant unlimited tablespace to 用户名称; --修改用户密码 ALTER USER 用户名 IDENTIFIED BY 密码; --删除用户 DROP USER 用户名; --若用户拥有对象(例如进行过增删改查等等操作),则不能直接删除,否则将返回一个错误值。 --指定关键字CASCADE,可删除用户所有的对象,然后再删除用户。 DROP USER 用户名 CASCADE;3.用户授权角色

创建完成用户不授权会报错,ORA-01045: user xiaogou lacks CREATE SESSION privilege;logon denied,所以必须授权角色。

授权有两种方式,标准角色和具体授权

--角色授权 grant connect,resource,dba to 用户名; --授予oracle的连接权限,在用户授权时这种不常用。 grant create session to 用户名;

三种Oracle的标准角色

grant connect, resource, dba to 用户名1 [,用户名2]...; --管理用户角色授权(常用) grant connect,resource,dba to 用户名; --普通用户角色授权(常用) grant connect,resource to 用户名; --临时用户角色授权(不常用) grant connect to 用户名; --权限收回操作 revoke connect,resource,dba from 用户名;4.自建角色并授权(不经常使用)

--创建角色 create role 角色1; --授权查询权限给角色1 grant select on 表名 to 角色1; …… --授权角色给用户 grant 角色1 to 用户名; --删除角色 drop role 角色1;三、表存储过程等授权1.非DBA用户表授权,DBA用户天然拥有所有权限。

非DBA用户授权完成并没有其他用户表的权限,需要把其他用户表的权限给本用户。

select, update, insert, alter, index, delete, all --all包括所有权限 execute --执行存储过程权限 --登录某用户后部分授权 grant select, update, insert on 表名称 to 用户名; --登录某用户后全部授权 grant all on 表名称 to 用户名 --存储过程授权 grant execute on 存储过程名称 to 用户名2.批量表授权过程

Oracle只能单表授权

--把所有表都查出来,然后使用文本文档处理 select table_name from all_table where owner='其他用户' --很多个grant语句授权 grant select/all on 表1 to 本用户 grant select/all on 表2 to 本用户 ……3.dba用户把用户1的表权限给用户2

grant all on 用户名1.表名称 to 用户名24.表空间授权

无论表空间是否指定,都要进行表空间授权才能存储数据,不然报错。

grant unlimited tablespace to xiaogou;四、两种建立用户并授权的方式,按照执行即可总结1

--创建表空间 create bigfile tablespace 表空间名称 datafile '/oradata/YDTHEAST/xxxx_tbs_01.dbf' size 1G autoextend on next 1G maxsize unlimited; --创建用户,采用默认表空间方式,默认表空间为users,临时表空间为temp create user xiaogou identified by 123456; --指定表空间和临时表空间授权 CREATE USER xiaogou IDENTIFIED BY 123456 default tablespace 表空间名称 temporary tablespace TEMP; --管理用户角色授权(常用) grant connect,resource,dba to xiaogou; --普通用户角色授权(常用) grant connect,resource to xiaogou; --表空间授权,不然无法输入数据会报错 grant unlimited tablespace to xiaogou;总结2

--创建表空间 create bigfile tablespace xxxx_tbs datafile '/oradata/YDTHEAST/xxxx_tbs_01.dbf' size 1G autoextend on next 1G maxsize unlimited; --创建用户并给用户授权表空间 create user 用户名 identified by "密码" default tablespace xxxx_tbs quota unlimited on xxxx_tbs; --授权连接数据库 grant create session to 用户名; --授权表的权限 grant create table to 用户名; --授权视图权限 grant create view to 用户名; --授权序列权限 grant create sequence to 用户名; --授权存储过程权限(包含function 权限) grant create procedure to 用户名;参考

--授予dba权限 grant dba to userName --回收dba权限 revoke dba from userName --授予用户登录数据库的权限: grant create session to userName; --授予用户操作表空间的权限: grant unlimited tablespace to userName; grant create tablespace to userName; grant alter tablespace to userName; grant drop tablespace to userName; grant manage tablespace to userName; --授予用户操作表的权限: grant create table to userName; (包含有create index权限, alter table, drop table权限) --授予用户操作视图的权限: grant create view to userName; (包含有alter view, drop view权限) --授予用户操作触发器的权限: grant create trigger to userName; (包含有alter trigger, drop trigger权限) --授予用户操作存储过程的权限: grant create procedure to userName;(包含有alter procedure, drop procedure 和function 以及 package权限) --授予用户操作序列的权限: grant create sequence to userName; (包含有创建、修改、删除以及选择序列) --授予用户回退段权限: grant create rollback segment to userName; grant alter rollback segment to userName; grant drop rollback segment to userName; --授予用户同义词权限: grant create synonym to userName;(包含drop synonym权限) grant create public synonym to userName; grant drop public synonym to userName; --授予用户关于用户的权限: grant create user to userName; grant alter user to userName; grant become user to userName; grant drop user to userName; --授予用户关于角色的权限: grant create role to userName; --授予用户操作概要文件的权限 grant create profile to userName; grant alter profile to userName; grant drop profile to userName; --允许从sys用户所拥有的数据字典表中进行选择 grant select any dictionary to userName;

oracle创建用户并授权,oracle创建用户授权视图(1)

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.