--1)创建测试用户 user1,user2,user3,并给user2和user3赋创建同义词的权限----------------------------------dba
-- Create the user
create user user1
identified by user1;
-- Grant/Revoke role privileges
grant connect to user1 with admin option;
grant resource to user1 with admin option;
-- Create the user
create user user2
identified by user2;
-- Grant/Revoke role privileges
grant connect to user2 with admin option;
grant resource to user2 with admin option;
-- Grant/Revoke system privileges
grant create synonym to USER2 with admin option;--add
-- Create the user
create user user3
identified by user3;
-- Grant/Revoke role privileges
grant connect to user3 with admin option;
grant resource to user3 with admin option;
-- Grant/Revoke system privileges
grant create synonym to USER3 with admin option;--add
--2)登录user1,创建测试表,将查询权限赋给user2
----------------------------------user1
create table syn_test(syn_test char(1));
grant select on syn_test to user2;
--3)登录user2,创建同义词,测试查询权限
----------------------------------user2
-- Create the synonym
create or replace synonym syn_test
for USER1.syn_test;
select * from syn_test;--ok
select * from user1.syn_test;--ok
--4)登录user3,创建同义词,测试查询权限
----------------------------------user3
-- Create the synonym
create or replace synonym syn_test
for USER2.syn_test;
select * from syn_test;--ORA-00942:表或视图不存在
select * from user2.syn_test;--ORA-00942:表或视图不存在
--5)登录user2,给user3赋查询同义词权限
---------------------------------user2
grant select on syn_test to user3;--ORA-01031:权限不足
Oracle数据库:创建与授权同义词操作详解
本文详细介绍了在Oracle数据库中如何创建用户、分配权限,并通过实例展示了如何为不同用户创建同义词及进行权限授予。具体步骤包括创建用户user1、user2和user3,赋予他们连接和资源权限,以及创建同义词的权限。接着,user1创建测试表syn_test,并将查询权限授予user2。user2成功创建syn_test的同义词并能查询。然而,user3在创建同义词后,因缺少权限无法查询syn_test,当user2尝试向user3授予查询权限时遇到权限不足的问题。
2312

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



