您现在的位置: 易考吧(etest8.com)==>计算机==>Oracle认证==>考试指南
更多: Oracle认证考试信息
Oracle系统架构
http://www.etest8.com时间:2006-11-01】 【来源:易考吧】 【阅读次数

一、SqlPlus常用命令
  
  @
  
  save
  
  a where…
  
  c/t1/t2
  
  l
  
  Spool off(生成Log) 自动批处理生成
  
  Select ‘analyze table ‘ …
  
  Shift-Del 晴空屏幕
  
  @c:\temp\xx.sql
  
  二、SQl 常规使用
  
  select owner,count(*) from t1 group by owner
  
  select owner,count(*) from t1 group by rollup(owner)
  
  select owner,count(*) from t1 group by  cube(owner)
  
  select … from dba_SEGMENTS  (段)
  
  select tabelspace_name,count(*) from dba_segments where tablespace_name=’user’ group by tablespace_name
  
  select tabelspace_name,segment_type ,count(*) from dba_segments group by tablespace_name
  
  select username,account_status,default_tablespace def_ts,temporary_tablespace temp_ts,to_char from dba_users
  
  不建议应用System表空间
  
  alter user dbsnmp account lock; 锁住某一账号,暂时不让其用。
  
  Select .. from .. where .. group by .. order by .. having
  
  Select * from t1,t2 where (如果Where中没有出现两表相关联的条件,则会产生笛卡尔积数量的结果) 用处:可以产生测试数据,进行压力测试!
  
  Distinct 与Group By
  
  三、SQl的一些注意事项
  
  (DBA 督促程序员需要的注意事项。以及发现程序中的Sql问题)
  
  1、 避免全表扫描
  
  rowid/索引/直接访问表
  
  避免以下几种:
  
  select * from t1 where owner =123;
  
  SQl 中,数字会隐性转换为字符串,其中索引就会永不到了。因此要避免这种隐性转换。
  
  Select * from t1 where lower(owner)=’test’;//需要建立函数索引
  
  Select * from t1 where owner=’’;
  
  前导索引/后导索引
  
  select .. from a, b where b=..; (where a=… and b=.. ;where a=..;这两种都会用到索引)
  
  500万条记录,因维护,需要删除400万条记录。
  
  Delete 与 truncate的区别:Delete 要写回滚,写到回滚站,写很多Log,开销很大
  
  Delete 没有回收水位线(曾经用过的最高线)。会影响将来的全表扫描的效率
  
  做法:1、重新创建临时表,Insert 100万条数据,然后Drop原来的表
  
  2、采用Alter table move /  exp . imp
  
  (当前表的回收水位线)
  
  degree 并行度 也会造成全表扫描
  
  在Sql级来指定,而不再对象级来指定,可控性会很高
  
  select * from dba_tables
  
  create table可以指定Degree ,Alter Table 来指定Degree 默认Dgree为1 不推荐修改
  
  四、系统架构
  
  (一)、文件
  
  物理架构 dbfile controlfile redo … os block (temporary segment,undo segment ,index seg,data seg)
  
  逻辑架构 database tablespace segment extent block
  
  -===================================================
  
  数据库与实例的概念区别。
  
  Show parameter block 默认值是8K
  
  块大,全表扫描的效率会很高,而每次访问数据库,如果很少数据,就需要读取整个快的数据,对内存是个浪费。需要根据系统权衡利弊,选择合适的块大小。一般为

4K的整数倍。是为避免额外的操作系统IO开销,是操作系统快的整数倍。
  
  Dbfile:存储数据的物理文件,操作系统看到的文件。
  
  分为几种:
  
  1、临时段:进行一次数据排序的时候,在PGA中如果能完成,则在内存中完成,如果不够,则要在临时段中申请,临时段可重复利用。
  
  创建方法:create temporary tablespace temp tempfile ‘….’ Size 1024M extent management local uniform size 1m;
  
  不推荐将临时段切换到永久表空间。
  
  2、 Undo段
  
  Show parameter undo
  
  在9i中一般为自动管理:Auto
  
  3、 索引段
  
  4、 数据段
  
  文件系统和裸设备的选择?
  
  逻辑架构:
  
  扩展
  
  select * from dba_tables
  
  initial_extent next_extent 、Max_extent
  
  Oracle 级的Block
  
  (二)进程::dbwr pmon smon checkpoint lgwr
  
  PS –EF | GREP pmon
  
  1、 数据库写进程:dbwr,将脏数据写入到Dbfile
  
  2、 pmon:
  
  3、 smon :会滚,空间回访,控制
  
  4、 checkpoint:
  
  5、 日志写进程:LogBuffer 中的脏数据写入到日志
  
  (三)内存
  
  SGA,PGA,UGA
  
  1、SGA
  
  并行备份,并发操作,共享池,大池是对共享池的保护,保留池是对小表的全表扫描时保留到保留池中
  
  回收池:确定使用一次
  
  循环池
  
  把握住何种应用存放在哪一种池中!
  
  2、PGA主要功能是排序
  
  Show parameter sort
  
  Sort_area_size 一般是5M即可,如果需要排序效率很大可以配置很高的值
  
  3、UGA
  
  (四)实例
  
  实例运行过程中几大元素之间的作用
  
  数据库的启动:
  
  1、nomount:读取Intial文件中的参数,Dbbuffer,SGA中的参数,Block等配置
  
  show parameter control指定了contral file 的位置
  
  先从init.ora 中找Control File位置然
  
  2、mount
  
  从Contral File中找redo log, Dbfile以及其他scn等信息
  
  3、open
  
  都找到并确认Ok 才Open
  
  五、数据库服务器
  
  Oracle服务器可以通过以下的方式运行在不同的计算机上
  
  客户端:
  
  连接需要经历的过程:
  
  net8-> 本地配置文件: $oracle_home/network/admin/ tnsnames.ora->Host Ip,Port,Listener,服务名-〉到服务器段端口:$oracle_home/network/admin/ Listener.ora,将服务请求告诉其他进程,Oracle Home 下的$oracle_home/bin/Oracle并运行,生成一个隐身进程,和客户端进程建立连接。
  
  Oracle 9i 中的Spfile的作用
  
  Create spfile from pfile=’…’
  
  只有在数据库完全ShutDown的时候才能够执行。Spfile为二进制文件,可以转换为文本文件修改后再转换回来。
  
  重做日志缓冲:

考试分类
考试辅导
考试软件
 
精彩文摘
江西省高校新增83个本科专业 南昌大学获
10类专业最吃香:江苏人事厅发布07人才
广东规定公务员考核不称职将降职
公务员“晒工资”
加拿大35岁女教师怀上16岁男生的孩子
2007年职业资格全国统考时间和考试科目
波兰专家给出了女性完美身材的全新标准
19个职业资格鉴定时间排定 11个职业全国
2007年8种职业类证书考试报名时间确定
最让人快乐的九种职业