SQL用户和权限课件

上传人:枫** 文档编号:589651619 上传时间:2024-09-11 格式:PPT 页数:45 大小:1.38MB
返回 下载 相关 举报
SQL用户和权限课件_第1页
第1页 / 共45页
SQL用户和权限课件_第2页
第2页 / 共45页
SQL用户和权限课件_第3页
第3页 / 共45页
SQL用户和权限课件_第4页
第4页 / 共45页
SQL用户和权限课件_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《SQL用户和权限课件》由会员分享,可在线阅读,更多相关《SQL用户和权限课件(45页珍藏版)》请在金锄头文库上搜索。

1、1home back first prev next last目录目录控制用户访问控制用户访问创建和撤消对象权限创建和撤消对象权限控制用户访问控制用户访问3home back first prev next last学习内容学习内容在本课中,您将学习:在本课中,您将学习:比较对象权限与系统权限间的区别比较对象权限与系统权限间的区别构建用户对数据库的访问权限所需的两个构建用户对数据库的访问权限所需的两个命令命令构建和执行构建和执行GRANTON TO 语句,将语句,将其方案中对象的权限分配给其他用户和其方案中对象的权限分配给其他用户和(或)(或)“PUBLIC”查询数据字典以确认是否已授予权限查

2、询数据字典以确认是否已授予权限4home back first prev next last学习目的学习目的如果您与他人共用同一台计算机,无论是在如果您与他人共用同一台计算机,无论是在学校还是家中,都可能有过您正在使用或已学校还是家中,都可能有过您正在使用或已保存的内容被他人查看、更改或删除的经历。保存的内容被他人查看、更改或删除的经历。要是能控制他人对您个人文件的权限就好了!要是能控制他人对您个人文件的权限就好了!对于数据库来说,正如您在学校或家中使用对于数据库来说,正如您在学校或家中使用电脑的情况一样,数据安全非常重要。电脑的情况一样,数据安全非常重要。在本课中,您将学习如何授予或撤消对数

3、据在本课中,您将学习如何授予或撤消对数据库对象的访问权限,从而控制哪些人可以更库对象的访问权限,从而控制哪些人可以更改、删除、更新、插入、索引或引用数据库改、删除、更新、插入、索引或引用数据库对象。对象。5home back first prev next last控制用户访问控制用户访问在多用户环境下,需要维护在多用户环境下,需要维护数据库访问和使用的安全性。数据库访问和使用的安全性。为了为了Oracle Server 数据库安数据库安全性,可以执行以下操作:全性,可以执行以下操作:控制数据库访问权限控制数据库访问权限授予对数据库中特定对象的访授予对数据库中特定对象的访问权限问权限使用使用O

4、racle 数据字典确认授予数据字典确认授予的权限和收到的权限的权限和收到的权限为数据库对象创建同义词为数据库对象创建同义词6home back first prev next last数据库安全性数据库安全性数据库安全性可以分成以下两个类别:数据库安全性可以分成以下两个类别:系统安全性包括在系统级别上访问和使用数据库,系统安全性包括在系统级别上访问和使用数据库,例如创建用户、用户名和口令,为用户分配磁盘例如创建用户、用户名和口令,为用户分配磁盘空间,授予用户可以执行诸如创建表、视图和序空间,授予用户可以执行诸如创建表、视图和序列的系统权限。有一百多种不同的系统权限。列的系统权限。有一百多种不

5、同的系统权限。数据安全性(也称为对象安全性)与对象权限关数据安全性(也称为对象安全性)与对象权限关联,对象权限包括访问和使用数据库对象以及用联,对象权限包括访问和使用数据库对象以及用户可对这些对象执行的操作。这些权限包括可以户可对这些对象执行的操作。这些权限包括可以执行执行DML 语句。语句。7home back first prev next last权限和方案权限和方案权限是指执行特定权限是指执行特定SQL 语句的权利。语句的权利。DBA 是高级用户,该类用户可以授予其他是高级用户,该类用户可以授予其他用户访问数据库及其对象的权限。用户访问数据库及其对象的权限。用户需要具有系统权限才能访问

6、数据库;需用户需要具有系统权限才能访问数据库;需要具有对象权限才能处理数据库中对象的内要具有对象权限才能处理数据库中对象的内容。容。用户还具有可为其他用户或角色(称为相关用户还具有可为其他用户或角色(称为相关权限组)授予其它权限的权限。权限组)授予其它权限的权限。8home back first prev next last权限和方案权限和方案方案是对象(例如表、视图和序列)的集合。方案是对象(例如表、视图和序列)的集合。方案归数据库用户所有且与该用户同名。方案归数据库用户所有且与该用户同名。在本课中,您的方案名是您所在城市、国家在本课中,您的方案名是您所在城市、国家/地区、学校名、课程名和学

7、生编号的组合。地区、学校名、课程名和学生编号的组合。例如:例如:uswa_skhs_sql01_s22.9home back first prev next last系统安全性系统安全性这一级别的安全性包括在系这一级别的安全性包括在系统级别上访问和使用数据库。统级别上访问和使用数据库。有一百多种不同的系统权限。有一百多种不同的系统权限。通常只有通常只有DBA 才拥有能创建才拥有能创建或删除用户、删除表或备份或删除用户、删除表或备份表的系统权限。表的系统权限。右侧的表中列出了一些系统右侧的表中列出了一些系统权限。一般情况下,权限。一般情况下,DBA 不不会将这些系统权限授予其他会将这些系统权限授

8、予其他用户。您希望其他用户能删用户。您希望其他用户能删除您的表吗?除您的表吗?10home back first prev next last系统权限系统权限DBA 通过执行通过执行CREATE USER 语句创建了语句创建了用户。用户。CREATE USER 用户用户 IDENTIFIED BY 口令口令;CREATE USER scott IDENTIFIED BY ur35scott;此时,用户没有任何权限。然后,此时,用户没有任何权限。然后,DBA 可以可以为该用户授予所需的权限。为该用户授予所需的权限。使用使用ALTER USER 语句,用户可以更改他们语句,用户可以更改他们的口令。

9、的口令。ALTER USER scott IDENTIFIED BY imscott35;11home back first prev next last系统权限系统权限- 作为 sys 执行create user s02 identified by s02;grant create session to s02;- 作为 s02 执行connect s02/s02 xe;- 口令已更改alter user s02 identified by s0202;- 作为 sys 执行,口令已更改 alter user s02 identified by s02;12home back first p

10、rev next last用户系统权限用户系统权限DBA 使用使用GRANT 语句可将语句可将系统权限分配给用户。系统系统权限分配给用户。系统权限决定了用户在数据库级权限决定了用户在数据库级别上可以执行的操作。一旦别上可以执行的操作。一旦将权限授予了用户,该用户将权限授予了用户,该用户便可以立即使用这些权限。便可以立即使用这些权限。GRANT privilege , privilege.TO user , user| role, PUBLIC.;GRANT create session, create table, create sequence, create viewTO scott;13

11、home back first prev next last用户系统权限用户系统权限用户必须拥有用户必须拥有CREATE SESSION 权限和用权限和用户标识才能访问数据库。户标识才能访问数据库。在在Oracle Application Express 中不能发中不能发出出CREATE SESSION 命令,此操作自动在命令,此操作自动在后台执行。后台执行。但是在但是在 sqlplus 中可以执行中可以执行 CREATE SESSION 命令命令14home back first prev next last对象安全性对象安全性这一级别的安全性包括访问和使用数据库对这一级别的安全性包括访问和

12、使用数据库对象以及用户可对这些对象执行的操作。象以及用户可对这些对象执行的操作。15home back first prev next last对象安全性对象安全性每个对象都有特定的一组可授予的权限。每个对象都有特定的一组可授予的权限。下表针对各种对象列出了相应的权限。关于对象下表针对各种对象列出了相应的权限。关于对象权限,请务必注意以下四点:权限,请务必注意以下四点:1. 适用于序列的权限只有适用于序列的权限只有SELECT 和和ALTER。请记住,序列使用请记住,序列使用ALTER 可以更改可以更改INCREMENT、MAXVALUE、CACHE/NOCACHE 或或CYCLE/NOCYC

13、LE 选选项。使用项。使用ALTER 不能更改不能更改START WITH。16home back first prev next last对象安全性对象安全性2.可以针对表中的单个列授予可以针对表中的单个列授予UPDATE、REFERENCES 和和INSERT 权限。例如:权限。例如:GRANT UPDATE(salary) ON employees TO allison_plumb;3.可以通过创建包含列子集的视图,只对视图授予可以通过创建包含列子集的视图,只对视图授予SELECT 权限。不能对单个列授予权限。不能对单个列授予SELECT 权限。权限。4. 对同义词授予的权限会转换为对同

14、义词所引用基对同义词授予的权限会转换为对同义词所引用基表的权限。换而言之,同义词是简单、更易于使用表的权限。换而言之,同义词是简单、更易于使用的新名称。使用该名称授予权限就如同对表本身授的新名称。使用该名称授予权限就如同对表本身授予权限一样。予权限一样。17home back first prev next lastPUBLIC 关键字关键字表的所有者可以使用表的所有者可以使用PUBLIC 关键字将访问关键字将访问权限授予所有用户。权限授予所有用户。以下示例允许系统中的所有用户查询艾丽丝以下示例允许系统中的所有用户查询艾丽丝的的“部门部门”表中的数据。表中的数据。GRANT selectON

15、alice.departmentsTO PUBLIC;18home back first prev next lastPUBLIC 关键字关键字如果语句未使用对象的全名,则如果语句未使用对象的全名,则Oracle 服服务器会隐式地将当前用户(或方案)的名称务器会隐式地将当前用户(或方案)的名称作为对象名的前缀。作为对象名的前缀。例如,如果用户例如,如果用户scott查询查询departments表,系表,系统会从统会从scott. Departments 表中进行检索。表中进行检索。如果语句未使用对象的全名,并且当前用户如果语句未使用对象的全名,并且当前用户不拥有该名称的对象,则系统会使用不拥

16、有该名称的对象,则系统会使用PUBLIC 作为对象名称的前缀。作为对象名称的前缀。例如,如果用户例如,如果用户scott查询查询 user_objects 表,表,而这个表并不属于而这个表并不属于scott ,系统会使用,系统会使用PUBLIC. user_objects 公用同义词从数据字典视图中进公用同义词从数据字典视图中进行选择。行选择。19home back first prev next last确认授予的权限确认授予的权限如果您尝试执行未经授权的操作,例如从某如果您尝试执行未经授权的操作,例如从某个表中删除一行,而对于这个表您不具有个表中删除一行,而对于这个表您不具有DELETE

17、权限,则权限,则Oracle 服务器不会执行服务器不会执行该操作。该操作。如果收到如果收到Oracle 服务器错误消息服务器错误消息“table or view does not exist(此表或视图不存(此表或视图不存在)在)”,则表明您可能执行了以下操作之一:,则表明您可能执行了以下操作之一:指定了不存在的表或视图指定了不存在的表或视图尝试对您不具有适当权限的表或视图执行了某尝试对您不具有适当权限的表或视图执行了某项操作项操作20home back first prev next last确认授予的权限确认授予的权限您可以访问数据字典来查看您可以访问数据字典来查看您所拥有的权限。右侧的表

18、您所拥有的权限。右侧的表对各种数据字典视图进行了对各种数据字典视图进行了说明。说明。使用使用Oracle Application Express Developer,输入,输入USER_ROLE_PRIVS,选,选择放大镜,然后选择择放大镜,然后选择“Query By Example(按(按示例查询)示例查询)”中的任意项。中的任意项。此时会返回他们的权限。此时会返回他们的权限。21home back first prev next last术语术语本课中使用的关键术语包括:本课中使用的关键术语包括:Privilege(权限权限)System privileges(系统权限系统权限)Objec

19、t privileges(对象权限对象权限)System security(系统安全性系统安全性)Object security(对象安全性对象安全性)Schema(方案方案)Role(角色角色)GRANT privilege(GRANT 权限权限)PUBLIC keyword(PUBLIC 关键字关键字)CREATE SESSION privilege(CREATE SESSION 权限权限)22home back first prev next last小结小结在本课中,您应该已经学会:在本课中,您应该已经学会:比较对象权限与系统权限间的区别比较对象权限与系统权限间的区别构建用户对数据库的

20、访问权限所需的两个构建用户对数据库的访问权限所需的两个命令命令构建和执行构建和执行GRANTON TO 语句,将语句,将其方案中对象的权限分配给其他用户和其方案中对象的权限分配给其他用户和(或)(或)“PUBLIC”查询数据字典以确认是否已授予权限查询数据字典以确认是否已授予权限创建和撤消对象权限创建和撤消对象权限24home back first prev next last学习内容学习内容在本课中,您将学习:在本课中,您将学习:描述描述“角色角色(ROLE)”的定义及其具有的优点的定义及其具有的优点构建一个语句,以便创建一个角色并为该角色构建一个语句,以便创建一个角色并为该角色授予权限授予

21、权限构建构建GRANT .ON .TO.WITH GRANT OPTION 语句将对方案中对象的权限分配给其语句将对方案中对象的权限分配给其他用户和(或)他用户和(或)PUBLIC(公众)(公众)构建并执行语句,从用户和(或)构建并执行语句,从用户和(或)PUBLIC“撤撤消消(REVOKE)”对象权限对象权限说明数据库链接的用途说明数据库链接的用途25home back first prev next last学习目的学习目的如果您与他人共用同一台计算机,如果您与他人共用同一台计算机,无论是在学校还是家中,都可能有无论是在学校还是家中,都可能有过您正在使用或已保存的内容被他过您正在使用或已保

22、存的内容被他人查看、更改或删除的经历。要是人查看、更改或删除的经历。要是能控制他人对您个人文件的权限就能控制他人对您个人文件的权限就好了!对于数据库来说,正如您在好了!对于数据库来说,正如您在学校或家中使用电脑的情况一样,学校或家中使用电脑的情况一样,数据安全非常重要。数据安全非常重要。在本课中,您将学习如何授予或撤在本课中,您将学习如何授予或撤消对数据库对象的访问权限,从而消对数据库对象的访问权限,从而控制哪些人可以更改、删除、更新、控制哪些人可以更改、删除、更新、插入、索引或引用数据库对象。插入、索引或引用数据库对象。26home back first prev next last角色角色

23、角色是可以授予用户的相关角色是可以授予用户的相关权限组。角色使撤消和维护权限组。角色使撤消和维护权限变得更容易。一个用户权限变得更容易。一个用户可以访问几个角色,而同一可以访问几个角色,而同一角色也可以分配给几个用户。角色也可以分配给几个用户。角色通常是为数据库应用程角色通常是为数据库应用程序创建的。序创建的。要创建和分配角色,首先要创建和分配角色,首先DBA 必须创建角色。然后,必须创建角色。然后,DBA 可以将权限分配给角可以将权限分配给角色或将角色分配给用户。色或将角色分配给用户。27home back first prev next last角色角色使用以下语法创建角色:使用以下语法创

24、建角色:CREATE ROLE role_name;创建角色之后,创建角色之后,DBA 可以使用可以使用GRANT 语句将语句将角色分配给用户,也可以将权限分配给角色。角色分配给用户,也可以将权限分配给角色。所给示例创建了一个经理角色,并允许经理创所给示例创建了一个经理角色,并允许经理创建表和视图。然后将该角色授予某个用户。现建表和视图。然后将该角色授予某个用户。现在,该用户可以创建表和视图。如果为用户授在,该用户可以创建表和视图。如果为用户授予多个角色,则这些用户会收到与所有这些角予多个角色,则这些用户会收到与所有这些角色相关联的所有权限。色相关联的所有权限。注:注:CREATE ROLE

25、是尚未分配给是尚未分配给Academy 教室的系统权限。教室的系统权限。28home back first prev next last角色特性角色特性角色是相关权限组。角色是相关权限组。可以将角色授予用可以将角色授予用户。户。角色可以简化授予角色可以简化授予和撤消权限的过程。和撤消权限的过程。角色由角色由DBA 创建。创建。权限1权限2权限n 角色1用户1权限21权限22权限2n 角色2用户2用户n29home back first prev next last授予对象权限授予对象权限使用以下语法授予对象权限使用以下语法授予对象权限:GRANT object_priv (column_lis

26、t)ON object_nameTO user|role|PUBLICWITH GRANT OPTION;30home back first prev next last对象权限准则对象权限准则要对某个对象授予权限,该对象必须在您自要对某个对象授予权限,该对象必须在您自己的方案中,或者您具有己的方案中,或者您具有WITH GRANT OPTION 对象权限。对象权限。对象所有者可以将该对象的任何对象权限授对象所有者可以将该对象的任何对象权限授予数据库的任何其他用户或角色。予数据库的任何其他用户或角色。对象所有者会自动获得该对象的所有对象权对象所有者会自动获得该对象的所有对象权限。限。31hom

27、e back first prev next lastGRANT 示例示例Scott King (用户名(用户名scott_king)已经创已经创建了建了d_songs 表。表。 在右侧的示例在右侧的示例1 中,授予所有用户对中,授予所有用户对Scott 的的d_songs表的表的SELECT 权限。权限。示例示例2 将对将对 Scott 的的d_songs 表中特定列的表中特定列的UPDATE 权限授予权限授予jeninfer_cho和和manager角色。角色。如果如果jeninfer现在希望从现在希望从Scott的表中选择数的表中选择数据,她可以使用示例据,她可以使用示例3 中的语法。中

28、的语法。或者,或者, jeninfer 可以为可以为Scott的表创建同义的表创建同义词,然后从该同义词中进行检索。请参阅示词,然后从该同义词中进行检索。请参阅示例例4 和示例和示例5 中的语法。中的语法。对于不同类型的方案对象,可以使用的对象对于不同类型的方案对象,可以使用的对象权限也不同。对于用户方案中所包含的方案权限也不同。对于用户方案中所包含的方案对象,该用户自动拥有这些对象的全部权限。对象,该用户自动拥有这些对象的全部权限。用户可以将自己所拥有的任何方案对象上的用户可以将自己所拥有的任何方案对象上的任何对象权限授予其他用户或角色。任何对象权限授予其他用户或角色。32home back

29、 first prev next lastWITH GRANT OPTION使用使用WITH GRANT OPTION 子句授予的权子句授予的权限可由被授权者传递给其他用户和角色。限可由被授权者传递给其他用户和角色。撤消授权者的权限时,使用撤消授权者的权限时,使用WITH GRANT OPTION 子句授予的对象权限也会被撤消。子句授予的对象权限也会被撤消。以下示例授予用户以下示例授予用户scott对您的对您的d_songs表表的访问权限,以及查询该表和向表中添加行的访问权限,以及查询该表和向表中添加行的权限。本示例还允许的权限。本示例还允许scott将这些权限授将这些权限授予其他人。予其他人

30、。GRANT select, insert ON d_songs TO scott_kingWITH GRANT OPTION;33home back first prev next lastWITH GRANT OPTION- 传递授权是否会收回试验传递授权是否会收回试验-ssession sysGRANT select on scott.emp to zxg WITH GRANT OPTION;CREATE USER zzzIDENTIFIED BY zzz;GRANT connect TO zzz;-ssession zxgselect * from scott.emp;GRANT se

31、lect on scott.emp to zzz WITH GRANT OPTION;-ssession zzzselect * from scott.emp;-ssession sysREVOKE select on scott.emp FROM zxg;-ssession zzz- 失败,说明传递授权也会级联回收失败,说明传递授权也会级联回收select * from scott.emp;SYSZXGZZZ34home back first prev next lastPUBLIC 关键字关键字表的所有者可以使用表的所有者可以使用PUBLIC 关键字将访问权限授关键字将访问权限授予所有用户

32、。以下示例允许系统中的所有用户查询予所有用户。以下示例允许系统中的所有用户查询 jason 的的d_songs表中的数据:表中的数据:GRANT selectON jason_tsang.d_songsTO PUBLIC;如果您尝试执行未经授权的操作,例如从某个表中删除一如果您尝试执行未经授权的操作,例如从某个表中删除一行,而对于这个表您不具有行,而对于这个表您不具有DELETE 权限,则权限,则Oracle Server 不会执行该操作。不会执行该操作。如果收到如果收到Oracle Server 错误消息错误消息“table or view does not exist(此表或视图不存在)(

33、此表或视图不存在)”,则表明您可能执行了,则表明您可能执行了以下操作之一:以下操作之一:指定的表或视图不存在指定的表或视图不存在尝试对您不具有适当权限的表或视图执行某项操作尝试对您不具有适当权限的表或视图执行某项操作35home back first prev next last确认权限确认权限 您可以访问数您可以访问数据字典来查看据字典来查看您所拥有的权您所拥有的权限。限。右侧的表对各右侧的表对各种数据字典视种数据字典视图进行了说明。图进行了说明。36home back first prev next last撤消对象权限撤消对象权限使用使用REVOKE 语句可以删除授予其他用户的权限。语句

34、可以删除授予其他用户的权限。REVOKE privilege , privilege.|ALLON objectFROM user, user.|role|PUBLICCASCADE CONSTRAINTS;使用使用REVOKE 语句,会撤消指定用户的指定权限,语句,会撤消指定用户的指定权限,如果被撤消权限的用户在此之前还通过如果被撤消权限的用户在此之前还通过WITH GRANT OPTION 子句将这些权限授予了任何其子句将这些权限授予了任何其他用户,则也会撤消这些用户的相应权限。他用户,则也会撤消这些用户的相应权限。必须使用必须使用 CASCADE CONSTRAINTS,才能删除,才能删

35、除通过通过REFERENCES 权限对该对象实行的任何引权限对该对象实行的任何引用完整性约束条件。用完整性约束条件。37home back first prev next lastCASCADE CONSTRAINTS 示示例例- 作为 sys 执行create table emp(eno number primary key);grant select,references(eno) on sys.emp to s02;- 作为 s02 执行create table dept(mnrno number constraint dept_mnrno_fk references sys.emp(e

36、no);select constraint_name,column_name from user_cons_columns where table_name=DEPT;- 作为 sys 执行revoke references on sys.emp from s01 cascade constraint;- 作为 s02 执行,结果显示 未选定行select constraint_name,column_name from user_cons_columns where table_name=DEPT;38home back first prev next last撤销对象权限撤销对象权限以下示

37、例撤消了用户以下示例撤消了用户scott对对d_songs表的表的SELECT 和和INSERT 权限。权限。REVOKE select, insert ON d_songs FROM scott_king;如果使用如果使用WITH GRANT OPTION 子句为用户授予子句为用户授予权限,则权限,则被授权用户也可以使用被授权用户也可以使用WITH GRANT OPTION 子句为子句为其他用户授予权限。其他用户授予权限。这意味着可能会出现一条长长的被授权者链,但是不允这意味着可能会出现一条长长的被授权者链,但是不允许循环授予权限。许循环授予权限。如果所有者撤消了某个用户的某项权限,而该用户

38、将多如果所有者撤消了某个用户的某项权限,而该用户将多项权限授予了其他用户,则该撤消语句会级联撤消所有项权限授予了其他用户,则该撤消语句会级联撤消所有已授予的权限。已授予的权限。39home back first prev next last撤销对象权限撤销对象权限例如,如果用户例如,如果用户A 使用使用WITH GRANT OPTION 子句将对表的子句将对表的SELECT 权限授予权限授予了用户了用户B,则用户,则用户B 也可以使用也可以使用WITH GRANT OPTION 子句将子句将SELECT 权限授权限授予用户予用户C。现在,用户。现在,用户C 可以将可以将SELECT 权权限授予

39、用户限授予用户D。40home back first prev next last撤销对象权限撤销对象权限但是,如果用户但是,如果用户A 撤消了用户撤消了用户B 的权限,则的权限,则也会撤消已授予用户也会撤消已授予用户C 和和D 的权限。的权限。41home back first prev next last数据库链接数据库链接数据库链接是一个指针,用于定义从一个数据库链接是一个指针,用于定义从一个Oracle 数据库到另一个数据库到另一个Oracle 数据库的单数据库的单向通信路径。向通信路径。链接指针实际上被定义为数据字典表中的一链接指针实际上被定义为数据字典表中的一个条目。要访问该链接,

40、必须连接到包含数个条目。要访问该链接,必须连接到包含数据字典条目的本地数据库。据字典条目的本地数据库。42home back first prev next last数据库链接数据库链接数据库链接的连接是单向的,这意味着数据库链接的连接是单向的,这意味着连接到本地数据库连接到本地数据库A 的客户机可以使用数据库的客户机可以使用数据库A 中存储中存储的链接访问远程数据库的链接访问远程数据库B 中的信息,中的信息,但是连接到数据库但是连接到数据库B 的用户不能使用相同的链接访问数的用户不能使用相同的链接访问数据库据库A 中的数据。中的数据。如果数据库如果数据库B 中的本地用户希望访问数据库中的本地

41、用户希望访问数据库A 中的数据,中的数据,他们必须定义存储在数据库他们必须定义存储在数据库B 的数据字典中的链接。的数据字典中的链接。创建数据库链接创建数据库链接-在在Oracle Application Express 中,到数据库的连接不是固定连接,因此此功能中,到数据库的连接不是固定连接,因此此功能不可用。不可用。在在 SQLPlus 中可创建中可创建数据库链接数据库链接43home back first prev next last数据库链接数据库链接A 数据库链接的连接使本地用户可以访问远程数数据库链接的连接使本地用户可以访问远程数据库中的数据。要建立该连接,分布式系统中的据库中的数

42、据。要建立该连接,分布式系统中的每个数据库都必须具有唯一的全局数据库名。全每个数据库都必须具有唯一的全局数据库名。全局数据库名唯一标识分布式系统中的数据库服务局数据库名唯一标识分布式系统中的数据库服务器。器。数据库链接的显著优点在于它们允许用户访问远数据库链接的显著优点在于它们允许用户访问远程数据库中另一个用户的对象,因此它们由对象程数据库中另一个用户的对象,因此它们由对象所有者的权限集进行约束。换而言之,本地用户所有者的权限集进行约束。换而言之,本地用户可以访问远程数据库,而不必是该远程数据库的可以访问远程数据库,而不必是该远程数据库的用户。本示例说明用户用户。本示例说明用户scott_ki

43、ng 可以访问远程可以访问远程数据库(全局名为数据库(全局名为HQ.ACME.COM)中的)中的EMP 表。表。44home back first prev next last数据库链接数据库链接一般情况下,一般情况下,DBA 负责创建数据库链接。数据负责创建数据库链接。数据字典视图字典视图USER_DB_LINKS 包含有关用户对其包含有关用户对其具有访问权限的链接的信息。一旦创建了数据具有访问权限的链接的信息。一旦创建了数据库链接,便可以针对远程站点中的数据编写库链接,便可以针对远程站点中的数据编写SQL 语句。语句。如果创建了同义词,可以使用该同义词编写如果创建了同义词,可以使用该同义词

44、编写SQL 语句。例如:语句。例如:CREATE PUBLIC SYNONYM HQ_EMPFOR ;SELECT * FROM HQ_EMP;不能授予对远程对象的权限。不能授予对远程对象的权限。45home back first prev next last小结小结在本课中,您应该已经学会:在本课中,您应该已经学会:描述描述“角色角色(ROLE)”的定义及其具有的优点的定义及其具有的优点构建一个语句,以便创建一个角色并为该角色构建一个语句,以便创建一个角色并为该角色授予权限授予权限构建构建GRANT .ON .TO.WITH GRANT OPTION 语句将对方案中对象的权限分配给其语句将对方案中对象的权限分配给其他用户和(或)他用户和(或)PUBLIC(公众)(公众)构建并执行语句,从用户和(或)构建并执行语句,从用户和(或)PUBLIC“撤撤消消(REVOKE)”对象权限对象权限说明数据库链接的用途说明数据库链接的用途

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号