Oracle 19c数据库用户登录与权限管理详解
在现代数据库管理中,确保数据安全和高效的用户管理是至关重要的。Oracle 19c作为业界领先的关系数据库管理系统,提供了强大的用户和权限管理功能。本文将详细介绍Oracle 19c数据库的用户登录与权限管理,帮助读者深入理解并掌握这些关键操作。
一、概念介绍
- 安装与创建实例:在CentOS 7等操作系统上安装Oracle 19c,并创建Database实例。
- 用户与表空间:每个数据库实例可以创建多个用户和表空间,用户可以对表空间进行管理,但同一实例中的用户名不能重复。
- sys:超级管理员,具有最高权限,可创建数据库、更改其他用户密码。
- system:操作管理员,权限仅次于sys,但不能创建数据库。
- scott:普通用户,常用于示例和测试。
Oracle数据库基础
系统用户
二、用户登录
- 使用
sqlplus命令登录,输入用户名(如system或sys)和密码。 - 示例:
sqlplus system/your_password - 以scott用户为例,默认密码为tiger。
- 示例:
sqlplus scott/tiger
登录系统账户
普通用户登录
三、用户管理
- 使用
CREATE USER语句创建新用户,指定登录密码、默认表空间和配额。 - 示例:
CREATE USER user1 IDENTIFIED BY password1 DEFAULT TABLESPACE users QUOTA 10M ON users; - 默认情况下,某些用户(如hr)可能被锁定,需使用sys用户解锁。
- 示例:
ALTER USER hr ACCOUNT UNLOCK; - 更改密码、锁定或解锁用户、设置密码过期、更改默认表空间及配额。
- 示例:
ALTER USER user1 IDENTIFIED BY new_password; ALTER USER user1 ACCOUNT LOCK; ALTER USER user1 PASSWORD EXPIRE; ALTER USER user1 DEFAULT TABLESPACE tablespacename; ALTER USER user1 QUOTA 20M ON tablespacename;
创建用户
解锁用户
修改用户
四、权限管理
- 系统权限:如CREATE SESSION、CREATE TABLE。
- 对象权限:如对表的SELECT、INSERT、UPDATE、DELETE。
- 使用
GRANT语句授予用户权限。 - 示例:
GRANT CREATE SESSION TO user1; GRANT SELECT, INSERT, UPDATE, DELETE ON books TO user1; - 使用
REVOKE语句回收用户权限。 - 示例:
REVOKE CREATE TABLE FROM user1; REVOKE SELECT ON books FROM user1; - 授予权限时使用
WITH ADMIN OPTION,允许用户将权限再授予其他用户。 - 示例:
GRANT CREATE SESSION TO user1 WITH ADMIN OPTION;
系统权限与对象权限
授权操作
回收权限
WITH ADMIN OPTION
五、角色管理
- 使用
CREATE ROLE语句创建角色。 - 示例:
CREATE ROLE seller; - 将相关权限授予角色。
- 示例:
GRANT CREATE SESSION, SELECT ON books TO seller; - 使用
GRANT语句将角色赋予用户。 - 示例:
GRANT seller TO user1;
创建角色
授予角色权限
将角色赋予用户
六、使用Profile管理用户口令
- 使用
CREATE PROFILE语句创建概要文件,登录尝试次数、锁定时间等。 - 示例:
CREATE PROFILE bsprofile1 LIMIT FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 1 PASSWORD_LIFE_TIME 30; - 将概要文件指定给用户。
- 示例:
ALTER USER user1 PROFILE bsprofile1;
创建Profile
指定Profile给用户
七、Oracle的认证方式
- 用户通过操作系统认证登录数据库。
- 用户通过数据库内部的用户名和密码认证。
操作系统认证
数据库认证
八、重置管理员(sys)密码
- 忘记密码时的重置步骤
- 使用操作系统命令启动数据库实例,并重置sys密码。
- 示例:
sqlplus / as sysdba ALTER USER sys IDENTIFIED BY new_password;
总结
Oracle 19c数据库的用户登录与权限管理是确保数据安全和高效操作的关键环节。通过本文的详细介绍,读者可以掌握用户创建、登录、权限授予与回收、角色管理以及使用Profile管理用户口令等操作。希望这些知识能帮助大家在日常数据库管理工作中游刃有余。
无论是系统管理员还是普通用户,理解和应用这些管理技巧,都将大大提升数据库的安全性和使用效率。继续深入学习和实践,相信你会在Oracle数据库管理领域取得更大的成就。