Oracle 9i默认的主要用户
|
用户名 |
口令 |
登录身份及说明 |
|
sys |
change_on_install |
SYSDBA或SYSOPER,但不能以NORMAL登录,可作为默认的系统管理员 |
|
system |
manager |
SYSDBA或NORMAL,但不能以SYSOPER登录,可作为默认的系统管理员 |
|
scott |
tiger |
NORMAL,普通用户 |
|
aqadm |
aqadm |
SYSDBA或NORMAL,高级队列管理员。 |
|
Dbsnmp |
dbsnmp |
SYSDBA或NORMAL,复制管理员。 |
- 建立用户时应考虑的问题
- 选择用户名和验证机制
- 定义用于保存对象的表空间
- 决定每个表空间的限额
- 分配临时表空间和缺省表空间
- 给用户授予特权和角色
- 创建用户的步骤
- 用create user 命令建立用户
- 给用户指定缺省表空间和临时表空间
- 给用户指定空间的使用限额,至少要使用用户在system表空间的限额为0
- 给用户授权适当的访问权限
|
CREATE USER 用户名 IDENTIFIED BY 口令 [DEFAULT TABLESPACE 表空间名] [TEMPORARY TABLESPACE 表空间名] [QUOTA 整数K/M ON 表空间名 或者 UNLIMITED] |
|
-- 以system用户登录后,创建用户 -- CONNECT SYSTEM/MANAGER CREATE USER ciqfgdc IDENTIFIED BY ciqfgdcpwd DEFAULT TABLESPACE ciqfgdc QUOTA UNLIMITED ON ciqfgdc ; --授权 GRANT DBA,CONNECT,RESOURCE TO ciqfgdc; GRANT create session,create table,create view to ciqfgdc; |
|
――――――――――――――――――――――――――――――――――――― |
- 给用户授权
- 给一个数据库中已经存在的用户授权
- GRANT 权限列表(权限1,权限2...) TO 用户名;
- 给用户授权的同时创建该用户
- GRANT 权限列表(权限1,权限2...)TO 用户名 IDENTIFIED BY 用户口令;
- 将某个对象的某些权限授予某个用户
- GRANT 权限列表(权限1,权限2...)ON 对象 TO 用户名;
- 将某个对象的某些权限授予所有
- GRANT 权限列表(权限1,权限2...)ON 对象 TO PUBLIC;
- 将某个对象的某些权限授予某个角色
- GRANT 权限列表(权限1,权限2...)ON 对象 TO 角色名;
- 给一个数据库中已经存在的用户授权
注意:
特殊用户--- PUBLIC: 系统中的所有用户
所有权限---ALL: 当前用户的所有权限
例子:
create user tmp identified by tmp
default tablespace users
temporary tablespace temp
quota OM on system;
grant connect,resource to tmp;
- 修改用户
|
ALTER USER 用户名 IDENTIFIED BY 口令 [DEFAULT TABLESPACE 表空间名] [TEMPORARY TABLESPACE 表空间名] [QUOTA 整数K/M ON 表空间名 或者 UNLIMITED] |
|
例1: 修改用户口令 ALTER USER scott IDENTIFIED BY lion; 例2: 修改用户口令 ALTER USER scott IDENTIFIED BY lion DEFAULT TABLESPACE tstest; 例3: 修改用户口令 ALTER USER scott QUOTA OM on SYSTEM; |
- 删除用户
- DROP USER peter;
- DROP USER peter CASCADE( 如果模式中含对象使用CASCADE子句)
- 权限管理
- 系统特权: 完成特殊活动或在一个特殊类型的对象上完成特殊活动的一个特权.
- 对象特权: 在一个指定的对象(表、视图、序列、过程、函数或包)上完成一个特殊活动的特权。
- 改变用户权限
- 授权给用户(Grant)
- 从用户那里收回权限(Revoke)
- Revoke role_name or priv_name from username;
- 撤消用户的角色dba时,同时撤消了用户unlimited tablespace的系统权限
- Grant resource to username;
- 改变用户权限
- 使用权限时的觉问题
- 执行存储过程时出现ORA-1031
- 不能通过角色授权,必须显示授权
- 通过数据库链插入远程表时出现ORA-01031,ORA-02063
- 插入远程表之前先做SELECT必须有SELECT权限
- 执行存储过程时出现ORA-1031
- 列出用户的系统权限
select distinct privilege from dba_sys_privs
where grantee in (select granted_role from dba_role_privs
where grantee='SCOTT')
union
select distinct privilege from dba_sys_privs
where grantee='SCOTT'
- 列出授予用户的角色
select username,
default_tablespace dts,
temporary_tablespace tts,
profile prof,
granted_role || '-' ||
decode(admin_option,'YES','A','') ||
decode(granted_role,'YES','G','') role
from
dba_users,
dba_role_privs
where
dba_users.username = dba_role_privs.granted_role and
username not in('PUBLIC')
order by
1,2,3,4;
|
――――――――――――――――――――――――――――――――――――― |
本文详细介绍了Oracle9i数据库中创建、修改、删除用户的方法,包括默认用户、权限分配、表空间管理、角色授权以及权限撤销等操作。重点讲解了CREATEUSER、ALTERUSER和DROPUSER命令的使用和注意事项。
788

被折叠的 条评论
为什么被折叠?



