广州高铁新建站在哪里,成都网站建设推广详情,桂林两江四湖是哪两江哪四湖,wordpress标题图片代码简介
本文介绍 Oracle 中的用户管理#xff0c;包含以下内容#xff1a; 概念介绍 系统用户 解锁 hr 用户 创建用户 用户相关案例 使用 Profile 管理用户口令 Oracle 的认证方式 重置管理员(sys)密码
1. 概念介绍
使用前可以自行安装oracle数据库 oracle19c安装包含以下内容 概念介绍 系统用户 解锁 hr 用户 创建用户 用户相关案例 使用 Profile 管理用户口令 Oracle 的认证方式 重置管理员(sys)密码
1. 概念介绍
使用前可以自行安装oracle数据库 oracle19c安装centos7)
https://blog.csdn.net/houduanq/article/details/140907205Oracle 中可以创建多个 Database 实例而每个实例下可以创建多个用户和表空间 多个用户可以对同一个表空间进行管理 一个数据库实例中的用户名不能重复
2. 系统用户
当数据库服务器安装完成后并创建数据库实例后就会默认创建sys、system、scott 等用户。sys、system 用户具有对数据库操作的最高权限以下是这三个用户的对比
用户描述默认密码角色sys1. 超级管理员用户相当于 mssql samysql root2. 具有 Oracle 的最高权限3. 具有创建数据库的权限4. 可以更改 system 或其他普通用户的密码。19c需自己设置sysdbasystem1. 操作管理员用户2. 权限仅次于 sys3. 没有创建数据库的权限其他与 sys 相同4. 可以更改 sys 或其他普通用户的密码。19c需自己设置sysoperhr1.普通用户;2. 该用户默认是锁定的可以用 system 去进行解锁hr
注sys和system密码安装时创建的
注一般数据库维护使用 system 用户登录即可。 3. 解锁 hr 用户
hr 是 Oracle(19c 自带的一个普通用户默认情况下该用户是被锁定的不能登录我们需要使用该用户时就需要进行解锁。下面是解锁步骤 打开 shell 命令终端 sqlplus /nolog conn sys/1 as sysdba #使用 sys 超级管理员登录 alter user scott account unlock; #解锁 scott 用户 conn hr/hr 4. 创建用户
语法
create user ljjbb identified by pwdforljbb[default tablespace ts_name][temporary tablespace temp_ts_name][quota 200m on ts_name];解释如下
identified by: 设置 ljbb 用户的登录密码default tablespace: 指定该用户创建的表存放的表空间temporary tablespace: 指定该用户创建的临时表存放的表空间quota 200m on: 表名该用户创建的数据对象表索引视图pl/sql块最大只能为200m1) 创建用户
conn system/1o19c; #以 SYS、SYSTEM 用户登录其他用户没有权限create user ljbb identified by pwdforljbbabd123;或者指定默认存放的表空间create user learn identified by learnpwd default tablespace myts01;2) 删除用户
drop user learn [cascade];cascaed 参数表示级联删除。当删除的用户下没有数据对象表、视图等时该参数可选否则必须指定该参数。5. 用户相关案例
以 ljbb 用户为例。
1) 创建表
create table stud(id number, name varchar(20));2) 创建并打开 SQL 脚本文件
edit /ljbb/oracle/sql/insert_stud.sql写入 insert 语句insert into stud values(1, 张三);insert into stud values(2, 李四);commit; #注意一定要加提交命令3) 执行 SQL 脚本文件
start /ljbb/oracle/sql/insert_stud.sql
select * from stud;4) 锁定用户
alter user ljbb account unlock;5) 删除用户
drop user ljbb cascade;6) 查询用户
SELECT * FROM dba_users; --查询所有用户
SELECT * FROM all_users; --查询所有用户6. 使用 Profile 管理用户口令
我们可以把 Profile 理解为一个数据对象文件或规则使用 DBeaver 以 system 用户登录可以看到 Profiles(配置 文件夹下已经有了默认的安全策略
1) 限制用户恶意登录
语法create profile profile_name limit failed_login_attempts 3 password_lock_time 2; 解释3表示最多允许3次尝试2表示锁定的时间天
案例 允许某用户最多尝试登陆3次如果3次都登陆失败则锁定该用户并且锁定后2天内不允许登陆。
创建 Profile 对象
create profile profile1 limit failed_login_attempts 3 password_lock_time 2;创建成后会在 Profiles配置 文件夹下多一个 profile1编辑可以看到以上内容。
将 profile1 对象应用于指定用户
alter user hr profile profile1;使用 scott 用户登录
conn hr/hrdb2 #连续三次失败将看到如下提示ORA-28000: the account is locked然后可以使用 system 用户进行解锁
alter user hr account unlock;2) 限制口令的使用期限
语法 create profile profile_name limit password_life_time 10 password_grace_time 2;
案例 对某个用户的密码做出限制最多使用10天宽限期为2天到时必须修改密码。
1、创建 Profile 对象
create profile profile2 limit password_life_time 10 password_grace_time 2;创建成后会在 Profiles 文件夹下多一个 profile1编辑可以看到以上内容。
2、将 profile2 对象应用于指定用户
alter user hr profile profile2;3、hr用户 10天后登录测试可以修改数据库服务器时间
conn hr/hro19c;ORA-28002: the password will expire within 2 days #密码将在2天内过期4、scott 用户 12天后登录测试可以修改数据库服务器时间
conn hr/hro19c;ORA-28001: the password has expired #密码已过期提示需要重新设置新密码但前提是旧密码一定要正确
3) 删除 Profile
drop profile profile1 cascade; #cascade 表示级联删除有用户关联时7. Oracle 的认证方式
Oracle 有两种认证方式
1. 操作系统认证
类似于 SQL Server 中的以 Windows 方式登录。
该认证方式只能登录到服务器中进行直接认证操作系统登录用户是否隶属于 dba 组中该用户组表示为 Oracle DBA Group即数据库管理员如图计算机管理 - 本地用户和组 在 Oracle 安装前需要创建 dba、oinstall 这两个组。所以在服务器中登录可以直接使用 as sysdba而不会验证用户名和密码该认证方式的用户称为特权用户。登录例如
conn abcdef/aaabbbdb2 as sysdba #错误的用户名和密码也能登录成功2. 数据库认证用户密码认证
类似于 SQL Server 中以 sa用户名 密码的方式登录该认证方式的用户成为普通用户登录例如conn hr/hrdb28. 重置管理员(sys)密码
有时候我们有可能忘记了 Oracle 数据库的管理员(sys)的密码这时我们该怎么重置呢下面是具体的操作步骤
linux19c
1、停止数据库实例 – 这通常通过运行数据库管理工具或使用命令行实用程序来完成例如使用SQL*Plus
sqlplus / as sysdba
SQL shutdown immediate;2、以启动模式启动实例 – 这通常通过运行数据库管理工具或使用命令行实用程序来完成例如使用SQL*Plus
SQL startup mount;3、打开数据库
SQL ALTER DATABASE OPEN;4、重置SYS用户密码 使用SQL*Plus连接到数据库
SQL ALTER USER sys IDENTIFIED BY new_password;
注意将new_password替换为您想要设置的新密码5、登录数据库 conn sys/new_password as SYSDBAwindow
1、生成新的密码文件打开 dos 窗口执行以下命令
C:\Users\Administratororapwd fileD:\oracle\product\11.2.0\dbhome_1\database\PWDorcl.ora passwordsyspwd entries10解释password 表示新密码entries 表示允许多少个客户端同时连接 Oracle 服务器。
2、重启 Oracle使新密码生效