工程师 | 监理 质量 结构 安全 | 一级建造师 二级建造师 | 外语 | 雅思 托福 四级 六级 专四专八 | 学历 | 自考 | 成考 | 同等学历 | 研究生
会计证 | 初级 中级 高级 内审 | 注册会计师 资产评估师 | 医学 | 护士 药师 中医 西医 职业资格 | 证券 | 保险 | 外贸 | 人力资源 | 计算机
资讯动态(行业新闻 考试动态) | 报考指南 | 应用技术辅导 | 考试题库 | 综合辅导 | 心得技巧 | 考试培训 | 考试论坛
考试中国—计算机频道网址:it.kswchina.com 这里有:计算机的各种等级和认证考试,一级,二级,三级,四级等多种等级认证的考试资料。
您现在的位置: 考试中国 >> 计算机 >> Oracle >> 报考指南 >> 正文 考试网中国:www.kswchina.com
Oracle专家高级编程学习笔记
更新时间:2008-6-1  Oracle认证考试  收藏此文  收藏"考试中国"

  Expert one-on-one oracle是Oracle专家Thomas Kyte的大作,洋洋大观,总共有1329页,啃起来颇费力气.故作此笔记,记录精华所在.

  一.准备工作

  1.建立基本调试环境

  Create demo schema(建立演示模式)

  sqlplus%26gt;start $ORACLE_HOME/sqlplus/demo/demobld.sql

  2.建立login.sql

  define_editor=vi
  set serveroutput on size 1000000
  set trimspool on
  set long 500
  set linesize 100
  set pagesize 9999

  column plan_plus_exp format a80
  column global_name new_value gname

  select lower(user)||'@'||decode(global_name,'WEBDB.FANYAMIN.NET','webdb',global_name) global_name from global_name;

  set sqlprompt '%26amp;gname%26gt;'
  set termout on

  3.在sqlplus中配置AutoTrace

  1)cd $ORACLE_HOME/rdbms/admin

  log into sqlplus as system(connect system/manager@webdb)
  run @utlxplan
  run create public synonym plan_table for plan_table;
  run grant all on plan_table to public;

  2)

  cd $ORACLE_HOME/sqlplus/admin
  log into sqlplus as sys(connect sys/change_on_install@webdb)
  run @plustrce
  run grant plustrace to public;

  二.内容

  1.开发成功的Oracle应用程序

  一条简单秘诀

  if(possible) 就用单条SQL语句完成
  else if(possible) 用plsql程序
  else if(possible) 用java存储过程
  else if(possible) 用C外部过程
  else 考虑是否真有必要这样做

  两个指导方针

  1)不要在MTS下运行长事务%26lt;45s
  2)使用绑定变量

  system@webdb%26gt;alter system flush shared_pool;
  system@webdb%26gt;set timing on
执行这两个sql文件,一比较,发现使用绑定变量后,速度快多了

  --bindtest1.sql, did not use bind variable
  declare
   type rc is ref cursor;
   l_rc rc;
   l_dummy all_objects.object_name%type;
   l_start number default dbms_utility.get_time;
  begin
   for i in 1..1000
   loop
   open l_rc for
   'select object_name from all_objects where object_id='||i;
   fetch l_rc into l_dummy;
   close l_rc;
   end loop;
   dbms_output.put_line(round((dbms_utility.get_time-l_start)/100,2)||'seconds...');
  end;
  /
  --bindtest2.sql, use bind variable
  declare
   type rc is ref cursor;
   l_rc rc;
   l_dummy all_objects.object_name%type;
   l_start number default dbms_utility.get_time;
  begin
   for i in 1..1000
   loop
   open l_rc for
   'select object_name from all_objects where object_id=:x'
   using i;
   fetch l_rc into l_dummy;
   close l_rc;
   end loop;
   dbms_output.put_line(round((dbms_utility.get_time-l_start)/100,2)||'seconds...');
  end;
  /
  Oracle封锁策略

Oracle体系结构的3个主要组件:

1.文件:组成数据库实例的5个文件(参数文件,控制文件,数据文件,临时数据文件,重做日志文件)
2.系统全局区域SGA( System Global Area): Java池,共享池等
3.物理进程与线程: 在数据库上运行3种不同类型的进程(服务器server进程,后台backgroud进程,从属slave进程)

  术语解释:

数据库: 物理操作系统文件的集合
实例: 一组oracle进程和SGA
二者关系:
一个数据库可以被多个实例装载mount和打开open
实例可以及时地装载并打开一个单独的数据库,被实例打开并装载的数据库在启动时不必相同

文件:

1.参数文件:

TNSNAMES.ORA, LISTENER.ORA,SQLNET.ORA, PROTOCOL.ORA,NAMES.ORA, SMAN.ORA, LDAP.ORA
(refer to "Oracle Net administrator Guide")
$ORACLE_HOME/DBS/int%26lt;ORACLE_SID%26gt;.ora: 内容为一系列的变量名和值对
such as:
db_name="wmdb"
db_block_size=8192
control_files=("c:\oradata\control01.ctl","c:\oradata\control02.ctl")
...
其中有一些在Oracle文档中没有说明的参数以下划线开始
除了在开发环境中设置_TRACE_FILES_PUBLIC=TRUE这个参数外,其他没有说明的参数最好不要改动

2.数据文件:

数据库database--%26gt;表空间tablespace--%26gt;segment段--%26gt;extent扩展区--%26gt;block块
1)数据库由一个或多个表空间组成

2)表空间由一个或多个数据文件组成,一个表空间有一个或多个段

3)一个段(表,索引等)由多个扩展区组成,段存在于表空间中,但在表空间中可有多个数据文件中的数据

4)一个扩展区是在磁盘上一些连续分配的块,一个扩展区在一个表空间中,而且总是表空间中单一的文件

5)块是数据库中最小的分配单元和I/O单元,它的大小在数据库创建时就固定下来了

3.临时文件

当内存不足以保存一个大规模排序操作的中间结果(集),Oracle用临时文件来存储它们,永久数据,如表或索引是不会存储到临时文件中的,但临时表或临时索引的内容则可能存储到临时文件 中

推荐用本地管理临时表空间来配置数据库???,例
create temporary tablespace temp
tempfile 'c:\oracle\oradata\walter\temp.dbf'
size 5m
extent management local
uniform size 64k

4.控制文件

一个相当小的文件,至多为64M,包含Oracle需要的其他文件的目录
数据文件init%26lt;SID%26gt;.ora告诉实例控制文件 的位置
控制文件则把数据库和联机重做日志文件的位置告诉实例
控制文件也向Oracle提供其他信息,如检查点,数据库名称,数据库创建的时间戳,归档重做日志历史等

5.重做日志文件

数据的事务日志,仅在恢复时才使用
1)联机重做日志
2)归档重做日志

  内存结构

1.SGA(System Global Area)

2.PGA(Process Global Area)
3.UGA(User Global Area)

责任编辑:仰易
回全站首页      计算机考试专题--点击进入
相关文章
SuseLinux系统下JAVAAWT界面乱码问题
青海:2008年上半年计算机等级考试(NCRE)报考须知
2007年4月(上半年)计算机等级考试青海省成绩查询
青海:2007年9月计算机等级考试成绩查询开始
青海师范大学:07年4月全国计算机等级考试报名
青海06年下半年计算机等级考试报名通知
青海:2006年下半年全国计算机等级考试报名
广西:2007年9月计算机等级考试成绩查询开始
栏目推荐
微软认证真题
· 微软认证考试:70064Windows95考生回顾
· 微软的面试题及答案(超变态但很经典
· 微软认证考试:70064Windows95考生回顾
· 微软认证考试:70064Windows95考生回顾
· 微软认证考试:70064Windows95考生回顾
· [MCSE真题]正确配置IP地址以排错考题
Oracle认证真题
· 八、管理信息基本概念
· CCNA最新模拟考试题
· 网络管理员6道企业实战难题
· 思科Cisco认证最新真题50道:TCP/IP
· 关于Cisco路由协议题和答案(中文)
· Cisco试题库:ccna最新真题
Linux认证真题
· linux和winodows中的对移动设备的安全
· Linux系统编译boa-0.94-13出错信息问
· Novell为超级计算机提供SUSELinux服务
· ubuntu通过PPC手机上网
· 实现远程连接Linux上的PostgreSQL服务
· linux下对C代码的编译
JAVA认证真题
· JAVA题库:JAVA面试题目整理
· SCJP认证套题解析之二
· SCJP认证套题解析之一
· SCJP考试题310-025(第二套)
· SCJP考试题310-025(第二套<1>)18-147
· SCJP考试题310-025(第二套<3>)51-91/
网站简介 | 服务条款 | 广告合作 | 发布优势 | 招聘人才 | 隐私保护 | 合作伙伴 | 友情链接 | 网站导航
《中华人民共和国电信与信息服务业务》信息产业 京ICP备06046971号 技术支持:嘉瑞恒通科技。
COPYRIGHT (C) 2003-2008 KSWCHINA.COM INC ◎ 考试中国 ALL RIGHTS RESERVED.