[Oracle数据库] ORACLE的用户维护和权限操作

目录

一、用户的创建与维护

1️⃣创建用户

2️⃣常用用户维护操作

二、权限管理详解

1️⃣权限的分类

2️⃣常用系统权限角色

3️⃣权限的授予与收回

<1>授予权限

<2>收回权限

<3>查询用户权限

三、口令管理(Profile)

[1️⃣Profile 的使用步骤](#1️⃣Profile 的使用步骤)

[<1>创建 Profile](#<1>创建 Profile)

[<2>应用 Profile 到用户](#<2>应用 Profile 到用户)

[2️⃣删除 Profile](#2️⃣删除 Profile)

四、用户连接与退出常用命令

总结


对于 Oracle 数据库初学者来说,掌握用户管理和权限控制是入门的核心技能。本文将系统梳理 Oracle 用户创建、维护、权限分配及口令管理的关键操作,帮助你快速上手。

一、用户的创建与维护

1️⃣创建用户

创建用户的基本语法如下:

sql

复制代码
create user 用户名 identified by 密码
[default tablespace 默认表空间 temporary tablespace 临时表空间];

例如创建用户firstuser

sql

复制代码
create user firstuser identified by firstuser
default tablespace mydb temporary tablespace temp;
  • 参数说明:
    • identified by:指定用户登录密码;
    • default tablespace:用户默认存储数据的表空间(不指定则用系统默认);
    • temporary tablespace:用户临时数据的表空间(通常用temp)。

注意:新用户创建后默认没有任何权限,包括登录数据库的权限,需后续手动分配。

2️⃣常用用户维护操作

  • 修改密码:

    sql

    复制代码
    alter user 用户名 identified by 新密码;

    例:alter user firstuser identified by s;(将firstuser密码改为s

  • 修改表空间:

    sql

    复制代码
    alter user 用户名 default tablespace 新默认表空间 temporary tablespace 新临时表空间;

    例:alter user test default tablespace test temporary tablespace testtemp;

  • 删除用户:

    sql

    复制代码
    drop user 用户名 [cascade];
    • 若用户创建过表,必须加cascade(级联删除用户及所有对象);
    • 例:drop user firstuser cascade;
  • 锁定 / 解锁用户:

    • 锁定(禁止登录):alter user 用户名 account lock;(如alter user SCOTT account lock;
    • 解锁(允许登录):alter user 用户名 account unlock;

二、权限管理详解

1️⃣权限的分类

  • 系统权限:用户使用数据库的基础权限(如登录、创建表等),针对用户而言;
  • 对象权限:用户对其他用户的表、视图等对象的操作权限(如查询、修改),针对具体对象而言。

2️⃣常用系统权限角色

Oracle 通过 "角色"(预定义的权限集合)简化权限分配,核心角色包括:

  • **DBA:**最高权限,可创建数据库结构、管理所有对象;
  • **RESOURCE:**允许创建表、视图等实体,但不能创建数据库结构;
  • **CONNECT:**仅允许登录数据库,无创建实体权限。

分配建议:

  • 普通用户:授予connect + resource
  • 管理员用户:授予dba + connect + resource

3️⃣权限的授予与收回

<1>授予权限
  • 授予角色权限:

    sql

    复制代码
    grant 角色1, 角色2... to 用户名;

    例:grant connect, resource to firstuser;(给firstuser登录和创建实体权限)

  • 授予对象权限:
    对其他用户的表 / 视图授权(如允许firstuser查询scottemp表):

    sql

    复制代码
    grant 操作类型 on 用户名.表名 to 目标用户;
    • 允许查询:grant select on scott.emp to firstuser;
    • 允许修改:grant update on scott.emp to firstuser;
    • 允许所有操作:grant all on scott.emp to firstuser;
  • 权限传递:若允许用户将权限转授他人,加with grant option

    sql

    复制代码
    grant select on scott.emp to firstuser with grant option;
<2>收回权限
  • 收回对象权限:revoke 操作类型 on 用户名.表名 from 用户名;
    例:revoke all on scott.emp from firstuser;(收回firstuseremp表的所有权限)

  • 收回角色权限:revoke 角色 from 用户名;
    例:revoke dba from userone;(收回useroneDBA权限)

<3>查询用户权限

通过数据字典查询用户拥有的权限:

sql

复制代码
select * from dba_role_privs where grantee='用户名';

例:****select * from dba_role_privs where grantee='SCOTT';(查询SCOTT的权限)

三、口令管理(Profile)

Profile是 Oracle 中用于设置口令规则和资源限制的工具(类似 "密码策略"),默认有DEFAULT配置(未指定时自动应用)。

1️⃣Profile 的使用步骤

<1>创建 Profile

定义具体规则,例如:

  • 限制登录尝试 3 次失败后锁定 2 天:

    sql

    复制代码
    create profile lock_account limit
    failed_login_attempts 3  -- 最大失败次数
    password_lock_time 2;    -- 锁定天数
  • 要求 10 天内必须改密码,宽限期 2 天(宽限期内可登录但会提醒):

    sql

    复制代码
    create profile myprofile limit
    password_life_time 10  -- 密码有效期
    password_grace_time 2; -- 宽限期
<2>应用 Profile 到用户

sql

复制代码
alter user 用户名 profile 配置文件名;

例:alter user scott profile lock_account;(让scott应用lock_account规则)

2️⃣删除 Profile

sql

复制代码
drop profile 配置文件名 [cascade];
  • 若 Profile 已分配给用户,需加cascade(级联解除关联)。

四、用户连接与退出常用命令

  • 切换用户:conn 用户名/密码 [as sysdba]as sysdba用于管理员登录)
    例:conn scott/tiger(切换到scott用户)
  • 注销当前用户:disc
  • 查询当前登录用户:show user

总结

Oracle 用户管理的核心是 "用户创建 - 权限分配 - 安全控制" 的流程:通过create user创建用户,用grant分配权限,借助Profile保障口令安全。初学者可从基础命令练起,逐步掌握用户与权限的精细化管理,为数据库操作打下坚实基础。

相关推荐
想摆烂的不会研究的研究生6 小时前
每日八股——Redis(1)
数据库·经验分享·redis·后端·缓存
码熔burning7 小时前
MySQL 8.0 新特性爆笑盘点:从青铜到王者的骚操作都在这儿了!(万字详解,建议收藏)
数据库·mysql
猫头虎7 小时前
2025最新OpenEuler系统安装MySQL的详细教程
linux·服务器·数据库·sql·mysql·macos·openeuler
哈库纳玛塔塔7 小时前
放弃 MyBatis,拥抱新一代 Java 数据访问库
java·开发语言·数据库·mybatis·orm·dbvisitor
@LetsTGBot搜索引擎机器人9 小时前
2025 Telegram 最新免费社工库机器人(LetsTG可[特殊字符])搭建指南(含 Python 脚本)
数据库·搜索引擎·机器人·开源·全文检索·facebook·twitter
计算机毕设VX:Fegn08959 小时前
计算机毕业设计|基于springboot + vue动物园管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
冉冰学姐9 小时前
SSM校园排球联赛管理系统y513u(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架应用·开题报告、
Tony Bai10 小时前
【分布式系统】03 复制(上):“权威中心”的秩序 —— 主从架构、一致性与权衡
大数据·数据库·分布式·架构
wb0430720111 小时前
SQL工坊不只是一个ORM框架
数据库·sql
至善迎风11 小时前
Redis完全指南:从诞生到实战
数据库·redis·缓存