oracle为用户授权原则,教你如何成为Oracle 10g OCP - 第八章 用户、权限和角色管理01...

8.1  用户管理

每个用户有一系列的属性,包括以下几个方面:

A. 唯一的用户名,必须字母开头,最多30字节,不能有特殊字符。

B. 认证: 通常使用密码认证

C. 默认表空间: 用户创建后,如果在用户下创建了对象,那么生成与用户同名的schema,

即schema与用户名的区别在于是否存在用户对象。10g之前,如果没有指定default tbs,

那么system会被作为默认表空间;10g或之后,在建库的时候就可以指定一个数据库级的

默认表空间,这样定义用户没有指定默认表空间的话,默认就使用这个数据库级的TBS.

可以通过下面的语句查询:

select * from database_properties ;

或者 select name,value$ from props$ where name like 'DEFAULT%'

D. 默认临时表空间: Oracle9i之前,如果没有指定,会使用system作为临时表空间,9i开始,

可以为数据库指定默认临时表空间,定义用户时没有指定的话,使用数据库默认的临时表空间。

E. profile(配置文件),用于控制用户密码策略以及资源使用。

F. 用户组

G. 锁定状态: 可以将用户锁定和解锁 。

数据库创建后,会预先建立两个非常重要的用户:sys及system, sys是超级用户,权限太大,

所以登陆的时候需要加入as sysdba 增强安全性,因为以as sysdba登陆后,登陆的时间信息

会记录在审计文件中。system仅仅时候数据库管理员,没有sys那么大权限。

通常我们不使用sys及system等用户登入数据库进行管理,而是创建一个用户,赋予该用户DBA

角色权限,用该用户来进行日常管理工作。

8.1.1  创建和删除用户

CREATE USER sidney

IDENTIFIED BY out_standing1

DEFAULT TABLESPACE example

QUOTA 10M ON example

TEMPORARY TABLESPACE temp

QUOTA 5M ON system

PROFILE app_user

PASSWORD EXPIRE;

认证方式: 密码认证,外部认证,全局认证

外部认证 -

密码认证大家都熟悉,这里介绍一下外部认证。使用外部认证需要使用参数os_authent_prefix,

如果操作系统存在一个用户susan,  而数据库中存在一个用户ops$susan, 则只要以susan用户登

陆OS, 当登陆数据库时,可以不用提供用户密码,即可以以ops$susan登陆到数据库。若此参数为

空,那么只要数据库中存在与操作系统同名的用户,该用户就可以通过外部认证登陆数据库,因

为不完全,oracle不建议采用该认证方式。

SQL> show parameter os_authent_prefix

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

os_authent_prefix                    string      ops$

全局认证 -

需要采用oracle的高级安全设置,

---------------------------

语法:

CREATE USER username

IDENTIFIED {BY password|EXTERNALLY}

[DEFAULT TABLESPACE tablespace_name]

[TEMPORARY TABLESPACE tablespace_name]

[QUOTA [n [K|M]] ON tablespace_name]

[PASSWORD EXPIRE]

[ACCOUNT LOCK|UNLOCK]

[PROFILE filename];

参数:

IDENTIFIED BY password:

用来指定用户的确认方式为数据库确认,password是为该用户指定的密码

IDENTIFIED   EXTERNALLY:

指定确认方式为操作系统确认,并且生成一个用操作系统确认的用户

DEFAULT TABLESPACE:

用户默认的表空间,用于在该用户模式下创建的对象(如表、索引、簇、视图等)没有指定表空间时数据库默认的存储表空间

TEMPORARY TABLESPACE:

临时表空间,用于存储排序等事务处理时的存储空间用户暂存段表空间

QUOTA [n [K|M]] [UNLIMITD] ON tsname:

指定表空间的限制配额,就是限制允许用户使用的表空间的数量(大小),UNLIMITD 表示无大小限制

PASSWORD EXPIRE:

表明用户第一次登录时要修改密码

ACCOUNT LOCK|UNLOCK:

锁定用户,lock为锁定,unlock为未锁定或解锁

PROFILE filename:

用户的配置文件,用于限制用户对系统资源的使用,如果没有指定,则系统使用默认的用户配置文件

举例:

1. 创建一个数据库验证的用户:

CREATE USER testUser

IDENTIFIED BY test

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

QUOTA UNLIMITED ON USERS

PASSWORD EXPIRE

ACCOUNT UNLOCK

PROFILE DEFAULT;

2. 授予用户连接权限 (用户只有拥有CREATE SESSION 权限才可能与数据库建立连接)

GRANT CREATE SESSION TO testUser;

3. 修改用户信息:

ALTER USER testUser IDENTIFIED BY temp;        -- 修改密码

ALTER USER testUser ACCOUNT LOCK;        -- 锁定用户

4. 删除用户:

DROP USER testUser CASCADE;    -- 级联删除,即将此用户拥有的全部对象一起删除

5. 查询用户信息:

SELECT * FROM ALL_USERS;

SELECT username, password, account_status FROM DBA_USERS;

select username,sid,status from v$session     查询用户连接情况!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值