ORACLE学习笔记——例程、进程及脱机备份和恢复

上一篇 / 下一篇  2009-03-10 22:48:18 / 个人分类:Oracle

  • 文件版本: V1.0
  • 开发商: 本站原创
  • 文件来源: 本地
  • 界面语言: 简体中文
  • 授权方式: 免费
  • 运行平台: Win9X/Win2000/WinXP

4K)S}zy1N'H6R u|0
一、进程和例程
~a,DR'xr6Ho vV\0
进程——是操作系统中的一个概念,是一个可以独立调度的活动,用于完成指定的任务。
?k/A'?U0进程和程序的区别:51Testing软件测试网@c-] hY[1p c!jZa%`#B
1、进程是动态的概念,即动态地创建,完成任务后消亡,程序是静态的实体;51Testing软件测试网pYA Z.o3j_-VU
2、进程强调执行过程,程序是指令的有序集合;51Testing软件测试网%k&v4P I.}
3、进程在内存中,程序在外存中。51Testing软件测试网6g+g$l;tv6Lm |NrC7Hbm
ORACLE进程包括“服务进程”和“后台进程”。
1|W4l+q Qr s0        服务进程:给客户端的用户进程“提供服务”的进程,在服务器端创建用户进程“必须通过”服务进程才能访问数据库。分为专用服务进程(只为一个用户进程提供服务)和共享服务进程(为多个用户进程提供服务)。服务进程主要完成的任务包括:51Testing软件测试网"w:c p_ p(g`
1、“解析、执行”SQL语句(由用户提交) ;51Testing软件测试网#}fh rA:|f
2、“搜索”SGA区共享池中的“库缓存”,如果数据块不在库缓存中,则将硬盘的数据文件中相关的数据块“读入库缓存”;
:T3y9G oj03、将查询或执行后形成的“数据返回”给用户。51Testing软件测试网9[7Yv2~3X
注意:服务进程由“后台进程”提供支持。51Testing软件测试网1W E D ]]8ni6[M
        后台进程:为了使系统性能最优,并支持协调“服务进程”,提供了“后台进程”。 后台进程存在于操作系统中,在例程启动时自动启动。只要数据库还在运行,后台进程就一直存在。51Testing软件测试网z&@7w)^P
TIPS:查询启动的后台进程可使用以下语句,select *  from v$bgprocess51Testing软件测试网^O,i:w?Ytwe
主要的后台进程(区别“服务进程”):51Testing软件测试网I m$o:{'V@{
1、DBWR(数据库写进程)
MQ`GPG7M+R\02、LGWR(日志写进程)
T2\N4kiA03、SMON(系统监视进程)51Testing软件测试网q6T3V T^%l+@'N*u
4、PMON(进程监视进程)
*x j{] Hp ^q7Jm05、CKPT(检查点进程)51Testing软件测试网"^-G_E6~
----------前5个后台进程是必须的51Testing软件测试网y;E'N\i4}5C5U5DI
6、ARCH(归档进程)
\^7W9RI7U)?A07、RECO(恢复进程)
YRk }-xA08、LCKn(锁进程)51Testing软件测试网0u,aq[&Go8sm zS-R
9、SNP(作业进程)51Testing软件测试网Ot$h-@p#|+r5dR/?]@
10、SNPn(快照进程)51Testing软件测试网#m n:n tZR|]
11、Dnnn(调度进程)51Testing软件测试网%T)|S-G w^
12、Snnn(服务器进程)
ijEK7j!w P013、Pnnn(并行查询服务器进程)
5H!|_0[:yzOc0
********************************************51Testing软件测试网&Z9C yCV.T&V*K
例程-----一组内存结构(SGA)+一组“后台进程”51Testing软件测试网ybL1c3x7t$f~5JU5[
SGA区——是一组共享的内存结构,包含一个例程的数据和控制信息。51Testing软件测试网8Z$Fv)i-]|G O
                 如果多个用户同时连接到同一个例程,这些用户将共享SGA中的数据,
dw'Q?5PPdCYV2g0                 SGA也称“共享全局区”
BbUBK_0SGA=共享池+大池+JAVA池+数据高速缓冲区+日志高速缓冲区
fkHU;s;w1wL P0共享池=库缓冲+数据字典缓冲
PGA=“服务进程”+排序区+堆栈区+游标区+会话区
o0r+e+Y$B1P%jA H h0p0PGA区——是在“用户进程”连接到数据库,并创建一个对应的会话时,
2{ |7rgg+v0@%a0                 由ORACLE为“服务进程”分配的,专门用于当前用户会话的内存区51Testing软件测试网r X)h [5u*A{ `^p_
                 会话终止时,PGA区所占用的内存会自动释放*****51Testing软件测试网;q9Mi y]r(e0_+|;WU
                 PGA区的大小由操作系统决定,并且分配后保持不变
l-Pn0\~]/w+W0                 PGA区是“非共享”的,只有“服务进程”本身才能访问,51Testing软件测试网a h0yU k(R)L
                 《注意:SGA区是所有“服务进程”都可以“共享”的内存区》51Testing软件测试网;yRfT2S/p
PGA区——是一个内存区域,它包含(专用或共享)服务器进程的数据和控制信息。
:z0t0NB:J I5Pep0                 它是由Oracle在启动服务器进程后创建的“非共享”内存。51Testing软件测试网K'v$We.m)H^)Tx@
                 只有该服务器进程才可以访问该区域。51Testing软件测试网-|ZI4EOl;M
                 为附加到Oracle例程的每个服务器进程分配的“PGA总内存”,
(oP.B#rh0                 也称做由该例程分配的“PGA聚集内存”
专用服务进程(dedicated)和共享服务进程(shared)
+^5~/f` {)m} Pm01、专用服务进程模式51Testing软件测试网;Jw%a9V9|}tS`
在“专用服务进程”模式中,监听程序将接收到的用户请求,直接传递到“ORACLE专用服务进程”
客户机1(用户进程1)——监               |专用服务进程1|               |系    统|
$w9\*lL(C7x'g(v3F0客户机2(用户进程2)——听               |专用服务进程2|               |全局区|
.vL9e7[Z[!{uS0客户机3(用户进程3)——程               |专用服务进程3|               |  SGA  |51Testing软件测试网 h-GL$@ u
客户机4(用户进程4)——序               |专用服务进程4|               |            |
2、共享服务进程模式
A*O%Zc*J5t07。3版本以后,增加了“共享服务进程”——多个用户进程可以“共享很少的服务进程”
m$n t2S_0原理:
9_'~2Q A%|3g.\A$w0首先,监听程序将接收到的用户请求传递到调度进程,调度进程将请求放在请求队列中;51Testing软件测试网7Vy\,kz _J
调度进程按“先进先出”的原则从队列调出一个请求,然后将用户请求传递给空闲的“共享服务进程”;
{ Mh-}[|a9W0共享服务进程为完成该请求到SGA进行所有必要的数据库调用。51Testing软件测试网/U$^@*bF2e9z.}.i
当服务器完成请求后,共享服务进程将“响应”放进“队列”,再由调度进程“返回”给相关的用户进程。
客户机1(用户进程1)——监                                 请            |    共享服务进程1    |系   统|
Hhv3[}C6X0客户机2(用户进程2)——听     调度进程           求           |                                     |全   局|
W1m-bT0R0客户机3(用户进程3)——程                                 队            |                                     |    区   |
2`NAn:wgN0W E0客户机4(用户进程4)——序                                 列            |     共享服务进程2    | SGA |
51Testing软件测试网_E:b*p:a S3N7M!q
二、参数文件及参数显示
r_;p?{01、参数文件51Testing软件测试网?9GbbB q VO`
      SPFILE:服务器初始化参数文件51Testing软件测试网rwnyoBL8V&{8s
      PFILE:  文本初始化参数文件51Testing软件测试网?J ~Ec Gb
           E:\oracle\admin\myora\pfile\init.ora.1128200620711 (PFILE,第一次启动数据库时的参数文件,可改名为init.ora)
} Aw:a,]V0           E:\oracle\ora92\sysman\ifiles\def_MYORA.ora (PFILE,最近一次启动数据库时的参数文件,系统自动生成)
[/]z7t"va*PR0           E:\oracle\ora92\database\spfilemyora.ora(SPFILE,二进制文件,不能使用文本编辑器编辑)
7Q;\vn Ok7TR*K%\.d(@0           E:\oracle\ora92\database\pwdmyora.ora(二进制文件,不能使用文本编辑器编辑)     51Testing软件测试网?MS4Fa4G
2、显示参数:
`M2D_Eok5J0show parameter[s]                    -------显示所有初始化参数的配置51Testing软件测试网k5Z BF_S|.m
select * from v$parameter       -------显示所有初始化参数的配置
,z;]:P/bfCJQ0查询参数的三个视图:
O J S:OT O wP0v[_]$parameter:用于用户当前会话的数据库参数;
P3S$m'm5r.Bf Tp0v[_]$system_parameter:用户整个系统的数据库参数,新的会话将从该视图中获取它们的参数值;51Testing软件测试网wy@sA5D5cBR
v[_]$spparameter:这个视图包含了已存储参数文件的内容。
show parameter  java_pool_size
rV^N V xW%{ w0U0show parameter  large_pool_size51Testing软件测试网@,x[ BPhh+C$X
show parameter  shared_pool_size
%X6@S'c{8a[w9q0show parameter  log_buffer         ——日志缓存的大小
1i!Ii9j*{;nXe0show parameter  db_cache_size ——数据库缓冲=数据缓冲+日志缓冲51Testing软件测试网p w[l$m;TH;fk)^
show parameter  db_block_size51Testing软件测试网/_|Y ]/F,fX*i
show parameter  sort_area_size
修改参数:51Testing软件测试网 v-P:@'rdT
注意:请务必确认你已经了解了要进行修改的参数,51Testing软件测试网9G-Q1R9d^^
          同时应该清楚该参数修改之后会给数据库带来什么样的影响,
2Ti^kR0          强烈建议在修改之前对原始文件进行备份!
v)W y*pT'G hc0静态初始化参数——只能通过关闭数据库进行更新的参数         <例:db_block_size>
0C nvd7Bg4{u L j0动态初始化参数——可以在当前数据库实例中进行更新的参数   <例:open_cursors>51Testing软件测试网\ F#O-I1| c_.GP U
alter system   会影响当前数据库上运行的所有会话;
UM1`:Q\[4E'uH0show parameter open_cursors            ----默认是300
;CR&CV`8i0alter  system  set open_cursors=500; ----不是所有的参数都可通过命令动态修改
创建参数文件:
!aPP-V,S)uul0create pfile=...from spfile=...
p(I^0tLR \k,A0create pfile='e:\pfile.txt'   from spfile='e:\oracle\ora92\database\spfileSID.ora'
'o@VWUC&Vyq0create spfile=...from pfile=...51Testing软件测试网1?[XY2d V
create spfile='e:\oracle\ora92\database\spfileSID.ora'   from pfile='e:\pfile.txt'

5G ZM/l;ou7~v0-------------------------**脱机备份和脱机恢复**-----------------------------
)^,U,Y,dxycg#|0一、脱机备份51Testing软件测试网[F5|;HTc C0Q
      脱机备份——是在数据库处于“干净”关闭状态下进行的“操作系统备份”,是对于构成数据库的全部文件的备份。51Testing软件测试网x.el1h-f.O
      需要备份的文件——参数文件、所有控制文件、所有数据文件、所有联机重做日志文件
n}5K5NA-js0      《思考:启动数据库时文件的使用顺序?参数文件--->所有控制文件--->所有数据文件--->所有联机重做日志文件》
.D h,DV8k&`W0      建议——由于脱机备份需要关闭数据库,不能保证数据库的7*24小时的运行,所有建议在“夜间或休息时间”进行备份51Testing软件测试网'WXhwJ4?-q }
      注意——利用脱机备份只能恢复到“备份时刻”的数据库数据和状态,而不能恢复“备份时刻”到“故障时刻”之间的数据和状态51Testing软件测试网5ddRuzI y*Y
      备份文件的位置与清单——51Testing软件测试网X9} dEnW
      1、参数文件(*.ora  4个):          51Testing软件测试网&z;\f"vLo}dA5D
           E:\oracle\admin\myora\pfile\init.ora.1128200620711 (第一次启动数据库时的参数文件,可改名为init.ora)
1K3aI:|f}0           E:\oracle\ora92\sysman\ifiles\def_MYORA.ora (最近一次启动数据库时的参数文件,系统自动生成)51Testing软件测试网:V+Do4T/q)Jds-}']+`
           E:\oracle\ora92\database\spfilemyora.ora(二进制文件,不能使用文本编辑器编辑)
ja MsJ yX q8E8f0           E:\oracle\ora92\database\pwdmyora.ora(二进制文件,不能使用文本编辑器编辑)            51Testing软件测试网5?4e EN:WAk]
      2、控制文件(*.ctl 3个):select  status, name from  v$controlfile;51Testing软件测试网FXY;S4] g
      3、数据文件(*.dbf 11个):select  status, file_name from  dba_data_files;51Testing软件测试网?~5UyXP
      4、日志文件(*.log 3个):select  group#, status, member from  v$logfile;51Testing软件测试网?R8@N+K
            默认情况下,控制文件、数据文件、日志文件存放在相同的路径:51Testing软件测试网z5F,D H ]1u)CH0a(B/I
            E:\oracle\oradata\myora\
)S)b#E&A5Aq1a7BR0      脱机备份的步骤——
L`x^F'@6E}0      第一步:conn system/password as sysdba
D2{v:wV@0      第二步:shutdown immediate  <“干净”关闭数据库>51Testing软件测试网F:k&f!X9W4Q5F
      第三步:按照上述备份文件清单,备份所有文件51Testing软件测试网(v:L9v#b2a
      建   议——在改变了数据库结构(如改变了参数设置、表空间、表,改变了控制文件、数据文件、日志文件的位置或名称)之后,都应该进行一次脱机备份
二、故障模拟——上述备份文件如果被删除或移动,启动数据库时就会出错51Testing软件测试网|$l nW.y~;`
                          下面模拟数据文件被删除的故障情况,步骤如下:
@&y |&S6~:Q%R0      第一步:shutdown immediate51Testing软件测试网+sZ6S r'|/o
      第二步:在Oracle的目录结构中删除一个数据文件,如users01.dbf
a2H']/e%sE[NX2z0      第三步:startup open  <出错!原因是找不到数据文件> 
三、脱机恢复——将所有备份文件“复制”回原来的位置51Testing软件测试网3H@9r[[.P'Q
      第一步:shutdown immediate51Testing软件测试网:R9QmNq
      第二步:将备份文件全部复制到原来所在的位置,以便恢复到备份时刻51Testing软件测试网1y}i4?/WE'IrB
      第三步:startup open

TAG:

 

评分:0

我来说两句

Open Toolbar