用户管理手册.docx

上传人:b****7 文档编号:10831609 上传时间:2023-02-23 格式:DOCX 页数:21 大小:20.79KB
下载 相关 举报
用户管理手册.docx_第1页
第1页 / 共21页
用户管理手册.docx_第2页
第2页 / 共21页
用户管理手册.docx_第3页
第3页 / 共21页
用户管理手册.docx_第4页
第4页 / 共21页
用户管理手册.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

用户管理手册.docx

《用户管理手册.docx》由会员分享,可在线阅读,更多相关《用户管理手册.docx(21页珍藏版)》请在冰豆网上搜索。

用户管理手册.docx

用户管理手册

一,Oracle数据库用户简介

在Oracle数据库中任何对象都属于一个特定用户,或者说一个用户与同名的模式相关联。

要连接到Oracle数据库需要一个用户帐户,根据需要授予的操作权限。

 

1,默认数据库用户模式:

Sys:

数据库字典(存储被管理对象所有信息)和视图存储在该模式中。

系统级用户。

System:

默认系统管理员(DBA权限)用户。

系统级用户。

Scott:

数据库示范用户,默认口令tiger。

不同版本不同。

2,什么是权限?

管理用户对数据库定义(DDL)和访问数据库(DML)的操作。

①系统权限:

管理数据库操作DDL,进行系统级活动的能力。

②对象权限:

管理对象进行操作DML。

3,什么是角色?

①管理用户对数据库进行不同级别的访问。

②角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。

只要第一次将角色赋给这一组用户,接下来就只要针对角色进行管理就可以了。

二,用户与表空间的关系

1,每个用户都有一个默认表空间(默认为System)和一个临时表空间(默认为Temp);

2,表空间作用;

①.决定数据库实体的空间分配;

②.设置数据库用户的空间份额;

③.控制数据库部分数据的可用性;

④.分布数据于不同的设备之间以改善性能;

3,创建表空间(TableSpace)

语法格式:

CREATETABLESPACE表空间名

DATAFILE文件标识符[,文件标识符]

[SIZE整数[K\M]]

[AUTOEXTEND][ON|OFF]

;

其中:

文件标识符=’文件名’

例子:

CreateTableSpacets5_11

DataFile‘E:

\OracleTableSpace\05_11\ts1.DBF’,‘E:

\OracleTableSpace\05_11\ts2.DBF'

Size10M;

4,修改表空间配置

语法格式:

ALTERTABLESPCE表空间名

(ADDDATAFILE文件标识符[,文件标识符]

|RENAMEDATAFILE’文件名’[,’文件名’]

TO’文件名’[,’文件名’]

);

三,用户的创建和管理

1,创建数据库用户(User)

语法格式:

Createuser用户名

IDENTIFIEDBY"口令"

Defaulttablespace表空间名

TEMPORARYtablespace临时表空间名

Profileprofile文件名

Quota限制空间大小on表空间名;

 

例子:

Createuserqfs5_11

Identifiedby"123"

Defaulttablespacets5_11;

grantresourcetoqfs5_11;

grantconnecttoqfs5_11;

2,修改用户

语法格式:

Alteruser用户名

IDENTIFIEDBY“口令”

Defaulttablespace表空间名

TEMPORARYtablespace临时表空间名

Profileprofile文件名

Quota限制空间大小on表空间名;

例子:

Alteruserqfs5_11

Identifiedby"456";

3,删除用户

语法格式:

①用户下没有实体时:

Dropuser用户名;

②用户已创建实体如表和数据时:

Dropuser用户名CASCADE;

注意:

当前正连接的用户不得删除。

使用CASCADE选项时,用户及实体马上被删除,应再进入数据文件进行物理删除。

例子:

/*connscott/toger;

grantselectonemptoqfs5_11;

connqfs5_11/456;

CreateTableempaasselect*fromscott.emp;

*/

Dropuserqfs5_11;

/*ERRORatline1:

ORA-01922:

CASCADEmustbespecifiedtodrop'QFS5_11''*/

Dropuserqfs5_11CASCADE;

/*Userdropped.*/

三,权限和角色的管理

1,权限和角色的关系

①对管理权限而言,角色是一个工具,权限能够被授予给一个角色,角色也能被授予给另一个角色或用户。

用户可以通过角色继承权限,除了管理权限外角色服务没有其它目的。

权限可以被授予,也可以用同样的方式撤销。

角色存在的目的就是为了使权限的管理变得轻松。

2,创建和使用权限

①系统的权限不依赖任何东西,所以级联授权后不级联收回;

对象的权限互相依赖,级联授权的后级联的收回;

system的权限比sysdba的权限要低,他不能关闭数据库和启动数据库等权限

语法格式:

创建:

Grant系统权限列表TO用户名WITHADMINOPTION;

Grant对象权限列表ON对象名TO用户名WITHGRANTOPTION;

移除:

Revoke系统权限列表From用户名;

Revoke对象权限列表ON对象名From用户名;

例子:

创建并使用系统权限CreateTableSpace

connsystem/welcome;

GrantCreateTableSpaceToscottWITHADMINOPTION;

connscott/tiger;

Select*FromUSER_SYS_PRIVS;

CreateTableSpacets5_11_2 

DataFile'E:

\OracleTableSpace\ts5_11_2.DBF'

Size2M;

/*Tablespacecreated.*/

 

 

connsystem/welcome;

Select*FromV$TableSpace;

TS#NAMEINCBIGFLA

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

0SYSTEMYESNOYES

1UNDOTBS1YESNOYES

2SYSAUXYESNOYES

4USERSYESNOYES

3TEMPYESNOYES

6EXAMPLEYESNOYES

7TS5_11YESNOYES

8TS5_11_2YESNOYES

例子:

移除系统权限CreateTableSpace

connsystem/welcome;

Dorptablespacets5_11_2;

/*error:

unknowncommandbeginning"dorptable..."-restoflineignored.*/

RevokeCreateTableSpaceFromscott;

/*Revokesucceeded.*/

Select*FromUSER_SYS_PRIVS;

connsystem/welcome;

DropTableSpacets5_11_2;

/*Tablespacedropped.*/

Select*FromV$TableSpace;

TS#NAMEINCBIGFLA

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

0SYSTEMYESNOYES

1UNDOTBS1YESNOYES

2SYSAUXYESNOYES

4USERSYESNOYES

3TEMPYESNOYES

6EXAMPLEYESNOYES

7TS5_11YESNOYES

例子:

创建并使用对象权限Select

/*Createuserqfs5_11*/

connscott/tiger;

select*fromscott.emp;

/*error:

tableorviewdoesnotexist*/

connsystem/welcome;

GrantSelectOnscott.empToqfs5_11WITHGRANTOPTION;

connqfs5_11/123;

select*fromscott.emp;

select*fromuser_tab_privs;

例子:

移除对象权限Select

connsystem/welcome;

RevokeSelectOnscott.empFromqfs5_11;

select*fromscott.emp;

/*error:

tableorviewdoesnotexist*/

select*fromuser_tab_privs;

/*norowsselected*/

3,创建和使用角色

创建语法格式:

CREATEROLErole名IDENTIFIEDBYpassword

CREATEROLErole名IDENTIFIEDEXTERNALLY

CREATEROLErole名IDENTIFIEDGLOBALLY

激活语法格式:

SETROLErole名IDENTIFIEDBYpassword

缺省情况下建立的角色没有password或者其他的识别。

如果使用IDENTIFIEDBY子句建立,那么角色不会自动响应,必须用SETROLE激活。

EXTERNALLY和GLOBALLY类型的角色由操作系统和ORACLEServiceserver验证。

通常用户需要权限修改应用程序中使用的表单中的数据,但是只有在应用程序运行时而不是在使用adhoc工具时,

这种上下文敏感安全可以通过有PASSWORD的角色来实现。

当用户在应用程序内部连结数据库时,代码将执行SETROLE命令,通过安全验证。

所以用户不需要知道角色的password,也不需要自己输入SETROLE命令。

删除角色语法:

DropRolerole名;

例子:

connsystem/welcoem;

--创建角色roleA

CreateRoleroleA;

--授权给角色

GrantCreateSessionToroleA;

--授予角色给用户

GrantroleAToqfs5_11;

--查看角色所包含的权限

Select*fromrol_sys_privs;

--创建带有口令以角色roleB

CreateRoleroleBIdentifiedBypwd;

--修改角色:

是否需要口令

AlterRoleroleBNotIdentified;

--或

AlterRoleroleBIdentifiedBynewPwd;

--设置当前用户要生效的角色

SetRoleroleA;

--设置带有口令的roleB生效

SetRoleroleBIdentifiedBypwd;

--使用该用户的所有角色生效

SetRoleAll;

--设置该用户所有角色失效

SetRoleNone;

--除roleA外的该用户的所有其它角色生效。

SetRoleAllExceptroleA;

--查看当前用户的生效的角色。

Select*FromSESSION_ROLES;

--修改指定用户,设置其默认角色

AlterUserqfs5_11DefaultRoleroleA;

AlterUserqfs5_11DefaultRoleAllExceptroleB;

--移除用户的角色

RevokeCreateSessionFromroleA;

--删除角色

DropRoleroleA;

--角色删除后,原来拥用该角色的用户就不再拥有该角色了,相应的权限也就没有了。

4,系统预定义角色

预定义角色是在数据库安装后,系统自动创建的一些常用的角色。

下介简单的介绍一下这些预定角色。

角色所包含的权限可以用以下语句查询:

sql>select*fromrole_sys_privswhererole='角色名';

 

①.CONNECT,RESOURCE,DBA

这些预定义角色主要是为了向后兼容。

其主要是用于数据库管理。

oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。

将来的版本中这些角色可能不会作为预定义角色。

 

②.DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE

这些角色主要用于访问数据字典视图和包。

 

③.EXP_FULL_DATABASE,IMP_FULL_DATABASE

这两个角色用于数据导入导出工具的使用。

 

④.AQ_USER_ROLE,AQ_ADMINISTRATOR_ROLE

AQ:

AdvancedQuery。

这两个角色用于oracle高级查询功能。

 

⑤.SNMPAGENT

用于oracleenterprisemanager和IntelligentAgent

 

⑥.RECOVERY_CATALOG_OWNER

用于创建拥有恢复库的用户。

关于恢复库的信息,参考oracle文档《Oracle9iUser-ManagedBackupandRecoveryGuide》

 

⑦.HS_ADMIN_ROLE

ADBAusingOracle'sheterogeneousservicesfeatureneedsthisroletoaccessappropriatetablesinthedatadictionary.

 

5,Oracle数据库的系统和对象权限:

alteranycluster修改任意簇的权限

  alteranyindex修改任意索引的权限

  alteranyrole修改任意角色的权限

  alteranysequence修改任意序列的权限

  alteranysnapshot修改任意快照的权限

  alteranytable修改任意表的权限

  alteranytrigger修改任意触发器的权限

  altercluster修改拥有簇的权限

  alterdatabase修改数据库的权限

  alterprocedure修改拥有的存储过程权限

  alterprofile修改资源限制简表的权限

  alterresourcecost设置佳话资源开销的权限

  alterrollbacksegment修改回滚段的权限

  altersequence修改拥有的序列权限

  altersession修改数据库会话的权限

  altersytem修改数据库服务器设置的权限

  altertable修改拥有的表权限

  altertablespace修改表空间的权限

  alteruser修改用户的权限

  analyze使用analyze命令分析数据库中任意的表、索引和簇

  auditany为任意的数据库对象设置审计选项

  auditsystem允许系统操作审计

 

backupanytable备份任意表的权限

  becomeuser切换用户状态的权限

  commitanytable提交表的权限

  createanycluster为任意用户创建簇的权限

  createanyindex为任意用户创建索引的权限

  createanyprocedure为任意用户创建存储过程的权限

  createanysequence为任意用户创建序列的权限

  createanysnapshot为任意用户创建快照的权限

  createanysynonym为任意用户创建同义名的权限

  createanytable为任意用户创建表的权限

  createanytrigger为任意用户创建触发器的权限

  createanyview为任意用户创建视图的权限

  createcluster为用户创建簇的权限

  createdatabaselink为用户创建的权限

  createprocedure为用户创建存储过程的权限

  createprofile创建资源限制简表的权限

  createpublicdatabaselink创建公共数据库链路的权限

  createpublicsynonym创建公共同义名的权限

  createrole创建角色的权限

  createrollbacksegment创建回滚段的权限

  createsession创建会话的权限

  createsequence为用户创建序列的权限

  createsnapshot为用户创建快照的权限

  createsynonym为用户创建同义名的权限

  createtable为用户创建表的权限

  createtablespace创建表空间的权限

  createuser创建用户的权限

  createview为用户创建视图的权限

  deleteanytable删除任意表行的权限

  deleteanyview删除任意视图行的权限

  deletesnapshot删除快照中行的权限

  deletetable为用户删除表行的权限

  deleteview为用户删除视图行的权限

  dropanycluster删除任意簇的权限

  dropanyindex删除任意索引的权限

  dropanyprocedure删除任意存储过程的权限

  dropanyrole删除任意角色的权限

  dropanysequence删除任意序列的权限

  dropanysnapshot删除任意快照的权限

  dropanysynonym删除任意同义名的权限

  dropanytable删除任意表的权限

  dropanytrigger删除任意触发器的权限

  dropanyview删除任意视图的权限

  dropprofile删除资源限制简表的权限

  droppubliccluster删除公共簇的权限

  droppublicdatabaselink删除公共数据链路的权限

  droppublicsynonym删除公共同义名的权限

  droprollbacksegment删除回滚段的权限

  droptablespace删除表空间的权限

  dropuser删除用户的权限

  executeanyprocedure执行任意存储过程的权限

  executefunction执行存储函数的权限

  executepackage执行存储包的权限

  executeprocedure执行用户存储过程的权限

  forceanytransaction管理未提交的任意事务的输出权限

  forcetransaction管理未提交的用户事务的输出权限

  grantanyprivilege授予任意系统特权的权限

  grantanyrole授予任意角色的权限

  indextable给表加索引的权限

  insertanytable向任意表中插入行的权限

  insertsnapshot向快照中插入行的权限

  inserttable向用户表中插入行的权限

  insertview向用户视图中插行的权限

  lockanytable给任意表加锁的权限

  managertablespace管理(备份可用性)表空间的权限

  referencestable参考表的权限

  restrictedsession创建有限制的数据库会话的权限

  selectanysequence使用任意序列的权限

  selectanytable使用任意表的权限

  selectsnapshot使用快照的权限

  selectsequence使用用户序列的权限

  selecttable使用用户表的权限

  selectview使用视图的权限

  unlimitedtablespace对表空间大小不加限制的权限

  updateanytable修改任意表中行的权限

  updatesnapshot修改快照中行的权限

  updatetable修改用户表中的行的权限

  updateview修改视图中行的权限

 

6,与权限,角色相关的视图:

SYSTEM_PRIVILEGE_MAP获得完整的系统权限。

DBA_SYS_PRIVS:

查询某个用户所拥有的系统权限

USER_SYS_PRIVS:

当前用户所拥有的系统权限

SESSION_PRIVS:

当前用户所拥有的全部权限

ROLE_SYS_PRIVS:

某个角色所拥有的系统权限

user_tab_privs:

读取其他用户对象权限:

 

注意:

要以SYS用户登陆查询这个视图,否则返回空.

ROLE_ROLE_PRIVS:

当前角色被赋予的角色

SESSION_ROLES:

当前用户被激活的角色

USER_ROLE_PRIVS:

当前用户被授予的角色

另外还有针对表的访问权限的视图:

TABLE_PRIVILEGES

ALL_TAB_PRIVS

ROLE_TAB_PRIVS:

某个角色被赋予的相关表的权限

 

综合示例:

/*

Dropuse

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1