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> ...
随机推荐
- Python_列表比较大小
比较原理 从第一个元素顺序开始比较,如果相等,则继续,返回第一个不相等元素得比较结果.如果所有元素比较均相等,则长的列表大,一样长则两列表相等. 示例 a = [5, 6, 3] b = [5, 4, ...
- Selenium_获取元素文本、属性值、尺寸(8)
from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() driver.get(" ...
- redis中文乱码问题
1.可以直接打开dos指令框输入指令进去redis数据库,因为在安装的时候就已经勾选了配置默认的环境变量. 2.可以输入ip进去,redis-cli.exe -h 192.168.32.8 -p 63 ...
- HDU 1863 畅通工程 (并查集)
原题链接:畅通工程 题目分析:典型的并查集模版题,这里就不详细叙述了.对算法本身不太了解的可以参考这篇文章:并查集算法详解 代码如下: #include <iostream> #inclu ...
- 用格里高利公式求给定精度的PI值
本题要求编写程序,计算序列部分和 4∗(1−1/3+1/5−1/7+...) ,直到最后一项的绝对值小于给定精度eps. 输入格式: 输入在一行中给出一个正实数eps. 输出格式: 在一行中按照&qu ...
- java基础06-变量、常量、作用域
java基础06-变量.常量.作用域 一.变量 变量是什么:就是可以变化的量! java是一种强类型语言,每个变量都必须声明其类型. java是一种强类型语言,每个变量都是必须声明其类型. java变 ...
- 《剑指offer》面试题44. 数字序列中某一位的数字
问题描述 数字以0123456789101112131415-的格式序列化到一个字符序列中.在这个序列中,第5位(从下标0开始计数)是5,第13位是1,第19位是4,等等. 请写一个函数,求任意第n位 ...
- leetcode 1021. 删除最外层的括号
问题描述 有效括号字符串为空 ("")."(" + A + ")" 或 A + B,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的 ...
- Go环境配置和GoModule
Linux相关 Linux常用操作 mkdir directory --创建文件夹 vi file --创建文件,再关闭vim rm file --删除文件 rm -rf directory --递归 ...
- [STM32F10x] 使用printf函数进行串口调试问题
硬件:STM32F103C8T6 平台:Keil ARM-MDk V5.11 利用printf函数通过串口(USART)进行调试时遇到的一个问题: printf("Hello, Mini-M ...