设为首页 收藏本站
查看: 537|回复: 0

[经验分享] Oracle事务和常用数据库对象

[复制链接]

尚未签到

发表于 2018-9-5 11:47:29 | 显示全部楼层 |阅读模式
  1、事务:有一组命令组成的逻辑单元,保证所有操作要么全部成功要么全部失败。
  以下情况事务结束:1)显式提交(commit) 2)显式回滚(rollback) 3)ddl语句隐身提交    4)正常结束程序提交  5)非正常结束程序回滚
  事务特点:ACID特性
  1)原子性    2)一致性  3)隔离性  4)持久性
  命令:commit 提交     rollback 回滚    set  autocommit on 自动提交(回滚无效)
  2、索引:快速访问数据,一个单列最多只能建一个索引
  访问数据的方法:全表扫描、通过rowid(行号)、索引
  索引分类:1)B树索引:(balance平衡索引)每个节点查询速度一样,默认为b树索引,唯一索引和复合索引同时也是b树索引。
  2)唯一索引(unique):索引列没有重复值
  3)反向键索引(reverse):反转索引列的数据值。适应建在列值连续增长的列上。不能做范围查询。
  4)位图索引(bitmap):适应于列值很少的列上。占用空间小、减少响应时间,不适应频繁更改的表
  5)其他索引:组合索引、函数索引
  命令: 1)创建索引:create [unique|bitmap] index 索引名 on 表名(列名) [reverse]
  2) 重建索引:alter index 索引名  rebulid
  3)合并索引:alter index 索引名  coalesce
  3、视图:虚拟表不占空间,数据存储在基表中。
  语法:create [or replace替换] [force强制] view 视图名 as  sql语句 [with check option约束][with read only只读]
  force强制创建带错误视图:无论基表是否存在、列是否有效、表是否有权限      sql语句中可以带order by字句
  with check option只能插入或更新可以访问的行
  对视图的修改只能对一个基表并且不能违反约束不包含聚合函数
  作用:保证数据安全性、隐藏数据的复杂性、简化命令、与基表定义的修改隔离、可以灵活的重命名列
  物化视图:具有物理存储空间的特殊视图。有两个概念:查询重写和物化视图同步,同步刷新有on commit(基表更改即同步到视图)和on demand(手动)两种方式,刷新方式有complete(完全)、force(默认方式,优先fast)、fast(增量)、never(不刷新)四种
  创建物化视图(需要有相应权限):1)创建物化日志:create materialized view log on 表名 with rowid;
  2)创建物化视图:create materialized view 视图名 build immediate refresh fast on commit enable  query rewrite as sql语句
  4、序列: 用来生成连续的整数值的列值,可以升序或降序。
  语法:create sequence 序列名  [start with 初始数字][increment by 增长值][maxvalue 最大值][minvalue 最小值]
  可以用nextval查询下一个序列值和currval查询当前序列值,伪列的值存储在虚拟表dual中
  查询序列:select  sequence_name,increment_by from user_sequences
  5、同义词:对象的别名,不占用空间
  用途:简化sql语句、隐藏对象名称和所有者、为远程对象提供位置透明性、提供对数据库对象的公共访问。
  分类:私有同义词、公有同义词
  1)私有同义词:只能被当前模式用户访问必须有create [any] synonym权限
  creae synonym 同义词名称  for 对象名
  2)公有同义词:可以被所有的用户访问,必须有create public synonym权限
  create public synonym 同义词名 for 对象名
  6、分区表:将一个表分成几部分存储在不同的表空间成为一个个分区。
  有点:改善表的查询性能、表更容易管理、便于备份和恢复、提高数据安全性
  分区方法:范围(range)、列表(list)、散列(hash)、复合、间隔、虚拟列分区
  语法:create table 表名(字段1,字段2,..) patiton by range(分区字段) (partition p1 values less then (值),partition p2 ....)
  查询分区表:select from 表名 partition(p1)   
  命令:
  alter user scott account  unlock                解除对scott用户的锁定

  alter user scott>  grant connect,resource to scott                为scott用户授权
  select username,account_status from dba_users   查用户的锁定状态
  select  object_name,object_type from user_objects 查用户所有对象及类别
  select  rowid,rownum from dept                  查dept表的伪列rowid和rownum,序列中的nextval和currval都是伪列,可查不可修改
  select table_name,index_name,column_name from user_ind_columns 查被索引字段
  create unique index dept_index on dept(dname)   在dept表中创建dname的唯一索引
  create index emp_reserve on emp(empno) reverse; 在emp表中创建empno的反向索引
  alter table emp drop constraint pk_emp cascade drop index; 删除主键索引
  create view v3 as select  from dept where loc='BOSTON' with check option constratint ycq;  在dept表创建v3视图,并添加约束禁止修改loc列
  grant create materialized view,query rewrite,create any table,select any table to scott;授予scott有创建物化视图和任意表的权限
  select 序列名.nextval,序列名.currval,user,sysdate from dual    查询下一个和当前序列号及当前用户和系统时间
  grant create any synonym to scott;  授予scott用户有创建任意同义词的权限
  create synonym e for emp;                            为emp表创建私有同义词e
  create  public  synonym a for emp;                   为emp表创建公有同义词a
  create table student (id int,name char(10)) partition by range (id) (partition p1 value less than ('10'),partition p2 value less than ('20'),partition p3 value less than ('30'),partition p4 value less than (maxvalue));  创建student表,id小于10的为第一分区表...


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-563551-1-1.html 上篇帖子: Oracle 11g IFS VS IFFS 性能对比 下篇帖子: oracle 补丁冲突
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表