Oracle 10g 系统与对象权限管理笔记

需积分: 0 0 下载量 122 浏览量 更新于2024-07-23 收藏 260KB PDF 举报
"Oracle 10g笔记,详细记录了OCa认证考试的关键知识点,包括用户管理和权限控制。" 在Oracle数据库管理系统中,用户管理和权限控制是核心组成部分,尤其是在Oracle 10g版本中。这份笔记详细阐述了如何创建和管理用户,以及如何分配和管理权限,这对通过OCa认证考试至关重要。 首先,我们来看用户管理。创建用户是数据库管理员(DBA)的基本任务。通过`CREATE USER`语句可以创建新用户,如创建用户`t1`和`t2`: ```sql CREATE USER t1 IDENTIFIED BY t1; CREATE USER t2 IDENTIFIED BY t2; ``` 然后,使用`GRANT`语句赋予用户连接数据库的权限,例如: ```sql GRANT CONNECT TO t1, t2; ``` 接着,我们给`t1`用户分配了创建表和视图的权限,并且加上了`WITH ADMIN OPTION`,这意味着`t1`不仅可以创建表和视图,还可以将这些权限转授给其他用户: ```sql GRANT CREATE TABLE, CREATE VIEW TO t1 WITH ADMIN OPTION; ``` `WITH ADMIN OPTION`的使用需要注意,它不会自动传递给`t1`转授的权限。例如,即使`t1`有创建表的权限,但当DBA撤销`t1`的`CREATE TABLE`和`CREATE VIEW`权限时,`t1`之前转授予`t2`的权限并不会受到影响,除非直接从`t1`那里撤销。 对于对象权限,我们可以看到例子中`test`用户将`SELECT`权限授予了`t1`,并允许`t1`进一步将该权限转授给`t2`: ```sql GRANT SELECT ON tt TO t1 WITH GRANT OPTION; ``` `t1`再将`SELECT`权限授予`t2`: ```sql GRANT SELECT ON test.tt TO t2; ``` 在查询`dba_tab_privs`视图,可以看到权限的分配情况: ```sql SELECT * FROM dba_tab_privs WHERE grantee IN ('T1', 'T2'); ``` 最后,要注意的是,撤销系统权限时,如`REVOKE CREATE TABLE, CREATE VIEW FROM t1;`,这些权限不会级联撤销已经授予其他用户的权限。这意味着`t1`仍然可以使用`t2`已有的权限,除非直接从`t2`处撤销。 总结起来,Oracle 10g的用户管理和权限控制涉及用户创建、连接权限、系统权限和对象权限的授予与撤销,以及`WITH ADMIN OPTION`和`GRANT OPTION`的使用。理解和熟练掌握这些概念对于通过OCa认证考试及日常数据库管理都至关重要。