电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

Oracle知识综合整理

27页
  • 卖家[上传人]:luobi****88888
  • 文档编号:133230378
  • 上传时间:2020-05-25
  • 文档格式:DOC
  • 文档大小:178.50KB
  • / 27 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、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用

      2、于将二进制数据存储在数据库外部的操作系统文件中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. 创建表空

      3、间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

      4、 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相同

      5、的用户权限,但永远不能达到与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

      6、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 Ba

      7、ckup 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用户的创建时间、用户状态、使用的默认表空间

      8、、临时表空间等信息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 identif

      9、ied 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中默

      《Oracle知识综合整理》由会员luobi****88888分享,可在线阅读,更多相关《Oracle知识综合整理》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.