Oracle11g 用户与权限管理
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,---用户与权限管理------1,用户--Create User 用户名 Identified By "口令"Default Tablespace 表空间---指定默认表空间,若不指定,则SYSTE
千家信息网最后更新 2025年11月09日Oracle11g 用户与权限管理---用户与权限管理----
--1,用户--
Create User 用户名 Identified By "口令"
Default Tablespace 表空间
---指定默认表空间,若不指定,则SYSTEM表空间将被指定为用户的默认表空间,为了提高数据库的性能,同时为了方便管理数据,Oracle建议为用户指定一个默认表空间---
Temporary Tablespace 临时表空间
Quota 空间配额大小 On 表空间
Password Expire
Account Lock|Unlock
Drop User 用户名
--需要注意的是,如果一个用户的模式中已经包含一些数据库对象,那么这个用户不能直接删除,必须指定cascade--
Drop User scott Cascade;
--用户的相关信息从数据字典视图dba_users中获得--
Password 用户名 --若没有指定用户名,则默认为当前用户--
Alter User 用户 Identified By "新口令"
--alter也可以修改其它信息--
--为用户授予权限的grant命令语法--
Grant 权限1,权限2,... To 用户1,用户2,... With Admin Option; --with admin option的好处是权限的获得者可以再将权限授予其他用户--
---权限包括系统权限和对象权限--
--系统权限--
Create Session,Create Table,Create Resource,Create View,Create User,Create Trigger,Create Tablespace,Create procedure.
Alter Session,Database,User
--为了使一个用户可以操作数据库,至少需要有create session,create table和有指定(表)空间配额的3个权限--
Grant Create Session,Create Table,Unlimited Tablespace To 用户名;
--回收权限--
--注意:系统权限可以转授,但是回收时不能间接回收--
Revoke 系统权限1,系统权限2 ...
From 用户1,用户2 ...
--对象权限 主要是对数据库对象中的数据的访问权限,这类权限主要针对普通用户--
Grant 对象权限1(列名),对象权限2(列名)...
On 对象 To 用户1,用户2... With Grant Option
--权限insert,update,references在分配时可以指定相关的列,但在回收时不能指定列,而只能指定表名--
Revoke 对象权限1,对象权限2... On 对象
From 用户1,用户2...
Select username,Privilege,admin_option From user_sys_privs
--从数据字典视图session_privs中可以查询一个用户在当前会话中所具有的系统权限--
-- session_privs权限==直接获得的权限 + 該用户从角色中间接获得的系统权限 ---
--对象权限有关的数据字典视图:dba_tab_privs,dba_col_privs,user_tab_privs和user_col_privs--
--connect角色 包含的权限有create Session --
/* resource角色 包含的权限有 crate sequence,create trigger,create cluster,create procedure,
create type,create operator,create table ,create indextype */
Create Role 角色名
Drop Role 角色名
Grant Select On emp To role1
Revoke Select On emp From role1
--角色信息的查询--
/* dba_roles 记录数据库中所有角色
dba_role_privs 记录所有被授予用户或另一角色的角色
user_role_privs 记录所有被授予当前用户的角色
role_role_privs 记录一个角色中包含的其他角色
role_sys_privs 记录一个角色中包含的系统权限
role_tab_privs 记录一个角色中包含的对象权限
session_roles 记录当前会话中所使用的角色 */
--获得系统中所有的角色--
Create Profile profile名称 Limit
口令限制
资源限制
--指定profile 每个用户只能指定一个profile--
/* Failed_Login_Attempts 允许的失败登录次数,默认值为10次
Password_Lock_Time 账号锁定时间,默认值为1天
Password_Life_Time 口令的有效期,默认值为180天
Password_Grace_Time 口令有效期的延长期,默认值为-周、7天
Password_Reuse_Time 为了再次使用过去用过的口令,必须经过的天数
Password_Reuse_Max 为了再次使用过去用过的口令,必须使用不同口令的次数
Password_Reuse_Time 和 Password_Reuse_Max 必须一起使用 */
--如果用户失败的登录次数达到3次,则用户账号将被锁定5天--
如果要使profile对用户使用系统资源起限制作用,则需要将参数Resource_limit的值设置为True
Cpu_Per_Session 用户在一个会话内所使用的Cpu时间的总和,时间单位为0.01秒
Logical_Reads_Per_Session 用户在一个会话内所能访问的数据块的数量(包括物理读和逻辑读的数量)
Connect_Time 一个用户会话所能持续的时间,以分钟为单位;超过这个时间,会话将自动断开
Idle_Time 一个用户会话所允许的连续的空闲时间,以分钟为单位,超过这个时间,会话将自动断开
Private_Sga 如果数据库服务器的连接模式为共享模式,这个参数用来限制为一个用户会话所分配的Sga空间
Cpu_Per_Call 用户执行的每条命令所使用的Cpu时间,时间单位为0.01秒
Logical_Reads_Per_Call 用户执行的每条命令所能访问的数据块的数量
如果能够对用户消耗Cpu时间、访问数据块的数量等这些资源进行限制,那么就可以有效地
防止诸如死循环的执行、访问一个大表中的所有数据这类情况的发生。
这个默认profile所包含的限制,并且不要为用户指定其他的profile */
--1,用户--
Create User 用户名 Identified By "口令"
Default Tablespace 表空间
---指定默认表空间,若不指定,则SYSTEM表空间将被指定为用户的默认表空间,为了提高数据库的性能,同时为了方便管理数据,Oracle建议为用户指定一个默认表空间---
Temporary Tablespace 临时表空间
Quota 空间配额大小 On 表空间
Password Expire
Account Lock|Unlock
点击(此处)折叠或打开
- Create User user1 Identified By "1234"
- Default Tablespace Users
- Temporary Tablespace temp
- Quota 20M On Users ---若希望用户在所有表空间上都具有无限制的空间配额,则只要为其指定Unlimited tablespaces系统权限即可---
- Password Expire
- Account Unlock;
Drop User 用户名
--需要注意的是,如果一个用户的模式中已经包含一些数据库对象,那么这个用户不能直接删除,必须指定cascade--
Drop User scott Cascade;
--用户的相关信息从数据字典视图dba_users中获得--
- Select username,Password,default_tablespace,account_status From dba_users;
Password 用户名 --若没有指定用户名,则默认为当前用户--
Alter User 用户 Identified By "新口令"
--alter也可以修改其它信息--
- Alter User user1
- Default Tablespace ts1
- Temporary Tablespace ts1
- Quota Unlimited On ts1;
--为用户授予权限的grant命令语法--
Grant 权限1,权限2,... To 用户1,用户2,... With Admin Option; --with admin option的好处是权限的获得者可以再将权限授予其他用户--
---权限包括系统权限和对象权限--
--系统权限--
Create Session,Create Table,Create Resource,Create View,Create User,Create Trigger,Create Tablespace,Create procedure.
Alter Session,Database,User
--为了使一个用户可以操作数据库,至少需要有create session,create table和有指定(表)空间配额的3个权限--
Grant Create Session,Create Table,Unlimited Tablespace To 用户名;
--回收权限--
--注意:系统权限可以转授,但是回收时不能间接回收--
Revoke 系统权限1,系统权限2 ...
From 用户1,用户2 ...
--对象权限 主要是对数据库对象中的数据的访问权限,这类权限主要针对普通用户--
Grant 对象权限1(列名),对象权限2(列名)...
On 对象 To 用户1,用户2... With Grant Option
- Grant Select On dept To user1 With Grant Option
- Grant Insert(empno),Update(sal) On emp To user1,user2
- Grant Execute On functional To user1
--权限insert,update,references在分配时可以指定相关的列,但在回收时不能指定列,而只能指定表名--
Revoke 对象权限1,对象权限2... On 对象
From 用户1,用户2...
- Revoke Update(sal) On emp From user2 --错误语句--
- Revoke Update On emp From user2
- Select Name From system_privilege_map;
- Select grantee,Privilege,admin_option From dba_sys_privs Where grantee='SCOTT'
Select username,Privilege,admin_option From user_sys_privs
--从数据字典视图session_privs中可以查询一个用户在当前会话中所具有的系统权限--
-- session_privs权限==直接获得的权限 + 該用户从角色中间接获得的系统权限 ---
--对象权限有关的数据字典视图:dba_tab_privs,dba_col_privs,user_tab_privs和user_col_privs--
点击(此处)折叠或打开
- -- dba_tab_privs 查询任何用户所具有的对象权限 ---
- Select grantee,Privilege,grantor,table_name,grantable From dba_tab_privs
- Where grantee='USER1';
- --dba_col_privs 查询用户在列上的权限 --
- Select grantee,table_name,column_name,Privilege,grantor,grantable
- From dba_col_privs Where grantee='USER1';
- Select grantee,table_name,column_name,Privilege,grantor,grantable
- From user_tab_privs Where grantee='SCOTT';
--connect角色 包含的权限有create Session --
/* resource角色 包含的权限有 crate sequence,create trigger,create cluster,create procedure,
create type,create operator,create table ,create indextype */
Create Role 角色名
Drop Role 角色名
Grant Select On emp To role1
Revoke Select On emp From role1
--角色信息的查询--
/* dba_roles 记录数据库中所有角色
dba_role_privs 记录所有被授予用户或另一角色的角色
user_role_privs 记录所有被授予当前用户的角色
role_role_privs 记录一个角色中包含的其他角色
role_sys_privs 记录一个角色中包含的系统权限
role_tab_privs 记录一个角色中包含的对象权限
session_roles 记录当前会话中所使用的角色 */
--获得系统中所有的角色--
- Select Role From dba_roles
- Select granted_role,default_role From dba_role_privs Where grantee='user1'
- Select Privilege,admin_option From role_sys_privs Where Role='CONNECT'
- --查询用户的会话信息,强制终止用户会话,锁定用户帐号--
- Select username,Sid,serial# From v$session Where username='SCOTT';
- Alter System Kill Session '144,7'; --144和7分别为用户会话的sid和serial#--
- Alter User scott Account Lock;
Create Profile profile名称 Limit
口令限制
资源限制
--指定profile 每个用户只能指定一个profile--
- Create User user2 Identified By "1234" Profile p1
- Alter User scott Profile p1
- Select Profile From dba_users Where username='SCOTT';
- --数据字典dba_profiles--
- Select resource_name,Limit From dba_profiles Where Profile='P1';
- --删除profile--
- Drop Profile profile名字 [Cascade];
/* Failed_Login_Attempts 允许的失败登录次数,默认值为10次
Password_Lock_Time 账号锁定时间,默认值为1天
Password_Life_Time 口令的有效期,默认值为180天
Password_Grace_Time 口令有效期的延长期,默认值为-周、7天
Password_Reuse_Time 为了再次使用过去用过的口令,必须经过的天数
Password_Reuse_Max 为了再次使用过去用过的口令,必须使用不同口令的次数
Password_Reuse_Time 和 Password_Reuse_Max 必须一起使用 */
--如果用户失败的登录次数达到3次,则用户账号将被锁定5天--
- Create Profile p1 Limit Failed_Login_Attempts 3 Password_Lock_Time 5
- Create Profile p2 Limit Password_Reuse_Time 30 Password_Reuse_Max 5
如果要使profile对用户使用系统资源起限制作用,则需要将参数Resource_limit的值设置为True
- Alter System Set resource_limit=True
Cpu_Per_Session 用户在一个会话内所使用的Cpu时间的总和,时间单位为0.01秒
Logical_Reads_Per_Session 用户在一个会话内所能访问的数据块的数量(包括物理读和逻辑读的数量)
Connect_Time 一个用户会话所能持续的时间,以分钟为单位;超过这个时间,会话将自动断开
Idle_Time 一个用户会话所允许的连续的空闲时间,以分钟为单位,超过这个时间,会话将自动断开
Private_Sga 如果数据库服务器的连接模式为共享模式,这个参数用来限制为一个用户会话所分配的Sga空间
Cpu_Per_Call 用户执行的每条命令所使用的Cpu时间,时间单位为0.01秒
Logical_Reads_Per_Call 用户执行的每条命令所能访问的数据块的数量
如果能够对用户消耗Cpu时间、访问数据块的数量等这些资源进行限制,那么就可以有效地
防止诸如死循环的执行、访问一个大表中的所有数据这类情况的发生。
- Create Profile p3 Limit
- Sessions_Per_User 100
- Logical_Reads_Per_Session 500
- Connect_Time 5
- Create Profile p4 Limit
- Cpu_Per_Call 10
- Logical_Reads_Per_Call 50
这个默认profile所包含的限制,并且不要为用户指定其他的profile */
- Select resource_name,Limit From dba_profiles Where Profile='DEFAULT';
用户
权限
角色
数据
系统
对象
空间
口令
时间
查询
限制
数据库
字典
用户名
管理
信息
单位
命令
数量
视图
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
佛山网上培训软件开发
怎么用代码改数据库
oracle数据库 查询
区块链中数据库技术
网络安全法有关个人规定
数据库 提高cpu使用率
博兴瓷砖软件开发
平谷区正规软件开发设置
软件开发能力考试科目
软件开发者会窃取视频吗
如何评估数据库的安全风险
网络安全产品 书籍
数据库存储知识库
密云区综合网络技术服务质量保障
成都国际网络安全
云服务器游戏有哪些
龙树互联网科技
安卓开发软件开发费用标准
郑州的互联网科技公司
广东智慧医养软件开发专业制作
饥荒联机版服务器连接中断
嵌入式软件开发问题管理表模板
湖北软件开发公司排名
网络技术信息传递与交互过程
用户发布的文章怎么创建数据库
昆明西湖棋牌平台软件开发
斯诺登事件是网络安全事件吗
怎么遍历数据库
我的世界1.16刷铁轨机服务器
长沙网络技术工程学院