oracle体系结构

LOB对象使用

LOB类型:
        BLOB、CLOB、NCLOB、BFILE
LOB使用举例
1)SQL>CREATE TABLE Employee(
               name     VARCHAR2(50),
               birth_date DATE,
               id_code  NUMBER(7),
                resume  CLOB,
                photo     BLOB)
      LOB (resume,photo)
      STORE AS (TABLESPACE lob_data
                           STORAGE (INITIAL 1m
                                               NEXT    1m
                                               PCTINCREASE 50 )
      CHUNK  2048  //一次读取的数据量
       NOCACHE
       );



2)

 Oracle9i增加了新的选项Oracle9i interMedia,可以将 image, text, audio, video, spatial 数据存储于Oracle9i数据库。interMedia Clipboard 及Web Agent 的结合可以构成Web驱动的Web-enable interMedia。基于HTML的Web开发工具WebDB可以使用数据库中的数据开发Web页面。
 Oracle9i集成Java虚拟机(Java Virtual Machine)



Oracl 系统体系结构

(1)物理结构
     datafiles         redo log files      control  files   parameter  file

    数据文件        日志文件              控制文件     参数文件
   *.dbf                *log                 *ctl         *.ora

(2)内存结构(SGA )
shared pool(共享池), database buffer cache(数据缓冲区),  redo log buffer(重做日志缓冲区)   
SGA=share_pool_size+db_block_size*db_block_buffers +log_buffers

(3)instance=SGA+background  process  
       实例  =   内存分配  +  一组后台进程
如果把Oracle比作一部汽车,instance相当于汽车的发动机一样,启动oracle前提应先启动instance.
(4)session(连接)
       Oracle是多用户、多任务、可分布式管理的数据库,同
时可有许 多个用户对数据库操作。
(5)transaction(一组修改动作的集合)  交易事务
Eg:
  1、   
        insert             DDL (数据定义语句)
        delete            例如:create,alter,drop,commit 等
         commit          每两个DDL语句间是一个transaction
   2、
       update            DML (数据控制语句)
       rollback         例如:Insert,Delete,Update

(6)后台进程  PMON,LCLN,RECO,SMON,DBWR,LGWR,CKPT,ARCH
PMON 做程序的清洁工作,处理一些不正常退出的事件.
SMON 做系统的清洁工作,执行系统出错后自动恢复工作.
LCKN  Oracle系统表级或行级加锁的进程.
RECO  恢复进程.
DBWR  数据写进程 
LGWR  日志文件写的进程
CKPT  检测点
ARCH  归档方式备份进程

7)分析一个SQL语句是怎样在Orcle内部工作的。
A、用户发出SQL请求,打开游标;
B、把SQL语句语法分析,执行计划,数据字典等信息存入内存中共享池内;
C、从数据文件中把相关数据块读入数据缓冲区;
D、做相应操作,若做修改,先加上行级锁,经确认后,把改过前后记录内容存入重做日志缓冲区内;
E、返回结果给用户,关闭游标。



如果不小心物理上删除了一Oracle的数据文件

SVRMGR>connect internal
SVRMGR>startup mount
SVRMGR>alter database datafile ‘/directory/abc.dbf’
                   offline;
SVRMGR>alter database open;
SVRMGR>drop tablespace abc;

Oracle数据的存储结构
1、Oracle数据存储单位
  a、block  数据块:  2k  最小的I-O单位,伴随database产生而产生,不可变
  b、extent  一组连续的数据块:是用户所能分配存储的最小单位
  c、segment 段:有共同结构的一个或几个区域( extent)
  d、tablespace 表空间:一组物理数据的逻辑组合,(象逻辑间数据仓库)
  e、 file 文件:属于某个表空间的物理文件
   f、database 数据库:一组表空间所构成的逻辑的可共享的数据。

10)db trigger 数据触发器,处理updata,delete,insert中可能出现的问题

(2)物理备份  操作系统下的备份    
归档方式   不关闭database状态  恢复到failure的前一刻
不归档方式   关闭database后物理文件进行备份,可恢复到上次备份点

Grant权限
connect  (8) 连上Oracle,做最基本操作
resource(5) 具有程序开发最基本的权限
dba        (77)数据库管理员所有权限
exp-full-database  可把数据库整个备份输出的权限
imp-full-datsabase 可把数据库整个备份恢复输入的权限

3)alter user;
(4)drop user [cascade];
(5)revoke role from user;


确定数据库归档模式
Sql>select dbid,name , log_mode from v$database;
Sql>Sql*plus /nolog
Sql>Connect as/sysdba
Sql>Archive log list


(低效)
select ... from table1 t1 where t1.id > 10 and pno in (select no from table2 where name like 'www%');
(高效)
select ... from table1 t1 where t1.id > 10 and exists (select 1 from table2 t2 where t1.pno = t2.no and name like 'www%');


如何查看oracle sql执行计划, 分析sql语句是否高效。
方法一

第一步:登入sql/plus 执行命令(无先后顺序)

set   time   on; (说明:打开时间显示)  
set   autotrace   on; (说明:打开自动分析统计,并显示SQL语句的运行结果)  
set   autotrace   traceonly; (说明:打开自动分析统计,不显示SQL语句的运行结果)

二者选一个执行

第二步: 输入你要查看的sql 执行

第三步:查看结果

方法二

先执行 EXPLAIN PLAN FOR   select * from G_GAMBLING gamb where gamb.active=1

再 select * from table(DBMS_XPLAN.DISPLAY)便可以看到oracle的执行计划了


你可能感兴趣的:(数据结构,oracle,sql,虚拟机,Web)