Chinaunix首页 | 论坛 | 博客
  • 博客访问: 17328
  • 博文数量: 6
  • 博客积分: 106
  • 博客等级: 民兵
  • 技术积分: 70
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-04 17:54
文章分类
文章存档

2013年(2)

2012年(4)

我的朋友

分类: Oracle

2012-11-04 18:42:33

CREATE USER

目的

创建数据库用户,并建立用户连接oracle数据库的许可等,就可以让这个用户连接到数据库中。

先决条件

必须有 CREATE USER的系统权限。意思就是,你使用CREATE USER创建了一个用户,但是这个用户的权限是空的,就是没有权限。如果用户要登录到ORACLE数据库中,则必须要有CREATE SESSION系统权限,所以就要至少授予用户GRANT CREATE SESSION这个权限。

语法

DBA身份创建用户新建用户默认是没有任何权限的,需要 DBA 赋予权限

a、系统权限:对数据库的相关权限;

b、对象权限:用户对其他用户数据对象(表、视图等)操作的权限

 

例:

create user testuser      //用户名:testuser

identified by oracle       //登陆验证密码:oracle (区分大小写)

default tablespace users    //用户的默认表空间:users

quota 10m on users       //默认表空间中可以使用的空间配额:10MB

temporary tablespace temp  //用户使用的临时表空间

password expire;           //密码状态,过期。登陆的时候要求用户修改。

以上例子中没有使用profileaccount


用户创建过程中的注意事项:

1、对temporary tablespace不能指定配额。

2、如果没有为用户指定默认表空间,将使用system表空间,强烈建议指定默认表空间。

3、默认表空间不能是undo tablespace(回滚表空间)或者temporary tablespace(临时表空间)。


IDENTIFIED(关于验证) BY PASSWORD

这个语句是让创建一个本地用户,并让用户使用指定密码口令登陆数据库。

密码口令是属于 数据库字符集的 单字节 多字节 字符。

创建口令数据库用户:示例

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;


EXTERNALLY

创建一个外部使用者,必须被外部服务验证过,例如操作系统或第三方服务,这样来讲,oracle数据库是依赖于操作系统的验证和第三方服务来保证外部使用者可以访问到特定的数据库用户。

AS 'certificate_DN——只用于外部用户的SSLSecure Sockets Layer 安全套接层)验证

学习前期只需要知道这是一个验证方式即可,不必深究。

创建外部数据库用户:示例

CREATE USER app_user1

IDENTIFIED EXTERNALLY

DEFAULT TABLESPACE example

QUOTA 5M ON example

PROFILE app_user;


GLOBALLY

创建一个全局的用户。这样的用户必须有企业目录服务的授权

directory_DN 字符串可以采取有两种形式:

私人的全局模式(单人单独的验证证书)

共享的全局模式(多人使用的同一种验证证书)

 

创建全局数据库用户:示例

CREATE USER global_user

IDENTIFIED GLOBALLY AS 'CN=analyst, OU=division1, O=oracle, C=US'

(引号中的内容可以理解为证书内容)

DEFAULT TABLESPACE example

QUOTA 5M ON example;

 

DEFAULT TABLESPACE(默认表空间)

用户创建系统默认表空间的对象,如果省略这个子句,那么用户的对象存储在数据库默认表空间。如果没有默认表空间被指定为数据库,那么用户的对象存储在系统表空间。

限制:

你不能制定一个本地管理的临时表空间,包括Undo表空间,或者一个字典管理的临时表空间 来作为用户的默认表空间。(实际上就是不管是何种管理模式的临时表空间都不行)

TEMPORARY TABLESPACE(临时表空间)

1.      指定表空间或表空间组为用户的临时段存储的位置。如果忽略这个字句,那么用户的临时段存储在数据库默认表空间,若没有指定默认表空间,则会存储在系统表空间。

2.      用户可以保存临时段在任何表空间组名称相同的表空间

限制:

表空间必须是一个临时表空间,必须有一个标准的块大小。

不能是一个回滚表空间。

QUOTA (配额)

使用配额条款用户可以在表空间分配的最大空间量。create user语句可以有多个配额子句对多个表空间。unlimited让用户在表空间中的分配无限制。

限制:

你不能对临时表空间指定这个子句。

PROFILE (概要文件)

指定分配给用户的配置文件。用户可以限制使用数据库资源的数量。如果您省略这条子句,那么Oracle数据库分配默认概要文件给用户。(可以理解为创建用户时,配置用户的一个模版,我们可以通过PROFILE来快速创建拥有不同限制条件的用户)

PASSWORD EXPIRE(密码到期)

指定用户密码为密码到期的形式,这个设置迫使之前可以登录到数据库的DBA强制修改密码。

ACCOUNT(账户):

指定帐户锁,锁定用户的帐户并禁用访问。

指定帐户解锁,打开用户的账户,帐户能够访问。


以上内容源自官方文档10g,内容不是很全,

想详细了解,还是看官方文档吧!(如有错误,还请斧正)

阅读(774) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~