千家信息网

Oracle同义词概念

发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,Oracle同义词Oracle的同义词(synonyms)跟View功能类似,但更强大。在Oracle数据库中的大部分数据库对象,如表、视图、物化视图、序列、函数、存储过程、包、同义词等等都可以做为同
千家信息网最后更新 2024年11月26日Oracle同义词概念

Oracle同义词

Oracle的同义词(synonyms)跟View功能类似,但更强大。在Oracle数据库中的大部分数据库对象,如表、视图、物化视图、序列、函数、存储过程、包、同义词等等都可以做为同义词。其目的主要有2个:用于简化对象访问提高对象访问的安全性

下面简单做个演示:

SQL> conn scott/tiger

Connected.

SQL> create table test1 (id number);

Table created.

SQL> insert into test1 values(1);

1 row created.

SQL> commit;

1、创建连接用户:

SQL> conn /as sysdba;

Connected.

SQL> create user zsl identified by zsl;

User created.

2、创建profile:

SQL> create profile zsl_test1 limitsessions_per_user 5;

Profile created.

3、设置profile绑定用户:

SQL> alter user zsl profile zsl_test1;

User altered.

4、赋予权限

SQL> grant create session to zsl;

Grant succeeded.

SQL> grant select on scott.test1 to zsl;

Grant succeeded.

5、创建同义词

SQL> create synonym zsl.test1 forscott.test1;

Synonym created.

6、切换到zsl用户下测试

SQL> conn zsl/zsl

Connected.

SQL> select * from test1;

ID

----------

1

7、查找属主

SQL> conn /as sysdba;

Connected.

SQL> set line 150

SQL> select owner,SYNONYM_NAME,TABLE_OWNER, TABLE_NAME from dba_synonyms where SYNONYM_NAME=upper('test1');

OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME

---------------- ------------------------- ----------------   -------------------

ZSL   TEST1 SCOTT TEST1


0