Oracle用户创建、删除和授权等方法总结
一、查看用户及权限
1.查询所有用户:
1.1、查看所有用户基本信息
select * from all_users;
1.2、查看所有用户相信信息
select * from dba_users;
2.查看用户权限
2.1 查看所有用户
SELECT * FROM DBA_USERS;
SELECT * FROM ALL_USERS;
SELECT * FROM USER_USERS;
2.2 查看用户或角色所拥有的角色
SELECT * FROM DBA_ROLE_PRIVS;
SELECT * FROM USER_ROLE_PRIVS;
2.3 查看用户对象或角色权限
SELECT * FROM DBA_TAB_PRIVS;
SELECT * FROM ALL_TAB_PRIVS;
SELECT * FROM USER_TAB_PRIVS;
2.4 查看所有角色
SELECT * FROM DBA_ROLES;
2.5 查看用户系统权限
SELECT * FROM DBA_SYS_PRIVS;
SELECT * FROM USER_SYS_PRIVS;
2.6 遇到no privileges on tablespace ‘tablespace ‘
alter user userquota 10M[unlimited] on tablespace;
二、创建用户并授予权限
1、创建用户
创建用户与创建的表空间文件形成映射关系(用户名为zldc,密码为zldc),及创建用户并设置用户表空间
CREATE USER zldc IDENTIFIED BY zldc DEFAULT TABLESPACE zldc TEMPORARY TABLESPACE zldc_temp;
附加:
1).更改用户密码
alter user username identified by passwd;
2).解锁用户
ALTER USER 用户名 ACCOUNT UNLOCK;
2.1)、那么遇到这种用户会被锁的情况,我们可以设置用户密码无限次尝试登录,而该用户不会被锁定:
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;
2.2)、另外,做项目运维的小伙伴经常遇到数据库用户密码过期的情况,要定期去修改密码很麻烦,那么我们可以设置用户密码不过期:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
2、添加权限
首先授权用户testuser两个基本的角色权限
CONNECT角色: –是授予最终用户的典型权利,最基本的
CREATE SESSION –建立会话
RESOURCE角色: –是授予开发人员的 CREATE CLUSTER –建立聚簇
CREATE PROCEDURE –建立过程
CREATE SEQUENCE –建立序列
CREATE TABLE –建表
CREATE TRIGGER –建立触发器
CREATE TYPE –建立类型
CREATE OPERATOR –创建操作者
CREATE INDEXTYPE –创建索引类型
CREATE TABLE –创建表
参考:
GRANT
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO username;
授权角色给用户的sql语句:
GRANT role TO username;
实例:
grant connect,resource,dba to zldc;
grant create session to zldc;
GRANT SELECT ON "DNINMSV31"."V_DNDEVICE" TO zldc;
附:授予某用户所有表的只读权限:
select 'grant select on '||owner||'.'||object_name||' to username;'
from dba_objects
where owner in ('databasename') and object_type='TABLE';
或:
1.创建角色
CREATE ROLE SELECT_ROLE
2.给角色分配权限
grant SELECT ANY DICTIONARY to SELECT_ROLE;
grant SELECT ANY TABLE to SELECT_ROLE;
grant SELECT ANY TRANSACTION to SELECT_ROLE;
grant SELECT ANY SEQUENCE to SELECT_ROLE;
3.把角色赋予指定账户
grant SELECT_ROLE to user;
4.删除角色
drop role SELECT_ROLE;
5.检查角色的权限
select * from dba_sys_privs where grantee='SELECT_ROLE'
测试权限的时候需要加上用户的对象例如
select count(*) from hr.ex_user;
3、创建同义词供对方公司系统访问:
CREATE SYNONYM V_DNDEVICE FOR DNINMSV31.V_DNDEVICE;
CREATE SYNONYM V_DNSUBNE FOR DNINMSV31.V_DNSUBNE;
CREATE SYNONYM V_DNPACKAGE FOR DNINMSV31.V_DNPACKAGE;
CREATE SYNONYM V_DNPORT FOR DNINMSV31.V_DNPORT;
解释:第三方的系统直接通过这个同义词就可以访问到用户DNINMSV31中的视图,这也是对系统安全的一种保护措施:第三方系统登录后,只能看到其同义词,其他的都不会访问得到
4、最后还要对NORTHBOUND用户进行连接数的限制,以免第三方无限制的连接数据库,造成数据库SESSION暴涨:
conn / as sysdba
alter system set resource_limite=true scope=both sid='*';
5、新建profile, 初始限制为1 ,用于测试。
create profile third_user limit SESSIONS_PER_USER 1 FAILED_LOGIN_ATTEMPTS unlimited; alter user NORTHBOUND profile third_user;
6、将会话数调整到30
alter profile third_user limit SESSIONS_PER_USER 30;
三、更改用户的默认表空间
1、修改用户的永久表空间:
alter user user default tablespace tablespaceName;
其中第二个user为要操作的用户,tablespaceName为将要设置的默认表空间名称。
2、修改新添加的用户的默认表空间:
alter database default tablespace tablespaceName;
这样新建立的用户的默认表空间就为tablespaceName。
四、删除用户:
1、删除用户
drop user zldc cascade;
如果有用户和这个库建立连接,这里删除会提示失败:ORA-01940: cannot drop a user that is currently connected,需要先kill掉这个用户会话才能删除用户及用户下的数据
Oracle用户创建、删除和授权等方法总结的更多相关文章
- ORACLE用户创建&删除
●sqlplus登陆sqlplus sys/isc@testgmmc as sysdba●创建用户create user testpoi3 IDENTIFIED by iscaccount unloc ...
- Oracle用户创建及删除
偶尔会用到,记录.分享. 1. Oracle用户创建 #创建用户表空间create tablespace $username datafile '/u01/app/oracle/oradata/ufg ...
- 对oracle用户创建asm磁盘
--root用户执行vi /etc/sysctl.conf #Install oracle settingfs.aio-max-nr = 1048576fs.file-max = 6815744#ke ...
- oracle数据库用户创建删除以及数据导入
dmp文件的导入:1.首先,先创建表空间与用户--创建表空间create tablespace CCFOCUS01datafile 'D:\app\Administrator\oradata\orcl ...
- oracle用户创建及权限设置及表空间
建立表空间: create tablespace portx_data datafile 'D:\oracle_data\portx.dbf' size 50m autoextend on next ...
- oracle用户创建及权限设置
权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...
- [转载]Oracle用户创建及权限设置
出处:https://www.cnblogs.com/buxingzhelyd/p/7865194.html 权限: create session 允许用户登录数据库权限 create table ...
- 转载:oracle用户创建及权限设置
权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...
- oracle用户创建及权限设置(转)
权限: create session create table unlimited tablespace connect resource dba 例: #sqlplus /nolog SQL> ...
随机推荐
- Git_添加、删除远端仓库中的文件
一.将文件添加到远端仓库 1.新增文件 2.使用git add 将文件添加到本地缓存中 3.使用git commit 将文件添加到本地仓库中 4.使用git push 将本地仓库中的修改同步到远端仓库 ...
- spring cloud --- Ribbon 客户端负载均衡 + RestTemplate + Hystrix 熔断器 [服务保护] ---心得
spring boot 1.5.9.RELEASE spring cloud Dalston.SR1 1.前言 当超大并发量并发访问一个服务接口时,服务器会崩溃 ,不仅导致这个接口无法 ...
- HDU 2018 母牛的故事 (递归入门)
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=2018 思路分析: 问题分析:这道题的递推关系非常类似斐波那契数列,由题意不难得到以下函数递推式: 对于 ...
- 看看CSDN的吃相
大伙快来看看CSDN的吃相.
- golang中的排序算法实现
1. 冒泡排序算法实现 package main import "fmt" func main() { values := []int{3, 98, 55, 46, 22, 3, ...
- js生成指定范围的随机整数
定义一个random()函数,原理是 随机数和最大值减最小值的差相乘 最后再加上最小值. function random(min, max) { return Math.floor(Math.rand ...
- 通俗易懂详解iptables
防火墙相关概念 从逻辑上讲.防火墙可以大体分为主机防火墙和网络防火墙. 主机防火墙:针对于单个主机进行防护. 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网. ...
- Kubernetes的故事之持久化存储(十)
一.Storage 1.1.Volume 官网网址:https://kubernetes.io/docs/concepts/storage/volumes/ 通过官网说明大致总结下就是这个volume ...
- python变量系列--1
所以这里需要注意变量的使用,print(message),直接去引用,和shell略有不同 1.变量名只能包含字母,数字,下划线,但不能以数字开头 2.变量名不能含有空格
- Xmind8破解教程
Windows下Xmind8破解教程 破解步骤: 1. 首先去xmind国外官网下载对应操作系统的安装包,国内官网的那个是有残缺的,不支持破解. 点击打开链接 通过zip格式下载,别下载exe,不然找 ...