您的位置:首页 > 数据库 > Oracle

Oracle用户权限管理

2019-01-16 23:10 561 查看

 

1.创建用户

[code]CREATE USER AGANLIANG
IDENTIFIED BY 123456
DEFAULT TABLESPACE MYSPACE ---默认表空间
QUOTA 10M ON MYSPACE       ---表空间限额(tablespace quota),在myspace上可以使用10M。
QUOTA 5M ON system         ---在system上有5m的使用空间。
TEMPORARY TABLESPACE temp  ---临时表空间
PROFILE DEFAULT            ---用户概要文件
PASSWORD EXPIRE            ---密码期限,指定了这个语句,用户登录前必须修改密码
ACCOUNT UNLOCK;            ---用户状态

创建数据库的时候,oracle自动创建了一些用户,叫做预定义账户:(这些账户与生俱来,不能删除)

一是管理员账户,sys,system,sysman,dbsnmp。sys的默认密码是change_on_install,system的默认密码是manage,都是DBA角色。数据库字典涉及的所有基表和视图都在sys用户下,不要在sys模式下创建其他的数据库对象。数据库管理员通常使用system管理数据库。

二是样例账户,hr,sh,oe

三是内部账户,wksys

       DBA角色是预定义的角色,在创建数据库的时候自动创建,DBA角色含有大量的数据库系统权限,不要把该角色授予普通用户。DBA角色还是没有SYSDBA和SYSOPER两项系统权限。

2.模式(Schema)

        一个模式是一系列的数据库对象(表、索引、视图等),一个模式被一个数据库用户所拥有,模式的名字和数据库用户的名字相同。通俗一点说,用户名就是模式名,模式名就是用户名。

3.修改用户和锁定用户        

[code]---修改用户密码
ALTER USER AGANLIANG
IDENTIFIED BY 123;

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

4.查看用户信息

[code]---查看所有用户信息
SELECT * FROM DBA_USERS ;

---查看用户的表空间限额
select * from dba_ts_quotas ;

查看每一个会话内存的使用情况

[code]select username value || 'bytes' "Current UGA memory"
from v$session sess,v$sesstat stat,v$statname name
where sess.sid = stat.sid
and stat.statistic# = name.statistic#
and name.name = 'session uga memory' ;

查看用户相关的会话

[code]select sid ,serial#,username from v$session ;

查看当前登录数据库的用户

[code]select username from v$session where type ='user' ;

5.用户概要文件

        用户概要文件也叫资源限制文件,用户限制用户对数据库资源的消耗及账号的口令策略。

       数据库资源包括:CPU时间、会话的空闲时间、会话的连接时间、逻辑读、每个用户的并发会话数;私有SGA区级用户私有SQL区。

5.1创建概要文件

[code]样例1
create profile test_profile limit
session_per_user unlimited            ----最大会话数
cpu_per_session unlimited             ----cpu时间
cpu_per_call 3000                     ----每次调用可以消耗最大的cpu时间
connect_time 45                       ----会话连接数据库时间
logical_reads_per_session default     ----每次调用可以读取的最大数据块数量
logical_reads_per_call 1000           ----每个会话所能读取的最大数据块数量
private_sga 15k
composite_limit 5000000;              ----一个会话所消耗资源的总额度。

样例2
create profile profile_password limit
failed_login_attempts 5                ---登录失败超过5次,用户被锁定
password_life_time 60            ---口令的生存时间(天),超过这个时间(不修改密码),口令时效
password_reuse_time 60           ---用户重复使用一个口令之前必须经历的时间
password_reuse_max 5             ---用户在重复使用一个口令之前必须修改的次数
password_lock_time 1/24          ---用户输入错误口令,账户被锁住的时间
password_grace_time 10 ;         ---用户口令过期的时间

5.2 概要文件赋予用户

[code]alter user aganliang
profile test_profile ;

6.超级管理员

查看数据库的超级用户,拥有sysdba和sysoper权限的用户是超级

[code]select * from v$pwfile_users ;

SYSDBA可以完成的任务:

        启动和关闭数据库;创建数据库、删除数据库、创建spfile、改变数据库归档模式、恢复数据库、限制会话、使用alter database 打开和mount数据库、使用alter database 备份数据库、使用alter database 改变数据库的字符集。

SYSOPER可以完成的任务:

        启动和关闭数据库、修改数据库的归档模式、恢复数据库、创建spfile、使用alter database 打开和mount数据库、使用alter database 备份数据库、限制会话。

        用户使用connect username/password as sysdba 或者connect username/password as sysoper 的方式登录数据库,用户登录到指定的模式,而不是用户的模式。sysdba登录的默认模式是sys ;  sysoper登录的默认模式的public.

7.权限

         包括系统权限和对象权限

        系统权限是执行一种特殊动作或者在一类对象上执行一种特殊动作的权力。

        对象权限是在指定模式(表、视图、序列、过程、函数或者包)上执行某种操作的权力。

8.角色

        oracle数据库中预定义了很多角色,比如CONNECT角色,RESOURCE角色,

CONNECT角色的权限:create session,create table,create view,create synonym,create sequence,create database link,reate cluster,alter session.

RESOURCE角色的权限:create table,create procedure,create sequence,create trigger,create type,create cluster,create indextype,create operator

 

 

 

 

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: