oracle常识,Oracle常识

1.启动关闭

1.1:启动:主要分为三个阶段

nomount:用于读取DB的基础信息,如数据库名等basic info

mount:    用于读取控制文件信息ctl ,主要为数据文件存储器信息等

open:      用于根据ctl信息,打开Data信息

1.2:关闭:

shutdown inmmediatly :最快捷的关闭方式

shutdown normal:          正常关闭

shutdown Transactional:事务执行完成再关闭

2.Oracle与mysql索引存储

mysql:指定主键,利用主键来建立B+树索引

Oracle:是堆表,其索引结构也是利用B+索引,同样是B+树索引

注:索引的格式很多,比如B+树索引,Hash索引等等

经索引后的数据是排序的,升序降序是可以通过索引的扫描顺序来确定

3.statement 与 preparestatement

oracle当中有共享池的概念,会缓存相同的sql语句.用带参数的sql执行(preparestatement)相当于执行同一条语句,复用同一个执行实例。在mysql或者其它数据库当中也有类似的作用(其内部实现用hash) 。所以preparestatement比statement执行更有效率。同时preparestatement还可以有效防sql注入,安全性能更高。

4.orcale数据一致性

先写relog,再写data block.

事务commit时,必须保证relog写成功

事务执行未成功时执行undo.log,rollback数据文件.

5.sql语句的隐性转换

5.1:select * from table1 where name=3

||此时3为数值类型,name为string,则会发生转换,toNum(string) = 3

5.2:java的date类型到oracle会转换为timestamp,解决方法为直接设置date类型为string,在插入oracle时用toDate(String)进行转换。

6.SGA:System Global Area是Oracle Instance的基本组成部分,在实例启动时分配;

系统全局域SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。

共享池:Shared Pool用于缓存最近被执行的SQL语句和最近被使用的数据定义,

主要包括:Library cache(共享SQL区)和Data dictionary cache(数据字典缓冲区)

共享SQL区是存放用户SQL命令的区域,数据字典缓冲区存放数据库运行的动态信息

缓冲区高速缓存:Database Buffer Cache用于缓存从数据文件中检索出来的数据块,可以大大提高查询和更新数据的性能

大型池:Large Pool是SGA中一个可选的内存区域,它只用于shared server环境

Java池:java Pool为Java命令的语法分析提供服务

PGA:Program Global Area是为每个连接到Oracle database的用户进程保留的内存。

7.oracle数据容灾概念

1.块复制概念:直接复制块内容,类似于mysql的行复制

2.sql复制:    通过执行sql进行恢复,类似内存数据库如derby等的恢复机制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值