资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1. SQL语言分类种类缩写全称常用操作数据定义语言DDLData define languagecreate, alter, drop数据操纵语言DMLData Manipulation Languageselect, insert, delete, update事务控制语言TCLTransaction Control Languagecommit, savapoint, rollback数据控制语言DCLData Control Languagegrant, revoke2. SQL常用数据类型分类关键字表示范围备注字符char12000字节固定长度varchar214000字节可自增长长度long2GB可自增长长度数值number定义方式number(P,S)P:长度 S:精度日期date日期和时间部分,精确到整个的秒timestamp存储日期、时间和时区信息,秒值精确到小数点后6位RAWraw12000字节存储二进制数据long raw2GB存储二进制数据LOBclob4GB能够存储大量字符数据blob4GB可以存储较大的二进制对象,如图形、视频剪辑和声音文件bfile4GB用于将二进制数据存储在数据库外部的操作系统文件中3. Oracle中的伪列l Oracle 中伪列就像一个表列,但是它并没有存储在表中l 伪列可以从表中查询,但不能插入、更新和删除它们的值l 常用的伪列有 ROWID 和ROWNUM3.1. ROWIDROWID是表中行的存储地址,该地址可以唯一地标识数据库中的一行,可以使用ROWID伪列快速地定位表中的一行。3.2. ROWNUMROWNUM是查询返回的结果集中行的序号,可以使用它来限制查询返回的行数。4. 命名规则Oracle中的各种数据对象,包括表名称,视图等等名称的命名都需要遵循Oracle的命名规则。Oracle的命名规则分为标准命名方式和非标准命名方式。l 标准命名方式以字符打头30个字符以内只能包含A-Z,a-z,0-9,_,$和#。不能和同一个用户下的其他对象重名,不能是oracle服务器的保留字。l 非标准命名方式你可以使用你想使用的任何字符,包括中文,oracle中的保留字,空格等等,但是需要将对象名用双引号引起来。例如: create table “table” (test1 varchar2(10);5. 创建表空间CREATE TABLESPACE tablespacenameDATAFILE filename SIZE integer K|MAUTOEXTEND OFF|ON;注:大写字母为关键字,小写部分为用户自定义部分;中的内容为可选择部分。例:create tablespace my_tablespace datafile c:myspace size 100K autoextend on;6. Oracle用户操作4.5.6.6.1. 创建用户CREATE USER usernameIDENTIFIED BY passwordDEFAULT TABLESPACE tablespaceTEMPORARY TABLESPACE tablespace;例:create user scott identified by tiger;6.2. 密码修改ALTER USER username IDENTIFIED BY newpassword6.3. 锁定用户ALTER USER username ACCOUNT LOCK;6.4. 撤销锁定ALTER USER username ACCOUNT UNLOCK;6.5. 删除用户DROP USER username;7. 权限管理l Oracle权限有两种类型,系统权限和对象权限。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, resource, dba权限。7.1.2. 系统权限授权系统权限只能由DBA用户授出:sys, system(最开始只能是这两个用户)授权命令:GRANT connect, resource, dba TO username;普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。例:grant connect, resource to scott;7.1.3. 系统权限传递增加WITH ADMIN OPTION选项,则得到的权限可以传递。例:grant connect, resorce to user01 with admin option;7.1.4. 系统权限回收REVOKE connect, resource FROM username;7.2. 实体权限管理7.2.1. 实体权限分类select, update, insert, alter, index, delete, all等7.2.2. 实体权限授权GRANT select, update, insert ON tablename TO username;例:grant all on emp to scott;7.2.3. 实体权限传递例:user01:grant select, update on product to user02 with grant option;7.2.4. 实体权限回收REVOKE select, update ON tablename FROM username;8. 角色管理l 角色是一组权限的集合,将角色赋给一个用户,这个用户就拥有了这个角色中的所有权限。8.8.1. 系统预定义角色预定义角色是在数据库安装后,系统自动创建的一些常用的角色。角色所包含的权限可以用以下语句查询:select * from role_sys_privs where role=角色名;CONNECT, RESOURCE, DBA这些预定义角色主要是为了向后兼容。其主要是用于数据库管理。oracle建议用户自己设计数据库管理和安全的权限规划,而不要简单的使用这些预定角色。DELETE_CATALOG_ROLE,EXECUTE_CATALOG_ROLE,SELECT_CATALOG_ROLE这些角色主要用于访问数据字典视图和包SNMPAGENT用于oracle enterprise manager和Intelligent AgentRECOVERY_CATALOG_OWNER用于创建拥有恢复库的用户。关于恢复库的信息,参考oracle文档Oracle9i User-Managed Backup and Recovery GuideHS_ADMIN_ROLEA DBA using Oracles heterogeneous services feature needs this role to access appropriate tables in the data dictionary.8.2. 管理角色l 建一个角色create role role1;l 授权给角色grant create any table, create procedure to role1;l 授予角色给用户grant role1 to user1;l 查看角色所包含的权限select * from role_sys_privs;l scott的权限如图:-查看scott用户具有什么系统权限select * from role_sys_privs;-查看scott用户自己拥有什么角色select * from user_role_privs;-查看scott用户自己具有什么的权限select * from SESSION_ROLES;-查scott用户的创建时间、用户状态、使用的默认表空间、临时表空间等信息select * from user_users;-查看scott用户中,都哪些用户把对象授予给scott用户select * from user_tab_privs;-查看scott用户中拥有的resource角色都具有什么权限select * from role_sys_privs where role=RESOURCE;-scott用户自己拥有多少表select * from user_tables;-查看scott用户已经使用多大的空间,允许使用的最大空间是多少select tablespace_name,bytes,max_bytes from user_ts_quotas;-查看哪些表什么权限赋予了其他用户select * from user_tab_privs_made-把自己的表赋予给其他用户grant select on emp to mzl;-把表的某一列操作权限赋予给其他用户grant update(job) on emp to mzl;l 创建带有口令以角色(在生效带有口令的角色时必须提供口令)create role role1 identified by password1;l 修改角色:是否需要口令alter role role1 not identified;alter role role1 identified by password1;l 设置当前用户要生效的角色set role role1;/使role1生效set role role,role2;/使role1,role2生效set role role1 identified by password1;/使用带有口令的role1生效set role all;/使用该用户的所有角色生效set role none;/设置所有角色失效set role all except role1;/除role1外的该用户的所有其它角色生效select * from SESSION_ROLES;/查看当前用户的生效的角色l 修改指定用户,设置其默认角色alter user user1 default role role1;alter user user1 default role all except role1;l 删除角色drop role role1;l Oracle用户密码过期解决方法原因:由于oracle11g中默
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号