欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle用户管理概述

程序员文章站 2022-05-11 12:41:42
...

用户名必须以字母开头,不能超过30个字符,可以包含字母,数字,$ 和下划线_,并且不能使用保留字;字母是大小写敏感的,但是存储

user, user account, schema的区别

A user isa person who connects to a user account by establishing a session against theinstance and log on with the user account name

A schemais a set of objects owned by a user account.

用户账号的属性

1、用户名(必须)

2、认证方法(必须)

3、默认表空间

4、表空间的配额

5、默认临时表空间

6、用户的配置文件

7、用户账号的状态

用户名必须以字母开头,不能超过30个字符,可以包含字母,数字,$ 和下划线_,并且不能使用保留字;字母是大小写敏感的,但是存储的时候都会存储为大写。这些规则可以通过双引号打破;

sql> create user"john%#" identified by pa55w0rd;

用户名一旦创建就不允许修改,,除非你把用户删掉重建,但是这个相当危险,因为你删除用户的同时会删除其所有对象;

设置默认表空间:

设置整个数据库的默认表空间:ALTER DATABASE DEFAULT TABLESPACE tablespacename;如果没有指定的话,默认的是SYSTEM表空间;

--查看用户的默认表空间和临时空间

selectusername,default_tablespace,temporary_tablespace from dba_users whereusername='SJ';

配额是一个用户其拥有的对象在表空间中可以占用的容量;

--更改一个用户在表空间中的配额

alter user SJ quota500M on sj;

--将一个用户在表空间中的配额更改为无限制

alter user SJ quotaunlimited on sj;

--查看用户在表空间中的配额情况

selecttablespace_name,bytes,max_bytes from dba_ts_quotas where username='SJ';

--查看整个数据库的默认表空间和默认临时表空间

selectproperty_name,property_value from database_properties

where property_namelike '%TABLESPACE';

临时表空间:

当一个session进行某个操作时需要的内存容量超过了该session的PGA容量,那么这个时候session就会用到temporary tablespace;

使用临时表空间的操作包括:

1、行排序

2、表连接

3、构建索引

4、使用临时表

临时表空间的空间管理时系统自动进行的

用户不需要在临时表空间上分配配额,因为临时表空间的所有对象都属于SYS,SYS用户在所有表空间上都有unlimited的配额;

--更改用户的临时表空间

ALTER USER username TEMPORARYTABLESPACE tablespacename;

当有大量用户使用同一个用户账户的时候,就会造成临时表空间的瓶颈,这个时候可以为每个账号分配自己的临时表空间

配置文件:Profile

配置文件的主要作用:控制密码的设置格式并且限制用户对资源的占用情况;

用户账号状态:

1、OPEN

2、LOCKED

3、EXPIRED

4、EXPIRED&LOCKED

5、EXPIRED(GRACE)

6、LOCKED(TIMED)

7、EXPIRED&LOCKED(TIMED)

8、EXPIRED(GRACE)&LOCKED

9、EXPIRED(GRACE)&LOCKED(TIMED)

ALTER USER username ACCOUNT LOCK;

ALTER USER username ACCOUNTUNLOCK;

ALTER USER username PASSWORDEXPIRE;

认证方法

1、操作系统认证:sysdba/sysoper

2、密码文件认证: sysdba/sysoper

3、密码认证

4、external 认证

5、global 认证 LDAP directory server

--如果要查看哪些用户拥有sysdba/sysoper权限,可以查看V$PWFILE_USER视图;

select * fromv$pwfile_users;

还有一种权限也很特别SYSASM,这个权限是在ASM实例中使用的;

SYS用户不允许使用密码认证方式进行连接,它只能使用密码文件方式,操作系统方式和LDAP认证方式;

在建立连接时,密码在网络上传输的时候必须使用AES加密算法加密,对于其他会话内容是不提供加密的,如果需要加密,需要 AdvancedSecurity Option的支持;

SYSTEM用户可以更改其他用户的密码:

ALTER USER usename IDENTIFIED BYpassword;

外部认证:

If theAdvanced Security Option has been licensed , then the external service can beKerberos server, a RADIUS server, or inthe Windows native authentication

Without the Advanced security Option, the only form of external authenticationthat can be used is operating system authentication;

Thetechnique is to create an Oracle user account with the same name as theoperating system user account but prefixed with a string specified by theinstance parameter OS_AUTHENT_PREFIX

selectvalue from v$parameter where;

在linux或unix环境中创建外部操作系统认证的方法很简单,假定系统上有一个系统用户为cedar,

在Oracle需要以下两步:

createuser ops$cedar identified externally;

grantcreate session to ops$cedar;

在windos环境中,假定用户名为cedarfan 所在的域为DBA,那么在Oracle中需要如下的语句

createuser "OPS$DBA\CEDAR FAN" identified externally;

GlobalAuthentication

Anemerging standard for identity management makes user of LDAP servers


管理用户账号:

--创建用户账号

create user sjidentified by sj

default tablespace sjtemporary tablespace temp

quota 500M onsj,quota unlimited on users

profile test_frofile

password expire

account unlock;

--删除用户

drop user sj --这个命令只有在该用户没有任何对象的情况下才能执行成功

drop user sjcascade;--这个命令可以先删除对象,然后再删除用户

Oracle用户管理概述