数据库
首页 > 数据库> > KingbaseES 与 Oracle 用户口令管理与资源管理

KingbaseES 与 Oracle 用户口令管理与资源管理

作者:互联网

一、概述

KingbaseES可以对用户口令与用户占用资源进行必要的管理。其管理方式,在这里与Oracle数据库进行参考比较。

KingbaseES 使用扩展插件建立的系统参数,这组参数可以对数据库资源使用进行限制。

口令有效期,单位是天,0表示无限,默认值是 30

ALTER SYSTEM SET identity_pwdexp.password_change_interval = 7;

Oracle 使用CREATE PROFILE语句创建配置文件,这是对数据库资源的一组限制。如果将配置文件分配给用户,则该用户不能超过这些限制。

指定同一密码所容许运用的天数。

ALTER PROFILE DEFAULT LIMIT Password_life_time 7;

二、KingbaseES的扩展插件

为了管理用户口令和资源,使用到如下插件:

这些插件的使用方法如下:

#修改参数配置文件kingbase.conf
shared_preload_libraries = 'passwordcheck, identity_pwdexp, sys_audlog, passwordhistory'
#建立扩展
create extension passwordcheck;
create extension identity_pwdexp;
create extension sys_audlog;
create extension passwordhistory;

#默认开启口令有效期配置
identity_pwdexp.enable_common_user_autoset_interval = on
#默认关闭口令检查配置
passwordcheck.enable = on
#默认关闭口令历史管理配置
passwordhistory.enable = on

三、Oracle的配置文件

创建profile 语法:

CREATE|ALTER PROFILE profile
  LIMIT { resource_parameters
        | password_parameters
        }...
  [ CONTAINER = { CURRENT | ALL } ] ;

四、KingbaseES 用户口令配置项

1、连续尝试失败次数

允许帐户登录到用户帐户的连续失败尝试次数,如果达到失败次数,则帐户被锁定。

2、用户被锁定的时长

指定帐户在指定连续失败的登录尝试次数后,将被锁定的时长。

3、口令的有效期

指定同一密码可用于身份验证的天数,在限期内未更改密码,则密码将过期,并且会拒绝进一步的连接。

4、口令重复使用

指定密码不能重复使用的天数。

5、口令宽限期

在口令失效前,给予的重新设该口令的宽限天。当口令失效之后,会在登录时会出现警告信息显示该天数。如果没有在宽限天内修改口令,口令将失效。

6、非活跃用户

允许的连续不登录用户帐户的天数,超过此天数,该帐户将被锁定。

7、口令复杂度

指定密码的最小长度,所包含数字、字母和符号等要求,如果不能通过口令复杂度检查,则不能创建用户,或修改用户口令。

五、用户资源配置项

1、并发会话数

限制用户能建立多少并发连接 。

2、会话时长

指定会话期间允许的连续非活动时间, 用于避免不必要的连接。

指定会话的总已用时间限制,以分钟为单位表示。

CONNECT_TIME { integer | UNLIMITED | DEFAULT }


 

### 3、CPU时长

指定会话或语句的 CPU 时间限制, 用于避免不必要的CPU开销。 

* KingbaseES 环境参数

设置任何语句执行时间的最大值(毫秒),默认值 0,不限制。

statement_timeout = 0

设定任何空载事务的最大允许持续时间(毫秒),默认值 0,不限制。

idle_in_transaction_session_timeout = 0

等待锁的最长时间值(毫秒),默认值 0,不限制。

lock_timeout = 0


* Oracle profile 参数

指定调用(解析、执行或提取)的 CPU 时间限制(百分之一秒)。 限制单个语句可以使用的CPU量,违反限制只会创建ORA错误(=终止执行)。

CPU_PER_CALL { integer | UNLIMITED | DEFAULT }

指定会话的 CPU 时间限制(百分之一秒)。 限制在单个会话中运行的所有SQL语句可以消耗的CPU总量,违反限制会产生ORA错误并记录到日志(=终止执行和会话)。

CPU_PER_SESSION { integer | UNLIMITED | DEFAULT }


 

### 4、数据总量

指定会话或语句的使用数据块数量限制, 用于避免过量的内存开销。 

* KingbaseES 环境参数

无此功能


* Oracle profile 参数

指定在会话中读取的数据块的允许数,包括从内存和磁盘读取的数据块。

LOGICAL_READS_PER_SESSION { integer | UNLIMITED | DEFAULT }

指定为处理 SQL 语句(解析、执行或提取)的调用读取的数据块的允许数。

LOGICAL_READS_PER_CALL { integer | UNLIMITED | DEFAULT }

指定会话可以在系统全局区域 (SGA) 的共享池中分配的专用空间量。

PRIVATE_SGA { size_clause | UNLIMITED | DEFAULT }




### 5、综合权重

指定会话的时长、CPU时长和内存等资源,进行加权计算的总成本,

* KingbaseES 环境参数

无此功能


* Oracle profile 参数

指定会话的总资源成本,以服务单位表示。Oracle数据库将总服务单元计算为 CPU_PER_SESSION、CONNECT_TIME、LOGICAL_READS_PER_SESSION 和 PRIVATE_SGA 的加权和。

COMPOSITE_LIMIT { integer | UNLIMITED | DEFAULT }


 

## 六、个性化配置参数

因为业务模式的区别,不同的用户对口令或资源,需要不同的参数配置方案。

* KingbaseES 环境参数

```sql
#针对用户user01,使用口令有效期,并且要求其每周必须修改密码
ALTER USER user01 SET 
	session_preload_libraries = 'identity_pwdexp' ; 
ALTER USER user01 SET 
	identity_pwdexp.password_change_interval = 7 ; 

标签:DEFAULT,UNLIMITED,口令,Oracle,默认值,KingbaseES,资源管理
来源: https://www.cnblogs.com/kingbase/p/16288331.html