(O管理)O知识整理.

上传人:精****库 文档编号:136622144 上传时间:2020-06-30 格式:DOC 页数:51 大小:554.15KB
返回 下载 相关 举报
(O管理)O知识整理._第1页
第1页 / 共51页
(O管理)O知识整理._第2页
第2页 / 共51页
(O管理)O知识整理._第3页
第3页 / 共51页
(O管理)O知识整理._第4页
第4页 / 共51页
(O管理)O知识整理._第5页
第5页 / 共51页
点击查看更多>>
资源描述

《(O管理)O知识整理.》由会员分享,可在线阅读,更多相关《(O管理)O知识整理.(51页珍藏版)》请在金锄头文库上搜索。

1、(O管理)O知识整理SQL语言分类种类缩写全称常用操作数据定义语言DDLDatadefinelanguagecreate,alter,drop数据操纵语言DMLDataManipulationLanguageselect,insert,delete,update事务控制语言TCLTransactionControlLanguagecommit,savapoint,rollback数据控制语言DCLDataControlLanguagegrant,revoke1. SQL常用数据类型分类关键字表示范围备注字符char12000字节固定长度varchar214000字节可自增长长度long2GB可

2、自增长长度数值number定义方式number(P,S)P:长度S:精度日期date日期和时间部分,精确到整个的秒timestamp存储日期、时间和时区信息,秒值精确到小数点后6位RAWraw12000字节存储二进制数据longraw2GB存储二进制数据LOBclob4GB能够存储大量字符数据blob4GB可以存储较大的二进制对象,如图形、视频剪辑和声音文件bfile4GB用于将二进制数据存储在数据库外部的操作系统文件中2. Oracle中的伪列l Oracle中伪列就像一个表列,但是它并没有存储在表中l 伪列可以从表中查询,但不能插入、更新和删除它们的值l 常用的伪列有ROWID和ROWNU

3、M3.1. ROWIDROWID是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用ROWID伪列快速地定位表中的一行。3.2. ROWNUMROWNUM是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数。3. 命名规则Oracle中的各种数据对象,包括表名称,视图等等名称的命名都需要遵循Oracle的命名规则。Oracle的命名规则分为标准命名方式和非标准命名方式。l 标准命名方式以字符打头30个字符以内只能包含A-Z,a-z,0-9,_,$和#。不能和同一个用户下的其他对象重名,不能是oracle服务器的保留字。l 非标准命名方式你可以使用你想使用的任何字符,包括中文

4、,oracle中的保留字,空格等等,但是需要将对象名用双引号引起来。例如:createtable“table”(test1varchar2(10);4. 创建表空间CREATETABLESPACEtablespacenameDATAFILEfilenameSIZEintegerK|MAUTOEXTENDOFF|ON;注:大写字母为关键字,小写部分为用户自定义部分;中的内容为可选择部分。例:createtablespacemy_tablespacedatafilec:myspacesize100Kautoextendon;5. Oracle用户操作4.5.6.6.1. 创建用户CREATEUSE

5、RusernameIDENTIFIEDBYpasswordDEFAULTTABLESPACEtablespaceTEMPORARYTABLESPACEtablespace;例:createuserscottidentifiedbytiger;6.2. 密码修改ALTERUSERusernameIDENTIFIEDBYnewpassword6.3. 锁定用户ALTERUSERusernameACCOUNTLOCK;6.4. 撤销锁定ALTERUSERusernameACCOUNTUNLOCK;6.5. 删除用户DROPUSERusername;6. 权限管理l Oracle权限有两种类型,系统权

6、限和对象权限。l 系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。l 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。1.2.3.4.5.6.7.7.1. 系统权限管理7.1.1. 系统权限分类DBA:拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。对于普通用户:授予connect,resource权限。对于DBA管理用户:授予connect

7、,resource,dba权限。7.1.2. 系统权限授权系统权限只能由DBA用户授出:sys,system(最开始只能是这两个用户)授权命令:GRANTconnect,resource,dbaTOusername;普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。例:grantconnect,resourcetoscott;7.1.3. 系统权限传递增加WITHADMINOPTION选项,则得到的权限可以传递。例:grantconnect,resorcetouser01withadminoption;7.1.4.

8、系统权限回收REVOKEconnect,resourceFROMusername;7.2. 实体权限管理7.2.1. 实体权限分类select,update,insert,alter,index,delete,all等7.2.2. 实体权限授权GRANTselect,update,insertONtablenameTOusername;例:grantallonemptoscott;7.2.3. 实体权限传递例:user01:grantselect,updateonproducttouser02withgrantoption;7.2.4. 实体权限回收REVOKEselect,updateONt

9、ablenameFROMusername;7. 角色管理l 角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。8.8.1. 系统预定义角色预定义角色是在数据库安装后,系统自动创建的一些常用的角色。角色所包含的权限可以用以下语句查询:select*fromrole_sys_privswhererole=角色名;CONNECT,RESOURCE,DBA这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。DELETE_CATALOG_ROLE,EXECUTE_CATALOG_RO

10、LE,SELECT_CATALOG_ROLE这些角色主要用于访问数据字典视图和包SNMPAGENT用于oracleenterprisemanager和IntelligentAgentRECOVERY_CATALOG_OWNER用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档Oracle9iUser-ManagedBackupandRecoveryGuideHS_ADMIN_ROLEADBAusingOraclesheterogeneousservicesfeatureneedsthisroletoaccessappropriatetablesinthedatadictionar

11、y.8.2. 管理角色l 建一个角色createrolerole1;l 授权给角色grantcreateanytable,createproceduretorole1;l 授予角色给用户grantrole1touser1;l 查看角色所包含的权限select*fromrole_sys_privs;l scott的权限如图:-查看scott用户具有什么系统权限select*fromrole_sys_privs;-查看scott用户自己拥有什么角色select*fromuser_role_privs;-查看scott用户自己具有什么的权限select*fromSESSION_ROLES;-查sco

12、tt用户的创建时间、用户状态、使用的默认表空间、临时表空间等信息select*fromuser_users;-查看scott用户中,都哪些用户把对象授予给scott用户select*fromuser_tab_privs;-查看scott用户中拥有的resource角色都具有什么权限select*fromrole_sys_privswhererole=RESOURCE;-scott用户自己拥有多少表select*fromuser_tables;-查看scott用户已经使用多大的空间,允许使用的最大空间是多少selecttablespace_name,bytes,max_bytesfromuser

13、_ts_quotas;-查看哪些表什么权限赋予了其他用户select*fromuser_tab_privs_made-把自己的表赋予给其他用户grantselectonemptomzl;-把表的某一列操作权限赋予给其他用户grantupdate(job)onemptomzl;l 创建带有口令以角色(在生效带有口令的角色时必须提供口令)createrolerole1identifiedbypassword1;l 修改角色:是否需要口令alterrolerole1notidentified;alterrolerole1identifiedbypassword1;l 设置当前用户要生效的角色setr

14、olerole1;/使role1生效setrolerole,role2;/使role1,role2生效setrolerole1identifiedbypassword1;/使用带有口令的role1生效setroleall;/使用该用户的所有角色生效setrolenone;/设置所有角色失效setroleallexceptrole1;/除role1外的该用户的所有其它角色生效select*fromSESSION_ROLES;/查看当前用户的生效的角色l 修改指定用户,设置其默认角色alteruseruser1defaultrolerole1;alteruseruser1defaultroleallexceptrole1;l 删除角色droprolerole1;l Oracle用户密码过期解决方法原因:由于oracle11g中默认在default概要文件中设置了“PASSWORD_LIFE_TIME=180天”所导致。解决方案:1、查看用户的proifle是哪个,一般是default:sqlSELECTusername,PROFILEFROMdba_users;2、查看指定概要文件(如default)的密码有效期设置:sqlSELECT*FROMdba_profilessWHEREs.profile=DEFAULTANDresource_name=PASSWORD_LIFE_TIM

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 企业文档

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