Chinaunix首页 | 论坛 | 博客
  • 博客访问: 249361
  • 博文数量: 64
  • 博客积分: 1416
  • 博客等级: 上尉
  • 技术积分: 565
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-18 10:54
文章分类

全部博文(64)

文章存档

2011年(4)

2010年(60)

我的朋友

分类: Oracle

2010-03-24 19:17:11

ocp原厂培训笔记(第一天) 收藏

1.给我们培训的机构  OU: oracle 大学
2.老师名字 

3.OCA.OCP.OCM
OCM 要求 首先是ocp,通过两门高级课程,实验 2天的 LAB
4.上课时间表
上午 9:00-11:50
下午 1:30-4:30
5.Q&A
ekit教材
oracle 其他的一些应用系统
ORACLE IAS
J2EE server:oc4j
oracle applicaction 11i

oracle Jdevelop:Oracle Developer Suite
10g 的G的意思是 grid.
otn.oracle.com  oracle 全球的论坛  global grid forum:GCF

grid的优势有哪些:
1.虚拟化:在计算时没必要知道进行这个计算的位置在哪里
2.动态供应:24*7 通过 dataguard来实现
3.资源池:RAC 可以通过把便宜的刀片组合在一起形成强大的功能

   oracle原文的意思是:神的预言,指示
   ORACLE SERVER(Rdbms)=instance+database
   instance=SGA共享内存+Background process

   oracle 的内存结构
  


  server process: PGA中 (翻译为 program或 private)
  shared_pool :plsql,sql都放在这个池子里,dictionary 放在这个池子里 dictionary cache,library cache,cursors
  database buffer cache:数据库缓冲区
  java pool:java 代码专用
  stream pool(定义了数据库的选择规范)
  large pool(大池里选择文件缓冲区,rman用)

 用到的web服务器是apache 吗? 是的,9i,8i都是在一张盘,但是10g 是单独的光盘。

  关于connect 和 session的关系与区别
  1>connection 物理上的
  2>session 逻辑上的概念

  一个如下的dml语句将会做什么操作呢?
  select * from em where empno=100;
  三步:
  1.parse :访问共享池,数据字典有计划
  2.execute 调度作业
  3.fetch 取这个数据
  DDL操作不会 fetch 操作。

  SMON:翻译为系统监视进程 
  PMON:翻译为进程监视进程(PMON 主要作用之一是 清除用户进程留下的垃圾)

  如何设置dbwr的个数?
  如果系统中,每多出 4个CPU(内核)会考虑增加一个 dbwr 进程.
 

  检查点的作用,修改控制文件和数据文件。
  如果一个进程失败,对它的恢复,是通过smon来做,将恢复到最近一个成功的检查点。
  smon 会做一个 前滚操作(roll forward),再做一个回滚操作(roll back)
  具体过程,smon 会读取控制文件,取checkpoint 时间对应的scn,再读redo 块,
  把从那个时间开始的所有redo 执行,一直执行到redo 块的尾部。

 
  事物的概念是什么:
   一组 DML语句,做为一组逻辑的部分会全部执行或全部取消。

 checkpoint 分为两种,
 1:增量 (checkpoint not commplete这种报警的时候就是增量备份时候 报的警。
 2.完全的(手工 checkpoint)

对于OLAP 系统,应该尽量减少物理io
pinned 状态,服务器进程正在对块进行跟新的时候就处于这个状态,此时操作系统会产生一个latch
只有dbwr 来写完 灰数据的时候,这个latch才会释放。
latch用在dbwr跟新缓存区的时候,使用了latch时,别的用户无法跟新同一个缓存区。


redolog
oracle 至少需要两个redolog 组(group),一个控制文件
每个组里可以有一个或多个member.member之间的关系是mirror的。
如果指定多个控制文件,则这几个控制文件可以被并行写。


oracle引进了2进制参数文件,spfile就是其中一种,它的好处是不需要文本编辑就可以被修改。
passwd file的目的是验证 登陆的用户是否有足够的权限。
sysaux表空间的目的是降低 system表空间的压力,叫做system 的辅助表空间(辅助系统表空间)
我们可以调用特定的plsql进程把数据从sysaux迁移到别的表空间去。

oracle data block的大小由  db_block_size大小确定,必须是操作系统块的倍数
data,index,undo都是 segment的概念。
而当 对大量数据进行sort操作的时候,一般会使用临时表空间里面的temp表。


schema是oracle 的一个重要概念,
它的意思就是账号下的对象集合。

比如说,HR 不代表一个用户,而是代表 application,

session 是基于用户的,(用实体关系图画的,erd)
oracle 是一款面向对象的关系型数据库 ORdbms

  影子进程的更新步骤,会先写脏数据,再更新数据文件头。

  OUI:JAVA (任何 支持java都可用)
  ONM:网络配置
  OEM:database control,建立在oracle 的java 服务器 oc4j之上。(通过jdbc 和它通信)
  isqlplus 浏览器版本。
  Oracle Secure backup:是一种备份到磁带的工具
  datapump:逻辑的对数据进行导入导出。
  sqlloader:把外面数据加载进oracle.
 

  闪回恢复去为了支持两个全备,他的大小默认是database的两倍。
  9i 和10g跑在同一台机器下是可行的,需要单独的 oracle home.
 

OFA:optimal  flexible architecture 组织大量软件

目的,
1.把大量的磁盘放在不同的位置,主要起到一个 io均衡的作用。随着raid的普及,变得不在那么重要,
2.遵守另外一个规范
/u01/  /disk01/ 对应mount point
/u01/app/oracle  /u01/app/applm 文件夹命名规范,
.dbf .ctl 文件命名规范。

ORACLE_BASE
the base of oracle direcotory structure of OFA.
ORACLE_SID
是大小写区分的(敏感的)

AIX 不需要编辑内核参数,用缺省的就可以了。

安装oracle  软件
2个脚本需要运行:
1>OraInstallRoot.sh,会建立一个文件名, 在 /etc 下,名字是 oraInst.loc,告诉inventory在哪里
2>Root.sh 建立一个oratab文件,每建立一个instance,会在oratab 下建立一行,给一些agent去读。
比如 dbconsole 内置了一个agent,会去读祖oratab这个文件,找到机器上的数据库目标。

网格的功能是进行 数据库的克隆。
dbca的时候可以制订一个 响应文件,记录所有的响应信息,把所有的操作记录下来,可以放到别的位置,
别的机器可以用这段代码自动帮你配置。

listener进程只是用在用户进程和服务器进程通信握手的时候使用。
一旦握手之后会话就不再依靠listener了。

数据库的种类
Data warehouse:PGA 比较大,sga比较小,有利于查询。
Transaction Process:SGA 大,pga比教小。

olap option(数据挖掘)  DH(联机分析功能)

custom database :定制数据库
可以通过执行大量的脚本来创建定制数据库。(数据字典)
定制 sid名字:oracle 规定不能超过8个字节。
Global dbname中间包含的domain name和操作系统的域名。

oc4j: ORACLE 的java服务器。

sysman,dbsnmp 监控db状态使用.

采用omf的管理机制,方便文件管理,
OMF 创建文件缺省时 100M。
OMF 管理的表空间用 oracle 命令来删除,将会自动删除文件(在文件系统中)
如果定义 db_create_file_dest 这个参数,oracle就自动启动了OMF了。

数据库建立的时候,默认是非归档模式的。

windows 下的  database文件夹相对于  unix下的  dbs.

从一个存在的数据库创建模板,导库 可以使用 下面的步骤
create database->选中 template模块

redo 日志文件和控制文件,最多可以做5重镜像。


server进程的process数量是怎么制定的?
根据用户session 来考虑,如果 有300个用户,需要再把processes参数设置成450原有的情况下再加 150
为什么要这么设置?
因为一个session也会产生很多process,并行性查询的时候,这样就会把原来的processes数量减小,
即一个session可能对应了多个process.
300个用户session的话,那么就需要设置比300更多的processes数量。


oracle的字符集主要包含
数据库字符集+国家字符集


SGA 大小设置最好不要小于 210M,share pool  oracle建议10G里面至少要〉180M
共享服务器模式肯定支持专用的模式,但专用模式不一定支持共享服务器模式。

database control:只能管理一个数据库,登陆到企业管理控制台。
而grid contrl可以管理多个数据库。

sys operator与sysdba的区别:
sys operator无法看到业务表,sysdba 可以看到 业务表。
sys operator和dba都可以起停数据库。


isqlplus 访问不建议 用sysdba登陆
java 环境下授权之后才能用isqlplus  sysdba身份使用database.

oracle的sql脚本
sqlplus  hr/hr<SELECT ...;
UPDATE ...;
QUIT
EOF
exit


sqlplus "/ as sysdba"是采用os  认证方式的。
>show user;显示当前的用户名

oracle如何执行外部的sql脚本:

sqlplus hr/hr @cc.sql


sqlplus 缓冲区只能存在一个
修改变量,直接修改之前的sql脚本
过程
sql>list
    select * from  hr.departments;
   >define  _editor=gedit
   >define  _editor=vi
   >edit

DB_FILE_MUTIBLOCK:IO 内存中可共享读一个数据块的进程数量。

动态参数:不需要重启即能生效的参数。alter system set **=** scope=memory,spfile,both;
静态参数:必须重启才能生效的参数。 alter system set **=** scope=spfile;
定制数据库是否归档,必须通过ctl file来指定。


数据库的启动和状态
1.查找参数文件的顺序: spfilesid.ora->spfile.ora->initsid.ora
2.启动实例的过程
startup nomount->open alert.log ,并做写操作->读ctl文件,做mount操作(不需要读数据文件)->读数据文件,open操作(如果有恢复需要恢复)
shutdown abort相当于 把数据库掉电,但是它没有物理强脉冲
shutdown transaction 当事务都结束后,才关闭数据库
shutdown normal 所有的用户断开后才关闭数据库
shutdown;=shutdown normal

alert history和alertlog没有任何关系,只是阅读超过阀值得所有警报信息,动态视图下的警告信息。
动态性能视图包括
v$sql,v$session,v$lock等等

v$_fixed_table,这些固定表只能被查询不能被改动。这些语句的信息会适时地根据变化而改动。

v$ 视图作用多多,

比如,查询执行时间超过200000毫秒的sql语句
sql>select sql_text,executions from v$sql where cpu_time>200000;
sql>select sid,ctime
sql>select status from v$instance;  察看instance的状态。

阅读(1947) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~