PLSQL_Oracle基本概念总结(汇总)

2014-08-16
Created By BaoXinjian

图片 1一、SQL
Tunning类


图片 21.
罗列集中表的连续方式

Answer:等连接(内连接)、非等连接、自连接、外接连(左、右、全)

Or
hash join/merge join/nest loop(cluster join)/index join

连接类型

定义

例子

内连接

只连接匹配的行

select A.c1,B.c2 from A join B on A.c3 = B.c3;

左外连接

包含左边表的全部行(不管右边的表中是否存在与它们匹配的行)以及右边表中全部匹配的行

select A.c1,B.c2 from A left join B on A.c3 = B.c3;

右外连接

包含右边表的全部行(不管左边的表中是否存在与它们匹配的行)以及左边表中全部匹配的行

select A.c1,B.c2 from A right join B on A.c3 = B.c3;

全外连接

包含左、右两个表的全部行,不管在另一边的表中是否存在与它们匹配的行

select A.c1,B.c2 from A full join B on A.c3 = B.c3;

(theta)连接

使用等值以外的条件来匹配左、右两个表中的行

select A.c1,B.c2 from A join B on A.c3 != B.c3;

交叉连接

生成笛卡尔积——它不使用任何匹配或者选取条件,而是直接将一个数据源中的每个行与另一个数据源的每个行一一匹配

select A.c1,B.c2 from A,B;

 

图片 32.
非靠第三正值工具,怎么样查看sql的履计划

Solution1.
使用Explain Plan,查询PLAN_TABLE;

  EXPLAIN  PLAN
     SET STATEMENT_ID='QUERY1'
     FOR
     SELECT *
     FROM a
     WHERE aa=1;

  SELECT   operation, options, object_name, object_type, ID, parent_id
      FROM plan_table
3     WHERE STATEMENT_ID = 'QUERY1'
  ORDER BY ID;

Solution2.
SQLPLUS中的SET TRACE 即可见到Execution Plan Statistics 

SET AUTOTRACE ON;

 

图片 43. 怎样下CBO,CBO和RULE的界别

(1).
结构 

 
IF 初始化参数 OPTIMIZER_MODE = CHOOSE THEN  –(8I DEFAULT)

    
IF 做过表分析

       
THEN 优化器 Optimizer=CBO(COST);          /*高效*/

    
ELSE

       
优化器 Optimizer=RBO(RULE);               /*高效*/

    
END IF;

 
END IF;

(2).
区别:

  •  
    RBO根据规则选择最佳实践路径来运转查询。
  •  
    CBO根据表统计找到最低资本的看数的主意确定实施计划。

(3).
使用CBO需要留意:

  • 亟待时对表进行ANALYZE命令进行解析统计;
  • 需要稳定履计划;
  • 要以提示(Hint);

(4).
使用RULE需要注意:

  • 选料最为有效率的表名顺序
  • 优化SQL的写法;

(5).
总结

在optimizer_mode=choose时,如果表出统计信息(分区表外),优化器将甄选CBO,否则选RBO。 

RBO遵循简单的各自方法学,使用15栽级别要点,当接到到查询,优化器将评估使用到的中心思想数目,然后择最佳级别(最少之数据)的执行路径来运作查询。 

CBO尝试找到最低资本的走访数的主意,为了最深的吞吐量或顶抢之始发响应时间,计算以不同之执行计划之老本,并精选资金低于的一个,关于表的数额内容之统计于用来确定实施计划。

 

图片 54.
什么样定位要(消耗资源多)的SQL

Step1.
应用CPU多的用户session定位

SELECT a.SID, spid, status, SUBSTR (a.program, 1, 40) prog, a.terminal,a.SQL_TEXT, osuser, VALUE / 60 / 100 VALUE
  FROM v$session a, v$process b, v$sesstat c
 WHERE c.statistic# = 12 AND c.SID = a.SID AND a.paddr = b.addr
 ORDER BY VALUE DESC;

Step2.
查找

select sql_text from v$sql 
where disk_reads > 1000 or (executions > 0 and buffer_gets/executions > 30000);

 

图片 65.
什么跟某个session的SQL

Step1.
利用TRACE 跟踪

 
ALTER SESSION SET SQLTRACE ON;

 
COLUMN SQL format a200;

 
SELECT   machine, sql_text SQL

     
FROM v$sqltext a, v$session b

    
WHERE address = sql_address

      
AND machine = ‘&A’

 
ORDER BY hash_value, piece;

 

exec
dbms_system.set_sql_trace_in_session(sid,serial#,&sql_trace); 

 

select
sid,serial# from v$session where sid = (select sid from v$mystat where
rownum = 1); 

 

exec
dbms_system.set_ev(&sid,&serial#,&event_10046,&level_12,”);

 

图片 76. SQL调整最关心的凡什么

反省体系的I/O问题

sar-d能检查全体系的iostat(IO
statistics)

 

查看该SQL的response
time(db block gets/consistent gets/physical reads/sorts (disk))

 

图片 87. 说说而针对索引的认(索引的构造、对dml影响、对查询影响、为什么提高查询性能)


引有B-TREE、BIT、CLUSTER等种类。ORACLE使用了一个苛的自平衡B-tree结构;通常来说,在表上建立适当的目录,查询时见面改善
查询性能。但以展开扦插、删除、修改时,同时会开展索引的改动,在性能上发肯定的震慑。有索引且查询条件能够应用索引时,数据库会先度取索引,根据目录内容
和查询条件,查询出ROWID,再依据ROWID取出要的多寡。由于索引内容通常比全表内容如果少那个多,因此通过事先念索引,能减I/O,提高查询性能。

 

b-tree
index/bitmap index/function index/patitional
index(local/global)索引通常会增进select/update/delete的性能,会跌insert的快,

 

图片 98. 施用索引查询一定能提高查询的特性也?为什么

普普通通,通过索引查询数据较全表扫描要快.但是我们呢得小心到它们的代价.

目需要空间来囤积,也要定期维护,
每当有记录在表明中增减或探寻引列被改动时,索引本身吗会为修改.
这象征每条记下的INSERT,DELETE,UPDATE将为者多付出4,5 不行的磁盘I/O.
因为索引需要分外的储存空间与处理,那些无必要的目录反而会如查询反应时间变慢.使用索引查询不自然能增长查询性能,索引范围查询(INDEX
RANGE SCAN)适用于简单种情况:

因一个限量的找,一般查询返回结果集小于表中记录数的30%适合采用;

依据非唯一性索引的摸

 

目录就是为着加强查询性能而在的,如果在询问中索引没有提高性,只能算得用擦了目录,或者称是场地不同

 

图片 109.
绑定变量时什么,绑定变量的利弊

绑定变量是据当SQL语句被采取变量,改变变量的价来转SQL语句的履行结果。

优点:使用绑定变量,可以削减SQL语句之解析,能减数据库引擎消耗在SQL语句解析及之资源。提高了编程效率以及可靠性。减少访问数据库的次数,
就能够实际刨ORACLE的工作量。

症结:经常需要动用动态SQL的写法,由于参数的例外,可能SQL的尽效率不同;

 

绑定变量是对立文本变量来讲的,所谓文本变量是恃以SQL直接开查询条件,

这么的SQL在不同条件下欲数分析,绑定变量是依赖利用变量来顶替直接写条件,查询bind
value在运作时传递,然后绑定执行。 

可取是缩减硬解析,降低CPU的争用,节省shared_pool 

症结是勿克运用histogram,sql优化比较艰苦

 

图片 1110. 怎么样稳定(固定)执行计划

可以在SQL语句被指定执行计划。使用HINTS;

query_rewrite_enabled
= true

star_transformation_enabled
= true

optimizer_features_enable
= 9.2.0

始建并使用stored
outline

 

图片 1211. 以及排序相关的外设有8i和9i分别怎样调整,临时表空间的意是啊

SORT_AREA_SIZE
在进行排序操作时,如果排序的内容最多,内存里无能够全部低下,则要开展表面排序,

这要动用临时表空间来存放在排序的中结果。

 

8i中sort_area_size/sort_area_retained_size决定了排序所待的内存,
如果排序操作不可知于sort_area_size中就,就会见就此到temp表空间

9i中如果workarea_size_policy=auto时, 

排序在pga内进行,通常pga_aggregate_target的1/20可据此来进展disk
sort; 

如果workarea_size_policy=manual时,排序需要之内存由sort_area_size决定,
在履行order by/group by/distinct/union/create index/index
rebuild/minus等操作时,如果在pga或sort_area_size中无可知一气呵成,排序将当临时表空间拓展(disk
sort),临时表空间最主要意图就是是水到渠成系统中之disk sort.

 

图片 1312. 留存表T(a,b,c,d),要依据字段c排序后取第21—30久记下显示,请吃来sql

Solution1. 
  

SELECT   *
        FROM (SELECT ROWNUM AS row_num, tmp_tab.*
                FROM (SELECT   a, b, c, d
                          FROM T
                      ORDER BY c) tmp_tab
               WHERE ROWNUM <= 30)
       WHERE row_num >= 20
ORDER BY row_num;

Solution2. 

create table t(a number(,b number(,c number(,d number();
/ 

begin 
  for i in 1 .. 300 loop 
    insert into t values(mod(i,2),i/2,dbms_random.value(1,300),i/4); 
  end loop;
end; 
/

Solution3.

select * from (select c.*,rownum as rn from (select * from t order by c desc) c) where rn between 21 and 30;
/

select * from (select * from test order by c desc) x where rownum &lt; 30
minus
select * from (select * from test order by c desc) y where rownum &lt; 20 order by 3 desc 

相比之 minus性能较差

 

图片 14其次:数据库基本概念类


图片 151. Pctused and pctfree 表示什么意义有什么打算

pctused
与pctfree控制数据块是否出现在freelist中,
 pctfree控制数据块被保留用于update的上空,当数码块被之free
space小于pctfree设置的半空中时,该数据块从freelist中失去丢,当块由于dml操作free
space大于pct_used设置的半空中时,该数据库块用给填补加于freelist链表中。

 

图片 162. 略描述tablespace / segment / extent / block之间的涉嫌

(1).
tablespace:
一个数据库划分为一个还是多个逻辑单位,该逻辑单位变成表空间;每一个阐明空间或带有一个或多个
Segment;

(2). Segments:
Segment指当tablespace中也一定逻辑存储结构分配的上空。每一个段是出于一个要么多个extent组成。包括数据段、索引段、回滚段与临时段。

(3). Extents: 一个 extent 由同样系列连续的 Oracle
blocks组成.ORACLE为通过extent 来叫segment分配空间。

(4). Data Blocks:Oracle
数据库最小的I/O存储单位,一个data block对应一个或者多独分配为data
file的操作系统块。

(5). table创建时,默认创建了一个data
segment,每个data segment含有min
extents指定的extents数,每个extent据据表空间的存储参数分配一定数额的blocks

 

图片 173. 讲述tablespace和datafile之间的涉

一个发明空间不过含蓄一个要多独数据文件。表空间利用增加或者扩大数据文件扩大表空间,表空间的大大小小也组合该表空间的数据文件大小的和。一个datafile只能属于一个说明空间;


单tablespace可以产生一个或者多只datafile,每个datafile只能当一个tablespace内, table中之数码,通过hash
算法分布在tablespace中之一一datafile中,tablespace是逻辑上的定义,datafile则以物理及囤积了数据库的样对象。

 

图片 184. 地面管理表空间以及字典管理表空间的风味,ASSM有什么特色

地方管理表空间:(9i默认)空闲块列表存储在表空间的数据文件头。

特性:减少数额字典表的竞争,当分配和收缩空间时见面时有发生回滚,不欲统一。

字典管理表空间:(8i默认)空闲块列表存储于数据库被的字典表里.

特性:片由数字典管理,可能导致字典表的争用。存储在表空间的各级一个截还见面生两样之仓储字词,需要联合相邻的片;

 

本地管理表空间(Locally
Managed Tablespace简称LMT)

8i后出现的平等种植新的表空间的管理模式,通过各项图来管理表空间的上空应用。字典管理表空间(Dictionary-Managed
Tablespace简称DMT) 

8i先包括后还还好动用的一律种表空间管理模式,通过数量字典管理表空间的空间利用。动段空间管理(ASSM),它首次等面世于Oracle920里有矣ASSM,链接列表freelist被各图所替代,它是一个二进制的累累组, 

能够快速有效地管理存储扩展以及剩余区片(free
block),因此能够改善分段存储本质,ASSM表空间及创立的截还有另外一个如呼叫Bitmap
Managed Segments(BMB 段)。

 

图片 195. 扭滚段的企图是什么

扭动滚段用于保存数据修改前的镜头,这些信息用于转移读一致性数据库信息、在数据库恢复与Rollback时用。一个政工只能采用一个回滚段。

 

事务回滚:当事务修改表中多少的时段,该数据修改前的价值(即眼前影像)会存放于回滚段受到,当用户回滚事务(ROLLBACK)时,ORACLE将见面以回滚段被的多寡前影像来将改的数据恢复到本的值。 

工作恢复:当事务正在处理的当儿,例程失败,回滚段的音保存在undo表空间被,ORACLE将在下次打开数据库时以回滚来平复未提交的数量。

朗诵一致性:当一个对话正在改数据时,其他的对话将看不到该会话未提交的改。 当一个说话正在实施时,该语句以看不到从该语句开始实行后底非提交的改动(语句级读一致性) 


ORACLE执行SELECT语句时,ORACLE依照当前底系统改变号(SYSTEM CHANGE
NUMBER-SCN) 来保证其他前叫即SCN的莫提交的改动不为该语句处理。可以设想:当一个添加时之查询正在尽时, 若其他会话改变了该查询而
查询的有数据块,ORACLE将运用回滚段的数码前影像来组织一个读一致性视图

 

图片 206. 日志的企图是什么

日记文件(Log
File)记录有对数据库数据的改动,主要是维护数据库以备故障,以及恢复数据经常行使。其特征如下:

 
a)每一个数据库至少含有两只日志文件组。每个日志文件组至少含有两个日志文件成员。

 
b)日志文件组为巡回方式进行勾勒操作。

 
c)每一个日志文件成员对应一个大体文件。

 

记录数据库事务,最可怜限度地保证数据的一致性和安全性  

重开日志文件:含对数据库所举行的反记录,这样只要出现故障可以启用数据恢复,一个数据库至少需简单个还开日志文件 

归档日志文件:是再度做日志文件的脱机副本,这些副本或于自介质失败中进行回复非常必要。

 

图片 217. SGA主要出那些部分,主要意图是啊

系统全局区(SGA):是ORACLE为实例分配的均等组共享缓冲存储区,用于存放数据库数据与控制信息,以落实对数据库数据的管住与操作。

SGA主要概括:

  • a)共享池(shared
    pool) :用来存储最近施行的SQL语句和不久前运的多寡字典的多寡。
  • b)数据缓冲区
    (database buffer
    cache):用来囤最近从数据文件中读写了之数码。
  • c)重作日志缓冲区(redo
    log buffer):用来记录服务还是后台进程对数据库的操作。
  • 此外当SGA中还有一定量独可挑选的内存结构:
  • d)Java
    pool:  用来存储Java代码。
  • e)Large
    pool: 用来存储不与SQL直接相关的巨型内存结构。备份、恢复使用。

 

GA:db_cache/shared_pool/large_pool/java_pool 

  • db_cache:
    数据库缓存(Block
    Buffer)对于Oracle数据库的周转及性质于在大重要之意向,它占据Oracle数据库SGA(系统共享内存区)的要部分。Oracle数据
    库通过利用LRU算法,将近期作客的多少块存放到缓存中,从而优化对磁盘数据的访问.
  • shared_pool:
    共享池的轻重对Oracle
    性能来说还是死要紧之。共享池中保留数据字典高速缓冲和完全解析或编译的之PL/SQL
    块和SQL 语句及控制结构 
  • large_pool:
    使用MTS配置时,因为若在SGA中分配UGA来维持用户的对话,就是用Large_pool来保持这个会话内存以RMAN做备份的时候,要采用Large_pool这个内存结构来开磁盘I/O缓存器 
  • java_pool:
    为java procedure预备的内存区域,如果没运用java
    proc,java_pool不是须的

 

图片 228. Oracle系统进程要有怎样,作用是呀

数量形容进程(DBWR):负责将移的多寡从数据库缓冲区高速缓存写副数据文件

日志写进程(LGWR):将另行开日志缓冲区中之反写入在线重开日志文件

系统监控 
(SMON):
检查数据库的一致性如发必不可少还见面在数据库打开时启动数据库的死灰复燃

经过监控 
(PMON): 负责在一个Oracle 进程受挫时清理资源

检查点进程(CKPT):负责在以缓冲区高速缓存中之改变永久地记录在数据库被不时,更新控制文件和数据文件中的数据库状态信息。

归档进程 
(ARCH):在历次日志切换时将已经满之日志组进行备份或归档

过来过程 
(RECO):
保证分布式事务之一致性,在分布式事务中,要么同时commit,要么以rollback;

学业调度器(CJQ
):  负责将调度和实施系统中既定义好之job,完成部分预定义的工作.

 

图片 23其三:备份恢复类


图片 241. 备份如何分类

(1).
分类

  • 逻辑备份:exp/imp 指定表的逻辑备份
  • 大体备份: 
    • 热备份:alter
      tablespace begin/end backup; 
    • 冷备份:脱机备份(database
      shutdown)
    • RMAN备份 
    • full
      backup/incremental backup(累积/差异) 

(2).
物理备份

大体备份是极端紧要的备份方式。用于保证数据库在最好小之数据库丢失或从不多少丢失的图景下取得回复。

(3).冷物理

冷物理备份提供了极简便易行和最好直接的方式保护数据库因物理磨损遗失。建议于偏下几种状况遇利用。

针对一个一度存在很无比数据量的数据库,在晚数据库可关闭,此时应用冷物理备份。

针对需对数据库服务器进行升级,(如更换硬盘),此时待备份数据库信息,并在初的硬盘中还原这些数据信息,建议使用冷物理备份。

(4).热物理

主要是凭备份过程在数据库打开并且用户可用的事态下进行。需要实行热物理备份的状态有:

出于数据库性质要求未中断工作,因而此时只得利用热物理备份。

鉴于备份的要求的时过长,而数据库只能短日关闭时。

(5).逻辑备份 (EXP/IMP)

逻辑备份用于落实数据库对象的死灰复燃。但不是根据时间接触只是完全恢复的备份策略。只能当作联合备份和脱机备份的同样栽上。

(6).完全逻辑备份

全盘逻辑备份是将总体数据库导出到一个数据库的格式文件中,该公文可以于不同的数据库版本、操作系统和硬件平台之间展开移植。

(7).指定表的逻辑备份

经过备份工具,可以以点名的数据库表备份出来,这好免了逻辑备份所带动的岁月和资产达的浪费。

 

图片 252. 归档是什么含义 

至于归档日志:Oracle要以填满之在线日志文件组归档时,则要白手起家归档日志(archived
redo log)。其对数据库备份和还原来下列用处: 

数据库后备以及在线与归档日志文件,在操作系统及磁盘故障被唯独包百分之百付给的东西可叫恢复。 

以数据库打开和例行体系运用下,如果归档日志是永恒保存,在线后备可以开展与运用。 

数据库可运行在个别栽不同方法下:NOARCHIVELOG方式还是ARCHIVELOG
方式 

数据库在NOARCHIVELOG方式下采取时,不克开展在线日志的存档, 

数据库在ARCHIVELOG方式下运行,可实施在线日志的存档

 

归档是归档当前的一块儿redo日志文件。

SVRMGR>
alter system archive log current;

数据库只有运行于ARCHIVELOG模式下,并且能进行活动归档,才可以进行共同备份。有矣联合备份才发或展开完全恢复。

 

图片 263. 要一个申明在2004-08-04 10:30:00 被drop,在发出健全之存档和备份的事态下,如何回复

9i
新增的FLASH BACK 应该可以;

Logminer应该好寻找有DML。

发出周的存档和备份,先归档当前数码,然后可以事先过来至去的时间点之前,把DROP
的表导出来,然后又过来到结尾归档时间;

手工拷贝回所有备份的数据文件 

Sql〉startup
mount; 

sql〉alter
database recover automatic until time ‘2004-08-04:10:30:00’; 

sql〉alter
database open resetlogs;

 

图片 274. rman是呀,有哪里特征

RMAN(Recovery
Manager)是DBA的一个生死攸关工具,用于备份、还原和还原oracle数据库, RMAN
可以为此来备份和死灰复燃数据库文件、归档日志、控制文件、系统参数文件,也得据此来实行了要无了的数据库恢复。 

RMAN有三栽不同之用户接口:COMMAND
LINE方式、GUI 方式(集成于OEM 中之备份管理器)、API
方式(用于集成到第三正在的备份软件面临)。 

有着如下特点: 

1)功能类似物理备份,但于物理备份强大N倍; 

2)可以抽空块; 

3)可以以片水平及贯彻增量; 

4)可以管备份的输出打包成备份集,也得以按照一定大小分割备份集; 

5)备份与回复的长河得活动管理; 

6)可以使用脚本(存在Recovery
catalog 中) 

7)可以做坏块监测

 

图片 285. standby的特点


用数据库(standby database):ORACLE推出的同种高可用性(HIGH
AVAILABLE)数据库方案,在主节点与备用节点内透过日记同步来保证数据的一块儿,备用节点作为主节点的备份,可以兑现快捷切换与灾难性恢复,从
920开始,还初步支持物理和逻辑备用服务器。

9i中之老三种植多少保护模式分别是:

1)、MAXIMIZE
PROTECTION
:最要命数据保护以及众多按部就班分歧,LGWR将以传送至备用节点,在主节点工作确认之前,备用节点也得完全接受日志数据。如果网络不好,引起LGWR不能够传送数据,将唤起严重的习性问题,导致主节点DOWN机。 

2)、MAXIMIZE
AVAILABILITY :无数依丢失模式,允许数据分歧,允许异步传送。 

常规状态下运行在极其酷保护模式,在主节点与备用节点的纱断开或连不健康时,自动切换到最老性模式,主节点的操作还是得继承的。在网络不好的情下产生比较生之习性影响。 

3)、MAXIMIZE
PERFORMANCE:这种模式应该可以视为从8i延续过来的备用服务器模式,异步传送,无多少并检查,可能有失数据,但是能取得主节点之极端老性。9i在部署DATA
GUARD的上默认就是MAXIMIZE PERFORMANCE

 

 

图片 296. 对此一个要求恢复时间比较缺乏的系(数据库50G,每天归档5G),你哪些统筹备份策略

数据库比较特别逻辑备份没什么必要,每天归档5G,每周三/周六自动归档10G,每月RMAN归档全库。应该有standby。

rman/每月同样声泪俱下
level 0 每周末/周三 level 1 其它每天level 2

 

图片 30季:系统管理类


图片 311. 于一个有系统性能的网,说生你的确诊处理思路

(1).
做statspack收集体系相关消息 
了解系统大致情况/确定是不是有参数设置不得体的地方/查看top 5
event/查看top sql等

(2).
查v$system_event/v$session_event/v$session_wait
从v$system_event开始,确定要什么资源(db file sequential
read)等,深入研讨v$session_event,确定等事件波及的对话,从v$session_wait确定详细的资源争用状态(p1-p3之
值:file_id/block_id/blocks等)

(3).
通过v$sql/v$sqltext/v$sqlarea表确定disk_reads、(buffer_gets/executions)值比较充分之SQL

 

图片 322. 罗列几种诊断IO、CPU、性能状况的点子

top 
uptime  vmstat  iostat  statspack  sql_trace/tkprof

查v$system_event/v$session_event/v$session_wait

查v$sqlarea(disk_reads或buffer_gets/executions较大的SQL)

或第三正的监工具,TOAD就正确。

 

图片 333. 对准statspack有哪认识

识不死。仅限了解。StapSpack是Oracle公司供的一个集数据库运行性能指标的软件包。可以举行数据库健康检查报告。

StapSpack是Oracle公司资的一个征集数据库运行性能指标的软件包,该软件包从8i由,在9i、10g还生举世瞩目的增强 

欠软件包的辅助表(存储相关参数和征集的性能指标的申)由最初的25单提高至43单 

收集级别参数由原的3单(0、5、10)增加到5只(0、5、6、7、10) 

透过分析收集之性能指标,数据库管理员可以详细地了解数据库目前的周转情况,对数据库实例、等待事件、SQL等展开优化调整 

运statspack收集之snapshot,可以统计制作数据库的各种性能指标的统计趋势图表。

 

图片 344. 一旦系统现在亟待以一个可怜死的表上创建一个索引,你见面考虑那些因素,如何做为尽力而为减多少对运的影响

好先表分析一下,然后测试创建索引前后对下之性能影响;

需要考虑的是该索引列不经常更新,不是发生为数不少重复值的景象时常,
在大表中以索引特别有效.
创建的目录可以跟数据表分不同表空间存储。

 

于系统于空闲时nologging选项(如果生dataguard则未得以采取nologging) 

大的sort_ared_size或pga_aggregate_target较大

 

图片 355. 针对raid10 和raid5产生哪认识

RAID
10(或称RAID 1+0)与RAID 0+1异,它是用硬盘驱动器先组成RAID
1阵列,然后于RAID 1阵列之间再组成RAID 0阵列。 

RAID
10模式同RAID 0+1模式一样有优良的数传性能,但也比RAID
0+1兼有双重胜似之可靠性。RAID
10阵列的骨子里容量也M×n/2,磁盘利用率也50%。RAID
10为需要至少4个硬盘驱动器构成,因而价格昂贵。 

RAID
10之可靠性同RAID 1一样,但出于RAID
10硬盘驱动器之间发生数量分割,因而数据传性能出色。  

RAID
5以及RAID 3很相似,不同之处在于RAID
5的奇偶校验信息也和数一致让分保存到独具的硬盘驱动器,而未是摹写副一个点名的硬盘驱动器,从而打消了单个奇偶校验硬盘驱动器的瓶颈问题。RAID
5磁盘阵列的属性比RAID
3有所提高,但仍需要至少3块硬盘驱动器。其实际容量为M×(n-1),磁盘利用率也(n-1)/n
。  

 

图片 36五:综合随意类


图片 371. 君顶拿手的是oracle哪部分?

pl/sql及sql优化

 

图片 382. 喜欢oracle吗?喜欢上论坛为?或者偏好oracle的哇部分?

 喜欢。PL/SQL比较得心应手。

 

图片 393. 随机说说若认为oracle最有意思的部分或者最好困难的有的

我对数据库的备份/恢复跟总体性调优经验明显不足,自然觉得有些艰难。

因ORACLE的研讨应该是单大的小圈子,所以我道还是有意思的。

 

图片 404. 胡设选取做DBA呢?

自家对数据库的备份/恢复跟总体性调优经验明显不足,主要是差环境暨交流。

就此,算不达标啊DBA。不过用我又需如此的机遇。

然而就是不折不扣ORACLE
来说,一直从和她相关的干活,感情或那个深的。放弃可惜。而且即使技术本身而言自看自己或者出习及翻新之力,它的例如数据仓库,数据挖掘之类的天地呢十分广阔。

 

图片 415. 囤积过程与函数的别

积存过程是用户定义的同等名目繁多sql语句之成团,涉及特定表或任何对象的任务,用户可调用存储过程,而函数通常是数据库都定义的法,它接受参数并回到某种类型的价并且不干特定用户表。

 

图片 426. 工作是什么?

事务是当做一个逻辑单元执行的同等层层操作,一个逻辑工作单元必须出四个属性,称为
ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能够成一个事情:

原子性:事务必须是原子工作单元;对于该数据修改,要么全都执行,要么全都不履。

一致性:事务在好时,必须使有的多寡还保持一致状态。在相关数据库中,所有规则都必须使叫业务之改动,以保有数据的完整性。事务了时,所有的里数据结构(如
B 树索引或双向链表)都必须是无可非议的。


离性:由并发事务所作的改动得同其他其他并发事务所作的修改隔离。事务查看数据常常数所处之状态,要么是其余一样并发事务修改其前面的状态,要么是外一样行务
修改它后的状态,事务不会见翻动中间状态的数量。这叫做可串行性,因为她能再次装载起始数据,并且重播一系列作业,以要数码截止时之状态及原事务执行
的状态一样。

持久性:事务完成以后,它对系的熏陶是永久性的。该改就出现系统故障也用一直维持。

 

图片 437. 游标的意图?如何理解游标已经到了最终?

游标用于固定结果集的行,通过判断全局变量@@FETCH_STATUS可以判明是否到了最后,通常是变量不等于0表示出错或到了最终。

 

图片 448. 触发器分为事前点和后接触,这简单种触发有和区别。语句级触发和行级触发有哪里区别。

前触发器运行于点事件来之前,而后来触发器运行于点事件发生以后。通常事先触发器可以获取事件之前跟新的许段值。

语句级触发器可以于言语执行前还是后实施,而行级触发在触发器所影响的诸一行触发一差。

 

Thanks and Regards

图片 45

相关文章