oracle数据库基本知识重点_第1页
oracle数据库基本知识重点_第2页
oracle数据库基本知识重点_第3页
oracle数据库基本知识重点_第4页
oracle数据库基本知识重点_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库基本知识目录一、几种常见数据库介绍及比较二、 Oracle 安装及注意事项 :三、数据库的基本元素四、数据库的基本维护1/28一、几种常见数据库介绍及比较1.几种常见关系性数据库:IBM DB2, ORACLE. MS SQL, SYBASE, Informix, MySQL2.来自互联网方面的几种评价:MS SQL : 秀才 - 把别人写的书看懂成为自己的东西,衣饰一般都比较考究,但是只懂一国语言,而且喜欢贬低别人。SYBASE : 农夫 -干活不要命,大有拼命三郎的气势,但是感觉总是差点文化涵养。养鱼,养猪都可以但是却忘了打打广告。ORACLE : 将军 -有大家风范,对秀才和农夫的

2、争论不屑一顾。凡是有了战役舍我其谁。但是别忘了还有的士兵也想当将军的。Informix:宰相 - 管你谁对谁错,反正我就是只顾一个皇帝UNIX ,我的地位别人休想轻易替代。My SQL:韦小宝 -我就是要在你们中间捣蛋,虽然年纪小, 但是发育也很完善。大家都喜欢。3.2001 年度全球数据库市场的份额: DB2 占到了 34.6%(受收购 Informix 市场份额影响),Oracle占 32%、微软占16.4%、 Sybase占 2.6%、其他为14.4%)2/28二、Oracle 安装及注意事项 :作为数据库服务器坚决不要安装金山毒霸和 KV3000 等防毒软件,可以使用 NU20001.

3、 oracle 常见版本 :7.34,8.05,8I,9I,10g2.安装 ,不同版本会略有不同 ,主要以 7.34和 8I为例 ,并且在不同的操作系统上8I 以后的安装和在 NT/W2K 上类似 ,在 UNIX 系统上安装前需要配置相应的环境变量,NT 、W2K 下 ( 1)运行安装程序进行安装,7.34 不能在 W2K 下安装,需要用第二种方式( 2)导入注册表,复制相应的目录注意:如果同时在一个操作系统上同时安装7.34 和 8I 需要现安装7.34 在安装 8I3.安装过程:略安装注意事项:安装语言选择:ENGLISHDEFAULT_HOME : DEFAULT_HOME默认8I 和

4、7.34 同时安装需要修改8I 的此项选项为一个其他的名字不能相同如叫8I等, 8I安装后需要修改相应的注册表的字符集HKEY_LOCAL_MACHINESOFTWAREORACLE的 NLS_LANG的值为:AMERICAN_AMERICA.WE8ISO8859P1,否则 sql 语句查询的结果为乱码。安装过程一般选择自定义安装,不要在建立相应的系统默认的数据库。4.创建数据库 7.34(实例管理器 NT Instance Manager ),8I(数据库助手 Database ConfigurationAssistant)5.书写相应的参数后选择advanced(高级)进入高级设置,选择O

5、K 进入数据库创建过程3/286. 设置相应的参数后选择 OK 返回7. 选择 OK 进行创建数据库8. 创建数据库注意事项: 7.34 初始化文件一定要在制定的目录下存在并且相应的文件路径一定要存在。 并且初始化文件的回滚段一定要注释掉,等建立晚回滚段后在放开并且重新启动数据库后生效。8I可以一切都不存在,并且自动创建30 个回滚段SYSTEM和RBS0-RBS28 ,安装完成后运行 CATALOG .SQL 和 CATPROC.SQL 进行重新创建系统的同义词和过程函数等4/28三、数据库的基本元素1. 表空间: 相当于其他数据库的数据设备,用来存放数据库中其他存储元素如:表、索引、回滚段

6、等常用的表空间: system(系统表空间,用于存储系统表、用户信息、过程、包、用户自定义函数、同义词、序列等,只要定义和创建将不再变化)、 temp_spc(临时表空间,在进行数据查询时使用,尤其是使用子查询)、data_spc(数据表空间,用于存储用户表等数据信息) 、 indx_spc(索引表空间,用于存储用户表索引) 、rbsg_spc(回滚表空间,用于存放回滚段)可以想象为: 用户数据存储的物理载体(1) 创建表空间create tablespace temp_spcdatafile 'd:mchtdatatempmcht.odb' size 100M AUTOEXT

7、END OFF|ON(可以依次有多个数据文件 ,文件名最好用 1, 2, 3,等划分以便容易识别,中间用逗号分割)DEFAULT STORAGE (INITIAL64K NEXT 64K pctincrease 0)online 。如果没有制定数据文件的扩展名将使用.ORA , 8I 默认为 .DBF注意:数据文件的大小 AIX 系统不能大一 1G,NT/2K 的 FAT32 分区格式不能大于4G,NTFS 分区不受限制。(2) 为表空间增加数据文件ALTER TABLESPACE temp_spc add datafile 'd:mchtdatatempmcht2.odb'

8、size 100M online。建议:将表空间存放在不同的磁盘上,平衡I/O2. 用户:数据库在使用的过程中, 都要以某用户身份进行登陆, 然后在进行此用户下的工作,相当于数据库管理员,拥有不同的权限:创建数据库后默认的三个用户:internal( 超级用户,在用户管理中不可见 )密码为建库时的密码, system 密码为 manager, sys 用户密码为 change_on_install ,可以想象为: 用户数据存储的逻辑载体( 1)删除用户drop user dbauserpszx cascade。删除用户后, 属于该用户的所有数据均被删除如:表、索引、序列、过程、 函数、包等 一

9、定要注意另加小心( 2)创建用户create user dbauserpszx identified by futurepszxDEFAULT TABLESPACEdata_spcTEMPORARY TABLESPACE temp_spcQUOTA UNLIMITED ON system( oracle 8 以后不再用)QUOTA UNLIMITED ON temp_spcQUOTA UNLIMITED ON rbsg_spcQUOTA UNLIMITED ON data_spcQUOTA UNLIMITED ON indx_spcQUOTA UNLIMITED ON pers_spc。( 3

10、)分配权限角色GRANT DBA to dbauserpszx 。GRANT SELECT ANY TABLE TO dbauserpszx。GRANT INSERT ANY TABLE TO dbauserpszx。GRANT DELETE ANY TABLE TO dbauserpszx。GRANT UPDATE ANY TABLE TO dbauserpszx。5/28GRANT SELECT ANY SEQUENCE TO dbauserpszx。GRANT CREATE USER TO dbauserpszx 。GRANT CREATE ANY TABLE TO dbauserpsz

11、x。GRANT CREATE ANY SEQUENCE TO dbauserpszx。GRANT CREATE ANY INDEX TO dbauserpszx。GRANT DROP USER TO dbauserpszx 。GRANT DROP ANY TABLE TO dbauserpszx。GRANT DROP ANY SEQUENCE TO dbauserpszx。GRANT DROP ANY INDEX TO dbauserpszx。GRANT GRANT ANY ROLE TO dbauserpszx。GRANT EXECUTE ANY PROCEDURE TO dbauserps

12、zx。3.回滚段(1)创建回滚段create public rollback segment fpos_rs2tablespace rbsg_spcstorage (initial 1M next 1M optimal 10M minextents 2 maxextents 500)。注意: optimal回滚断最佳的大小为减少系统资源竞争,改善系统性能一般采用多个回滚段,当多个事务并发进行时将产生多个回滚信息,系统事务对回滚段的调用是系统随机的除非特殊制定SETTRANSACTION USE ROLLBACK SEGMENT fpos_rsl。( 2)回滚段状态(在线 online ,不在线

13、 offline )只有在线的回滚段段系统事务方可调用 ALTER ROLLBACKfpos_rsl ONLINE|OFLINE 。修改初始化文件INITPFILE.ORA文件 rollback_segments=( fpos_rs2,fpos_rs3,fpos_rs4,fpos_rs5,fpos_rs6,fpos_rs7,fpos_rs8,fpos_rs9,fpos_rs10,f pos_rs11,fpos_rs12,fpos_rs13,fpos_rs14,fpos_rs15,fpos_rs16,fpos_rsl)4. 数据库连接( DB_LINK )实现数据库的互联( 1) 数据库的被连接

14、端必须有相应的用户存在( 2) 数据库的主联接端建立相应的连接对象CREATE PUBLIC DATABASE LINK pszx_db.worldCONNECT TO dblinkusr IDENTIFIED BY future19990501USING 'pszx_db' 。删除数据库连接DROP PUBLIC DATABASE LINK pszx_db.world。数据库连接建立之后可以对连接里的内容进行访问了SELECT * FROM SYS_GLJG FROM DBAUSETPSZX.SYS_GLJGPSZX_DB 如要屏蔽访问的负杂性可以创建同义词5. 表:数据库存

15、放用户数据的最主要的方式( 1) 创建表CREATE TABLE APP_BINARY(APPCHAR(2) NOT NULL,MODULEVARCHAR2(12) NOT NULL,SEQNONUMBER NOT NULL,LENGTHNUMBER,BINLONG RAW,6/28CONSTRAINT PK_APP_BINARY PRIMARY KEY(APP,MODULE,SEQNO)TABLESPACE DA TA_SPCPCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 24M NEXT 64K MINEXTENT

16、S 1 MAXEXTENTS 505 PCTINCREASE 0)ENABLE CONSTRAINT PK_APP_BINARY USING INDEXPCTFREE 10 INITRANS 2 MAXTRANS 255TABLESPACE INDX_SPCSTORAGE(INITIAL 80K NEXT 64K MINEXTENTS 1 MAXEXTENTS 505PCTINCREASE 0) 。说明: PCTFREE10 当表的数据块的使用超过90是自动使用下一个数据块PCTUSED 40 当表的数据块的使用小于40 时系统不会分配新的数据块(大将会节省空间,增大 insert 和 upa

17、te 的系统消耗)INITIAL初始空间大小NEXT下一扩展空间的大小MINEXTENTS初始分配的区域数目MAXEXTENTS最大可分配的区域数目PCTINCREASE数据段每个区域大小的增大比率( 2) 删除表 DROP TABLE 表名;( 3) 表改名 RENAME 表名 TO 新表名 (也可以修改索引 )( 4)增加列 ALTER TABLE表名 ADD字段名 类型);( 5)删除例 ALTER TABLE表名 DROP 字段名; 7.34 不能删除列,8I 的初始化参数compatible = 8.1.0 时才可删除列( 6)增加主键 ALTER TABLE 表名ADD CONST

18、RAINT 主键名PRIMARY (字段, );( 7) 分区建表( 8 的新功能)分区是将一个对象的数据分开存储的一种机制,减少磁盘 I/O 将一个较大的表中数据分成一些较小的表CREATE TABLE PERSONS(NO NUMBERPRIMARK KEY,NAME V ARCHAR2(20),SEX CHAR(1),BIRDAY DA TE)PARTITION BY RANGE(NO)(PARTTION PART1 V ALUES LESS THEN (98010)小于 NO98010 时用 PART1TABLESPACE SZJ1,PARTTION PART2 V ALUES LES

19、S THEN (98020)小于 NO98020 时用 PART2TABLESPACE SZJ2,PARTTION PART3 V ALUES LESS THEN (98020)小于 NO98030 时用 PART3TABLESPACE SZJ3,PARTTIONPART4 VALUESLESS THEN(MAXV ALUE)小于 NO98030 时用PART4)。查询 SELECT * FROM PERSONS(PART2,PART3) WHERE NO BETWEEN98015AND980257/28一般分区的表空间建立在不同的磁盘上( 8)常用字段数据类型CHAR最长 2000BVARC

20、HAR2(8I 、 9I 将采用 VARCHAR)4000B(7.34 2000B)LONG变长字符2GBNUMBER(s , d) 数字最长 38 位DATE 日期BLOB二进制大集4GB ( RAW,LONG RAW将在未来版本中淘汰)ROWID物理地址类型( 9) 回滚(回退) COMMIT 和提交 ROLLBACK :我们对数据库的操作是由事务来控制管理的,在一个事务中,应该及时对所作的操作进行提交,以方式操作无效,也可取消非法的操作数据库事务:是一个逻辑的工作单元回滚和提交到上次回滚或提交点的事务操作注意事项:有一些特殊的事务是回自动提交(隐式提交),在操作的过程种一定注意:QUIT

21、 、EXIT 、CREATE TABLE、ALTER TABLE 、DROP TABLE 、CREATEVIEW 、 ALTER VIEW 、 DROP VIEW 、 GRANT 、 REVOKE 、 CONNECT 、 DISCONNECT 、 AUDIT( 审计 ) 、NOAUDIT.( 10) 清空表: TRUNCATE TABLE表名;注意事项:清空表的操作不能回滚,所要清空的表不能被其他事务锁定,不能清空试图和同义词,清空表不触发触发器。6. 索引,为增加查询的速度,会影响数据的更新负荷(要适度的建立索引)(1) 创建索引CREATEINDEX INDEX_JXC_COM_DAY_T

22、RANSID ONJXC_COM_DAY(TRANS_ID)TABLESPACE INDX_SPCPCTFREE 10 INITRANS 2 MAXTRANS 255STORAGE(INITIAL 20M NEXT 5M MINEXTENTS 1 MAXEXTENTS 505PCTINCREASE 0) 。创建索引PARALLEL (DEGREE 5)并行的 5 个进程共同创建索引(不使用于创建主健)NOLOGGING参数可选Oracle8I 支持函数索引Oracle8I 支持联机索引 online 参数创建索引 (因为创建索引时表自动加锁不允许更新而使用 ONLINE 参数则可以联机创建索引

23、了)(2) 查询中使用索引,oracle 自动分析语句使用最佳的索引,主要依据sql 查询语句的 WHERE 条件,也可强制使用索引如:select -+ INDEX (IDX_JMD_MFDATE)也可 /*+INDEX (IDX_JMD_MFDATE)*/JMDMFID GZ,ROUND(SUM(JCHSJJJE),2) HSJE,ROUND(SUM(JCBHSJJJE),2) BHSJEFROM JXCMFRAMEDAYWHEREJMDWMID IN ('1','2','3') ANDJMDDATE=TO_DA TE('HSJSRQ

24、','YYYYMMDD')8/28GROUP BY JMDMFID具体的查询语句用PL/SQL 的 EXPLAN PLAN WINDOW进行查询索引的使用情况,大数据量的表一定注意索引的使用情况强制使用索引时尽量使用/*+INDEX (JXCMFRAMEDAY IDX_JMD_MFDATE) */避免所选择的语句被注释 并且多表联立(或通过同义词访问)时尽量强制使用索引多个表的索引使用格式 /*+ INDEX( 表 1 索引 1) INDEX( 表 2 索引 2)*/(3) 分区局部索引CREATE INDEX PERSONS_NO ON PERSONS(NO)LOCA

25、L(PARTION PART1 TABLESPACE SZJ1, PARTION PART2 TABLESPACE SZJ2, PARTION PART3 TABLESPACE SZJ3, PARTION PART4 TABLESPACE SZJ4) 。(4) 分区全局索引CREATE INDEX PERSONS_NO ON PERSONS(NO)GLOBAL PARTION BY RANGE(NO)(PARTION PART1 V ALUES LESS THEN (98010) TABLESPACE SZJ_INDEX1,PARTION PART2 V ALUES LESS THEN (98

26、020) TABLESPACE SZJ_INDEX2, PARTION PART3 V ALUES LESS THEN (98030) TABLESPACE SZJ_INDEX3,PARTION PART4 VALUES LESS THEN (MAXV ALUE) TABLESPACE SZJ_INDEX4) 。(5) 创建索引注意事项:索引的表不能被其他事务锁定,8I 支持 ORACLE 系统函数的结果当成字段进行索引。7.34 不支持7.视图: 是包含一个或多个表(视图)中数据的简化描述执行一个查询结果,并将它看成一个表(虚拟表)例:CREATE VIEW SYS_GZ ASSelectC

27、ODE,NAME,SJCODE,ISSPB,ISWSFB,FLAG,TYPE,GDFL,BDFL,JHLRL,JHZZTS,YYMJ,SEQNO,STATUS,ISZG ,ZGGYS,GYSSEQ,SYSREG,SUBJECT,ISXH,ISCS,ISMGYSFROM sys_gljg WHERE flag='Y' AND fgljgjcbm(code,1)=fgetmc。Oracle8I 支持实例化视图CREATE MA TERIALIZED VIEW*TABLESPACE DA TA_SPCPCTFREE 10 INITRANS 2 MAXTRANS 255STORAGE(

28、INITIAL 20M NEXT 5M MINEXTENTS 1 MAXEXTENTS 505 PCTINCREASE 0) 。materialized view还需要另外的写盘时间8. 同义词 :减少不同用户间数据访问的复杂性,增加远程分布数据的透明度和安全层没有创建同义词时 FUTUREPOS 用户在对 DBAUSERMCHT 用户中的表 SYS_GLJG 进行访问的时候 SELECT * FROM DBAUSERMCHT.SYS_GLJG 。 建立同义词之后可以自由访问CREATE 【 PUBLIC 】 SYNONYM PSZX_SYS_GLJG FOR SYS_GLJGPSZX_DB.

29、WORLD 。9/28创建了一个全局同义词。那些可以建立同义词:表,视图,序列,过程,函数,建立了数据库链接之后的以上内容均可9. 序列:多用户产生的唯一整数的数据库对象,用户可用序列自动产生主关键字的值。CREATE SEQUENCE SEQ_JXC_COM_DAY序列名称INCREMENT BY 1步长MINV ALUE 1最小值NOCYCLE没有周期CACHE 20高速缓存ORDER 。序列的访问 select seq_jxc_com_day.nextval into l_jxcseq from dual 。 语句运行后自动加一 seq_jxc_com_day.CURRVAL 返回刚才的

30、值不加 110. 自定义函数, 编译后可想 ORACLE 自己的函数一样使用,函数必须有返回值,函数不能更新数据表的内容例: CREATE OR REPLACEFUNCTION f0Null (n1 IN NUMBER)RETURN NumberASBEGINIF n1=0 THENReturn NULL 。ELSEReturn n1 。END IF 。END 。/11. 过程:用来完成用户一系列的操作,过程可以调用其他的过程、函数、包等。CREATE OR REPLACEPROCEDUREsp_cmd_com_sc(v_codein char)ASlbz char(1) 。lnnumber

31、。BEGIN-调用删除编码过程delete from qt_commod where code=v_code。commit。-是否日终处理命令SELECT RTRIM(LTRIM(VALUE) INTO lbz FROM sys_para WHERE code='29'。if lbz='Y' thenbeginselect seqno into ln from pszx_command_rzwhere comm='SCCOM' and para=''''|v_code|''''。ex

32、ception when no_data_found thenINSERT INTO pszx_command_rzVALUES(seq_pszx_command_rz.NEXTV AL,SYSDATE,'SCCOM',''''|v_code|'''')。10/28commit 。return 。end。end if。sp_scspbm(v_code)。commit。EXCEPTION WHEN OTHERS THENsp_ht_error('r','sp_cmd_com_sc',v

33、_code,sqlcode,sqlerrm) 。raise。END sp_cmd_com_sc。/12.包:数据库中的实体,包含一系列的公共常量、变量、数据类型、光标(游标)过程及函数的定义,具有模块化的优点,包包括:包头和包体13.JOB:为系统设定定时执行的过程建立 JOBvariable jobno number 。BEGINdbms_job.submit(:jobno,'sp_pszx_rz_job。',TRUNC(sysdate)+1.21,'TRUNC(SYSDATE+1)+0.21')。END 。/print jobno 。/手工执行 JOB :

34、EXECUTE DBMS_JOB.RUN(JOB号 );删除 JOB:EXECUTE DBMS_JOB.REMOVE(JOB号 );查询 JOB 号及其实行情况SELECT * FROM USER_JOBS。当自动执行的作业错误超过16 次,系统将该作业标记为坏,14.触发器:是一个 PL/SQL 过程,与一个表相关联,当向一个表发出SQL 语句满足某一触发器的触发条件时,系统便自动执行触发器的触发体。一个表可以有多个触发器建立触发器: CREATE OR REPLACE TRIGGER <触发器名 > 触发条件触发体CREATE OR REPLACE TRIGGER delete

35、_commod_xstm1after delete on commod_xstm1 for each rowbegindelete from qt_commod where code=:old.xstm and dptm = :old.dptm。delete from commod_xstm2 where xstm=:old.xstm 。end。/( 1) 触发时间 BEFORE 、 AFTER( 2)触发事件INSERT 、 UPDATE 、 DELETE( 3)触发子类型行触发( ROW)和语句触发(STATEMENT ),行触发的 UPDA TE触发器可以指定更新的字段,当对制定的字段进

36、行更新时触发该触发器,例:CREATE OR REPLACE11/28TRIGGER "UPDATE_COMMOD_XSTM1" AFTER UPDATE OF "DPTM", "GZ", "HL"ON"DBAUSERMCHT"."COMMOD_XSTM1" REFERENCING OLD AS OLD NEW ASNEWFOR EACH ROWdeclarevcode varchar2(13) 。vdzxlvarchar2(15)。vpp varchar2(15) 。vpp

37、namevarchar2(30) 。begin过程体end;/( 4)触发器关键值有两个关键值分别对应被触发行中的老表值和新表值用OLD和NEW 来表示, insert 老表值为 NULL , delete 新表值为 NULL ,只有 update 才同时存在新老表值。15.游标:大型数据库没有记录的的概念,要想实现对符合条件的指定数量的数据记录进行操作,需要用到游标CREATE OR REPLACE PROCEDUREsp_cwzzpz_rowno(V_FTransID IN varchar2)ASCURSOR cur_cwzz_fnum ISSELECT distinct fnum FRO

38、M CWZZ_pzWHERE FTransID=V_FTransID order by fnum。CURSOR cur_cwzz(V_FNUM varchar2) ISSELECT * FROM CWZZ_PZWHERE FTransID=V_FTransIDand Fnum=V_FNUMorder by fdc desc,facctid,fobjid1forupdate。lrowinteger。lfnuminteger。row_cwzzcwzz_pz%rowtype 。BEGINOPEN cur_cwzz_fnum 。LOOPFETCH cur_cwzz_fnum INTO lfnum。EX

39、IT WHEN cur_cwzz_fnum%NOTFOUND OR cur_cwzz_fnum%NOTFOUND IS NULL。lrow:=0 。OPEN cur_cwzz(lfnum) 。LOOPFETCH cur_cwzz INTO row_cwzz。EXIT WHEN cur_cwzz%NOTFOUND OR cur_cwzz%NOTFOUND IS NULL。update cwzz_pz set FENTRYID=lrow where current of cur_cwzz。lrow:=lrow+1 。END LOOP 。12/28close cur_cwzz 。END LOOP 。

40、close cur_cwzz_fnum 。COMMIT 。END 。/13/28四、数据库的基本维护是 SGA(系统全局区 ):是一个分配给 oracle 的包含一个 oracle 实例的数据库的控制信息的内存断,它主要包括:数据库高速缓存、重演日志缓存、共享池、数据字典缓存等SGA= ( db_block_buffers*blocksize)+(shared_pool_size+large_pool_size+java_pool_size+log_buffers)+1MB理论上 SGA可占 OS系统物理内存的1/2 1/3 ,我们可以根据需求调整我推荐 SGA=0.45*(OS RAM)假设

41、服务器运行版本 , OS系统内存为2G MEM, db_block_size是 8192 bytes,除了运行ORACLE数据库外 ,没有其它的应用程序或服务器软件.这样 SGA合计约为921M ( 0.45*2048M ),设 shared_pool_size 250M (250*1024*1024 bytes)设 database buffer cache 620M (79360*8192 bytes)log_buffer = 524288large_pool_size = 31457280#30Mjava_pool_size = 20971520#20Msort_area_size =

42、524288# 512k (65k-2M)sort_area_retained_size = 524288# MTS 时 sort_area_retained_size = sort_area_size1. 初始化参数的说明db_name = "hdqt_db"数据库的名字instance_name = hdqt实例名service_names = hdqt_db 服务名db_files = 1024数据库文件的最大允许数目control_files = ("d:hdqtctrlfilecontrol01.ctl", "d:hdqtctrlfi

43、lecontrol02.ctl","d:hdqtctrlfilecontrol03.ctl")控制文件存放路径从 oracle8 开始,控制文件还存储数据库恢复信息。open_cursors = 100( 1)打开光标数( 2)这个参数可以同时被每个用户进程拥有,这个参数的最大值依操作系统不同而不同。( 3)在创建一个包含很多表的合成视图时,如果此参数很小,则视图创建会不成功。max_enabled_roles = 30 最大允许的角色数db_file_multiblock_read_count = 8数据文件每次读取的块数db_block_buffers = 3

44、000(1)数据高速缓冲区(2)访问过的数据都放在这一片内存区域,该参数越大, Oracle 在内存中找到相同数据的可能性就越大,也即加快了查询速度。14/28( 3) db_block_buffers 以块为单位,假如 DB_BLOCK_SIZE=2K ,db_block_buffers=3200 ,则占用内存 =3200*2K=6400K 。( 4)该参数越大越好但不要超过系统内存的一半以下的语句用于查询数据缓冲区的命中率(0-1)1 是最理想的至少要在0.95 以上,如较低应该增加数据缓冲区的大小SELECTROUND( 1 -( SUM(DECODE( NAME, 'physi

45、calreads', value, 0)/(sum(decode(NAME, 'dbblockgets', value, 0)+ sum(decode(name , 'consistent get', value, 0),2)fromv$sysstatshared_pool_size = 8780992( 1) SQL 共享缓冲池( 2)该参数是库高速缓存和数据字典的高速缓存。( 3)该参数设置的太小回严重影响数据库的性能,出现无效的单元被调用提示( 4)单位为字节,大小不要超过系统内存的一半。large_pool_size = 614400大池分配堆的

46、大小java_pool_size = 0log_checkpoint_interval = 10000log_checkpoint_timeout = 1800processes = 50 同时连接的进程数,并发连接到ORACLE 上操作系统进程的的最大数量最大值 4322parallel_max_servers = 5 用户事例的查询服务器的最大数量log_buffer = 32768 重演日志缓冲区(128K*CPU个数 ):指明数据库的域名 (默认的是 WORLD) ,这里可以用您公司的域名。 global_names = true 如果“数据库链路名”和它所要连接的“数据库”拥有相同的

47、名字,则设置 global_names = TRUE ,否则,设置global_names = FALSE ,设置成true 时据库名:db_name+"."+db_domainoracle_trace_collection_name = ""user_dump_dest = d:hdqtudump 服务器跟踪日志文件存放路径db_block_size = 8192(1)数据库块大小(2) Oracle 默认块为 2KB ,太小了,因为如果我们有一个8KB 的数据,则2KB 块的数据库要读 4 次盘,才能读完,而 8KB 块的数据库只要1 次就读完了,大

48、大减少了I/O 操作。( 3)数据库安装完成后,就不能再改变db_block_size 的值了,只能重新建立数据库并且建库时,要选择手工安装数据库。remote_login_passwordfile = exclusive密码文件的检查方式: none:导致好像 oracle 的密码文件不存在,即不安全的连接,不允许授权的连接 ,该选项为默认值。Exclusive :密码文件只用于一个数据库Shared:密码文件用于多个数据库os_authent_prefix = ""外部身份验证distributed_transactions = 10数据库服务版本(要创建函数索引该参数

49、参数必须选中)Query_rewrite_enabled=true (要创建函数索引该参数参数必须选中)15/28Query_rewrite_integrity=trusted (要创建函数索引该参数参数必须选中)sort_area_size = 65536 排序区,当创建已经有数据的表的索引时必须使用排序空间,在专用服务器环境中,由 SORT_AREA_SIZE 参数决定的排序区域是进程全局区Process Global Area (PGA)内 UGA的一部分。在一个共享的服务器环境中,排序区域位于共享池内sort_area_retained_size = 65536参数决定排序区域最终缩小到的大小,以便将内存释放回Oracle 服务器处理的用户全局区(User Global Area, UGA )。如果排序区域太小以至于满足不了排序操作要求,那么数据就会被分成更小的块,叫做排序分段(sort runs ),并且被存储在位于硬盘上的临时排序段中。这种折衷办法会影响硬盘的整体I/Ojob_queue_processes=7 数据库实例中作业队列进程的数量, 系统缺省值为 0,正常定义范围为 036,根据任务的多少,可以配置不同的数值job_queue_interval = 60 单位:秒定义系统每隔 N 秒唤醒该进程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论