




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库基本知识目录一、几种常见数据库介绍及比较 二、 Oracle 安装及注意事项 : 三、数据库的基本元素 四、数据库的基本维护、几种常见数据库介绍及比较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%)二、Oracle安装及注意事项:作为数据库服务器坚决不要安装金山毒霸和KV3000等防毒软件,可以使用NU
3、20001. oracle 常见版本:7.34,8.05,8l,9l,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和7.34同时安装需要修改 8I的
4、此项选项 为一个其他的名字不能相同如叫8I等,8I安装后需要修改相应的注册表的字符集HKEY_LOCAL_MACHINESOFTWAREORACLE的 NLS_LANG 的值为:AMERICAN_AMERICA.WE8ISO8859P1 ,否则sql语句查询的结果为乱码。安装过程一 般选择自定义安装,不要在建立相应的系统默认的数据库。4. 创建数据库 7.34(实例管理器 NT Instanee Manager),81(数据库助手 Database Configuration Assista nt)5.书写相应的参数后选择 advaneed (高级)进入高级设置,选择OK进入数据库创建过程6.
5、 设置相应的参数后选择 0K返回7. 选择0K进行创建数据库8. 创建数据库注意事项:7.34初始化文件一定要在制定的目录下存在并且相应的文件路径一定要存在。并且初始化文件的回滚段一定要注释掉,等建立晚回滚段后在放开并且重新启动数据库后生效。81可以一切都不存在,并且自动创建30个回滚段 SYSTEM和RBS0-RBS28 ,安装完成后运行 CATALOG .SQL和CATPROC.SQL进行重新创建系统的同 义词和过程函数等三、数据库的基本元素1. 表空间: 相当于其他数据库的数据设备,用来存放数据库中其他存储元素如:表、索引、回滚段等常用的表空间:system (系统表空间,用于存储系统表
6、、用户信息、过程、包、用户自定义函数、同义词、序列等,只要定义和创建将不再变化)、temp_spc (临时表空间,在进行数据查询时使用,尤其是使用子查询)、data_spc(数据表空间,用于存储用户表等数据信息)、indx_spc (索引表空间,用于存储用户表索引)、rbsg_spc (回滚表空间,用于存放回滚段)可以想象为: 用户数据存储的物理载体(1)创建表空间 create tablespace temp_spcdatafile d:mchtdatatempmcht.odb size 100M AUTOEXTEND OFF|ON( 可以依次有多个 数据文件 ,文件名最好用 1, 2, 3
7、,等划分以便容易识别,中间用逗号分割 )DEFAULT STORAGE (INITIAL 64K 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 size 100M online 。 建议:将表空间存放在不同的磁盘上,平衡 I/O2.
8、 用户:数据库在使用的过程中, 都要以某用户身份进行登陆, 然后在进行此用户下的工作, 相当于数据库管理员,拥有不同的权限:创建数据库后默认的三个用户:in ternal(超级用户,在用户管理中不可见 )密码为建库时的密码,system密码为manager, sys用户密码为change_onnstall,可以想象为: 用户数据存储的逻辑载体( 1) 删除用户drop user dbauserpszx cascade。删除用户后, 属于该用户的所有数据均被删除 如: 表、 索引、 序列、 过程、 函数、 包等 一定要注意另加小心( 2) 创建用户create user dbauserpszx
9、identified by futurepszxDEFAULT TABLESPACE data_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_spc QUOTA UNLIMITED ON pers_spc 。( 3)分配权限角色GRANT DBA to dbauserpszx 。GRA
10、NT SELECT ANY TABLE TO dbauserpszx 。GRANT INSERT ANY TABLE TO dbauserpszx 。GRANT DELETE ANY TABLE TO dbauserpszx 。GRANT UPDATE ANY TABLE TO dbauserpszx 。GRANT SELECT ANY SEQUENCE TO dbauserpszx 。GRANT CREATE USER TO dbauserpszx。GRANT CREATE ANY TABLE TO dbauserpszx 。GRANT CREATE ANY SEQUENCE TO dbau
11、serpszx 。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 dbauserpszx 。3. 回滚段(1)创建回滚段create public
12、 rollback segme nt fpos_rs2tablespace rbsg_spcstorage (in itial 1M next 1M optimal 10M mi nexte nts 2 maxexte nts 500)。注意:optimal回滚断最佳的大小为减少系统资源竞争,改善系统性能一般采用多个回滚段,当多个事务并发进行时将产生多个回滚信息,系统事务对回滚段的调用是系统随机的除非特殊制定SETTRANSACTION USE ROLLBACK SEGMENT fpos_rsl 。(2)回滚段状态(在线 online,不在线offline )只有在线的回滚段段系统事务方可调用
13、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,fpos_rs11,fpos_rs12,fpos_rs13,fpos_rs14,fpos_rs15,fpos_rs16,fpos_rsl)4. 数据库连接(DB_LINK )实现数据库的互联(1)数据库的被连接端必须有相应的用户存在(2)数据库的主联接端建立相应的连接对象
14、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. 表:数据库存放用户数据的最主要的方式(1) 创建表CREATE TABLE APP_BINARY(
15、APPCHAR(2) NOT NULL,MODULEVARCHAR2(12) NOT NULL,SEQNONUMBER NOT NULL,LENGTHNUMBER,BINLONG RAW,CONSTRAINT PK_APP_BINARY PRIMARY KEY(APP,MODULE,SEQNO) )TABLESPACE DA TA_SPCPCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255STORAGE(INITIAL 24M NEXT 64K MINEXTENTS 1 MAXEXTENTS 505 PCTINCREASE 0)ENABLE CONSTRA
16、INT PK_APP_BINARY USING INDEXPCTFREE 10 INITRANS 2 MAXTRANS 255TABLESPACE INDX_SPCSTORAGE(INITIAL 80K NEXT 64K MINEXTENTS 1 MAXEXTENTS 505 PCTINCREASE 0) 。说明: PCTFREE10 当表的数据块的使用超过 90是自动使用下一个数据块PCTUSED 40 当表的数据块的使用小于 40 时系统不会分配新的数据块(大将会节省空 间,增大 insert 和 upate 的系统消耗)INITIAL 初始空间大小NEXT 下一扩展空间的大小MINEXT
17、ENTS 初始分配的区域数目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 CONSTRAINT 主键名 PRIMARY ( 字段,);7) 分区建表( 8 的新功能)
18、分区是将一个对象的数据分开存储的一种机制,减少磁盘 I/O 将一个较大的表中数据分成一些较小的表CREATE TABLE PERSONS(NO NUMBER PRIMARK KEY,NAME V ARCHAR2(20),SEX CHAR(1),BIRDAY DA TE)PARTITION BY RANGE(NO)小于 NO98010 时用 PART1小于 NO98020 时用 PART2小于 NO98030 时用 PART3(PARTTION PART1 V ALUES LESS THEN (98010) TABLESPACE SZJ1,PARTTION PART2 V ALUES LESS
19、THEN (98020) TABLESPACE SZJ2,小于 NO98030 时用PARTTION PART3 V ALUES LESS THEN (98020) TABLESPACE SZJ3,PARTTION PART4 VALUES LESS THEN (MAXV ALUE)PART4)。查询 SELECT * FROM PERSONS(PART2,PART3) WHERE NO BETWEEN 98015AND98025 一般分区的表空间建立在不同的磁盘上( 8) 常用字段数据类型CHAR 最长 2000BVARCHAR2(8I 、9I 将采用 VARCHAR)4000B(7.34
20、2000B)LONG 变长字符 2GBNUMBER(s ,d) 数字 最长 38 位DATE 日期BLOB 二进制大集 4GB(RAW,LONG RAW 将在未来版本中淘汰)ROWID 物理地址类型( 9) 回滚(回退) COMMIT 和提交 ROLLBACK :我们对数据库的操作是由事务来控 制管理的,在一个事务中,应该及时对所作的操作进行提交,以方式操作无效, 也可取消非法的操作数据库事务:是一个逻辑的工作单元 回滚和提交到上次回滚或提交点的事务操作 注意事项:有一些特殊的事务是回自动提交(隐式提交) ,在操作的过程种一定注意:QUIT、EXIT、CREATE TABLE、ALTER TA
21、BLE、DROP TABLE、CREATE VIEW 、 ALTER VIEW 、 DROP VIEW 、 GRANT 、 REVOKE 、 CONNECT 、 DISCONNECT 、 AUDIT( 审计 )、 NOAUDIT.( 10) 清空表: TRUNCATE TABLE 表名; 注意事项:清空表的操作不能回滚,所要清空的表不能被其他事务锁定,不能清 空试图和同义词,清空表不触发触发器。6. 索引,为增加查询的速度,会影响数据的更新负荷(要适度的建立索引)(1) 创建索引CREATEINDEX INDEX_JXC_COM_DAY_TRANSID ONJXC_COM_DAY(TRANS_
22、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 参数则可以联机创建索引了)(2) 查询中使用索引, oracle
23、自动分析语句使用最佳的索引,主要依据 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,YYYYMMDD)GROUP BY JMDMFID具体的查询语句用 PL/SQL的EXPLAN PL
24、AN WINDOW进行查询索引的使用情况,大数据量的表一定注意索引的使用情况强制使用索引时尽量使用 /*+INDEX (JXCMFRAMEDAY IDX_JMD_MFDATE) */ 避免所选择的语句被注释并且多表联立(或通过同义词访问)时尽量强制使用索引多个表的索引使用格式 /*+ INDEX(表1 索引1) INDEX(表2 索引2)*/(3) 分区局部索引CREATE INDEX PERSONS_NOON PERSONS(NO)LOCAL(PARTION PART1 TABLESPACE SZJ1,PARTION PART2 TABLESPACE SZJ2,PARTION PART3 T
25、ABLESPACE SZJ3, PARTION PART4 TABLESPACE SZJ4)。(4) 分区全局索引CREATE INDEX PERSONS_NOON PERSONS(NO)GLOBAL PARTION BY RANGE(NO)(PARTION PART1 V ALUES LESS THEN (98010) TABLESPACE SZJ_INDEX1, PARTION PART2 V ALUES LESS THEN (98020) TABLESPACE SZJ_INDEX2, PARTION PART3 V ALUES LESS THEN (98030) TABLESPACE S
26、ZJ_INDEX3, PARTION PART4 VALUES LESS THEN (MAXV ALUE) TABLESPACE SZJ_INDEX4)。(5) 创建索引注意事项:索引的表不能被其他事务锁定,8I支持ORACLE系统函数的结果当成字段进行索引。7.34不支持7. 视图:是包含一个或多个表(视图)中数据的简化描述执行一个查询结果,并将它看成一个表(虚拟表)例:CREATE VIEW SYS_GZ ASSelectCODE,NAME,SJCODE,ISSPB,ISWSFB,FLAG ,TYPE,GDFL,BDFL,JHLRL,JHZZTS,Y YMJ,SEQNO,STATUS,IS
27、ZG ,ZGGYS,GYSSEQ,SYSREG,SUBJECT,ISXH,ISCS,ISMGYS FROM sys_gljg WHERE flag=Y AND fgljgjcbm(code,1)=fgetmc 。Oracle8I 支持实例化视图 CREATE MA TERIALIZED VIEW *TABLESPACE DA TA_SPCPCTFREE 10 INITRANS 2 MAXTRANS 255STORAGE(INITIAL 20M NEXT 5M MINEXTENTS 1 MAXEXTENTS 505 PCTINCREASE 0)。materialized view还需要另外的写盘
28、时间8. 同义词:减少不同用户间数据访问的复杂性,增加远程分布数据的透明度和安全层没有创建同义词时 FUTUREPOS用户在对DBAUSERMCHT 用户中的表SYS_GLJG进行 访问的时候 SELECT * FROM DBAUSERMCHT.SYS_GLJG 。 建立同义词之后可以自由 访问CREATE 【PUBLIC 】SYNONYM PSZX_SYS_GLJG FORSYS_GIJGPSZX_DB.WORID 。创建了一个全局同义词。 那些可以建立同义词:表,视图,序列,过程,函数,建立了数据库链接之后的以上内容 均可9. 序列:多用户产生的唯一整数的数据库对象,用户可用序列自动产生主
29、关键字的值。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 返回刚才的值不加 110. 自定义函数, 编译后可想 ORACLE 自己的函数一样使用,函数必须有返回值,函数不能 更新数据表的内容例: CREATE OR REPLACEFUNCTION f0
30、Null (n1 IN NUMBER)RETURN NumberASBEGINIF n1=0 THENReturn NULL 。ELSEReturn n1 。END IF 。END 。/11. 过程:用来完成用户一系列的操作,过程可以调用其他的过程、函数、包等。CREATE OR REPLACEPROCEDURE sp_cmd_com_sc(v_code in char)ASlbz char(1) 。ln number 。BEGIN-调用删除编码过程delete from qt_commod where code=v_mit。-是否日终处理命令SELECT RTRIM(LTRI
31、M(V ALUE) 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| 。exception when no_data_found thenINSERT INTO pszx_command_rzVALUES(seq_pszx_command_rz.NEXTV AL,SYSDATE,SCCOM,|v_code|) 。commit 。 return 。end。end if。sp_scspbm
32、(v_code。)commit。EXCEPTION WHEN OTHERS THEN sp_ht_error(r,sp_cmd_com_sc,v_code,sqlcode,sqlerrm) 。 raise。END sp_cmd_com_sc。/12. 包:数据库中的实体,包含一系列的公共常量、变量、数据类型、光标(游标)过程及 函数的定义,具有模块化的优点,包包括:包头和包体13. JOB:为系统设定定时执行的过程建立 JOBvariable jobno number 。BEGIN dbms_job.submit(:jobno,sp_pszx_rz_job 。 ,TRUNC(sysdate)+
33、1.21,TRUNC(SYSDATE+1)+0.21) 。END。/print jobno 。/手工执行 JOB: EXECUTE DBMS_JOB.RUN(JOB 号); 删除 JOB:EXECUTE DBMS_JOB.REMOVE(JOB 号 );查询 JOB 号及其实行情况 SELECT * FROM USER_JOBS 。 当自动执行的作业错误超过 16 次,系统将该作业标记为坏 ,14. 触 发器: 是一个 PL/SQL 过程,与一个表相关联,当向一个表发出 SQL 语句满足某一 触发器的触发条件时,系统便自动执行触发器的触发体。 一个表可以有多个触发器 建立触发器: CREATE
34、OR REPLACE TRIGGER 触发条件 触发体 CREATE OR REPLACE TRIGGER delete_commod_xstm1after deleteon 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) 触发子类型 行触发
35、(ROW)和语句触发(STATEMENT ),行触发的 UPDATE 触发器可以指定更新的字段,当对制定的字段进行更新时触发该触发器,例:CREATE OR REPLACETRIGGER UPDATE_COMMOD_XSTM1 AFTER UPDATE OF DPTM, GZ, HLON DBAUSERMCHT.COMMOD_XSTM1 REFERENCING OLD AS OLD NEW ASNEWFOR EACH ROW declarevcode varchar2(13) 。vdzxl varchar2(15) 。vpp varchar2(15) 。vppnamevarchar2(30)
36、。begin过程体end;/( 4) 触发器关键值 有两个关键值分别对应被触发行中的老表值和新表值用 OLD 和 NEW 来表示, insert 老表值为 NULL , delete 新表值为 NULL ,只有 update 才同 时存在新老表值。15.游 标:大型数据库没有记录的的概念, 要想实现对符合条件的指定数量的数据记录进行 操作,需要用到游标CREATE OR REPLACE PROCEDURE sp_cwzzpz_rowno(V_FTransID IN varchar2)ASCURSOR cur_cwzz_fnum ISSELECT distinct fnum FROM CWZZ_
37、pzWHERE FTransID=V_FTransID order by fnum 。CURSOR cur_cwzz(V_FNUM varchar2) ISSELECT * FROM CWZZ_PZWHERE FTransID=V_FTransID and Fnum=V_FNUM order by fdc desc,facctid,fobjid1 for update。lrowinteger 。lfnuminteger 。row_cwzz cwzz_pz%rowtype 。BEGINOPEN cur_cwzz_fnum 。LOOPFETCH cur_cwzz_fnum INTO lfnum 。
38、EXIT 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 。close cur_cwzz 。END LOOP 。
39、close cur_cwzz_fnum 。COMMIT 。END。/四、数据库的基本维护 是 SGA( 系统全局区 ):是一个分配给 oracle 的包含一个 oracle 实例的数据库的控制信 息的内存断,它主要包括:数据库高速缓存、重演日志缓存、共享池、数据字典缓存等SGA= ( db_block_buffers * block size)+(shared_pool_size+large_pool_size+java_pool_size +log_buffers)+1MB理论上SGA可占OS系统物理内存的1/2 1/3,我们可以根据需求调整我推荐 SGA=0.45*(OS RAM)假设服务
40、器运行 ORACLB1.X 版本,OS系统内存为 2G MEM,db_block_size 是8192 bytes,除了运行ORACLED据库外,没有其它的应用程序或服务器软件这样 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# 30 M java_pool_size = 20971520# 20 M sort_
41、area_size = 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:hdqtctrlfilecontrol02
42、.ctl, d:hdqtctrlfilecontrol03.ctl) 控制文件存放路径 从 oracle8 开始,控制文件还存储数据库恢 复信息。open_cursors = 100(1 )打开光标数(2) 这个参数可以同时被每个用户进程拥有,这个参数的最大值依操作系统不同而不同。(3) 在创建一个包含很多表的合成视图时,如果此参数很小,则视图创建会不成功。 max_enabled_roles = 30 最大允许的角色数db_file_multiblock_read_count = 8 数据文件每次读取的块数db_block_buffers = 3000(1 )数据高速缓冲区(2) 访问过的数
43、据都放在这一片内存区域,该参数越大,Oracle 在内存中找到相同数据的可能性就越大,也即加快了查询速度。(3)db_block_buffers 以块为单位,假如 DB_BLOCK_SIZE=2K ,db_block_buffers=3200 ,则 占用内存 =3200*2K=6400K 。(4)该参数越大越好但不要超过系统内存的一半 以下的语句用于查询数据缓冲区的命中率(0-1)1 是最理想的至少要在 0.95 以上,如较低应该增加数据缓冲区的大小SELECT ROUND( 1 -( SUM(DECODE(NAME, physical reads , value , 0)/( sum(dec
44、ode( NAME, db block gets , value , 0)+ sum(decode( name, consistent get , value , 0), 2) from v$sysstat shared_pool_size = 8780992(1) SQL 共享缓冲池 (2)该参数是库高速缓存和数据字典的高速缓存。 (3)该参数设置的太小回严重影响数据库的性能,出现无效的单元被调用提示(4)单位为字节,大小不要超过系统内存的一半。large_pool_size = 614400 大池分配堆的大小 java_pool_size = 0 log_checkpoint_interv
45、al = 10000 log_checkpoint_timeout = 1800 processes = 50 同时连接的进程数,并发连接到 ORACLE 上操作系统进程的的最大数量 最大 值 4322 parallel_max_servers = 5 用户事例的查询服务器的最大数量 log_buffer = 32768 重演日志缓冲区 (128K*CPU 个数 )db_domain = :指明数据库的域名 ( 默认的是 WORLD) ,这里可以用您公司的域名。 global_names = true 如果“数据库链路名”和它所要连接的“数据库”拥有相同的名字,则设置
46、global_names = TRUE ,否则,设置 global_names = FALSE ,设置成 true 时据库名: db_name+.+db_domain oracle_trace_collection_name = user_dump_dest = d:hdqtudump 服务器跟踪日志文件存放路径 db_block_size = 8192(1)数据库块大小(2)Oracle 默认块为 2KB ,太小了,因为如果我们有一个 8KB 的数据,则 2KB 块的数据库 要读 4 次盘,才能读完,而 8KB 块的数据库只要 1 次就读完了,大大减少了 I/O 操作。 (3)数据库安装完成
47、后,就不能再改变db_block_size 的值了,只能重新建立数据库并且建库时,要选择手工安装数据库。remote_login_passwordfile = exclusive 密码文件的检查方式:none:导致好像 oracle的密码文件不存在,即不安全的连接,不允许 授权的连接 ,该选项为默认值。Exclusive :密码文件只用于一个数据库Shared :密码文件用于多个数据库 os_authent_prefix = 外部身份验证distributed_transactions = 10 compatible = 8.1.0 数据库服务版本(要创建函数索引该参数参数必须选中) Quer
48、y_rewrite_enabled=true (要创建函数索引该参数参数必须选中)Query_rewrite_integrity=trusted (要创建函数索引该参数参数必须选中) sort_area_size = 65536 排序区,当创建已经有数据的表的索引时必须使用排序空间, 在专用服 务器环境中,由 SORT_AREA_SIZE 参数决定的排序区域是进程全局区 Process Global Area (PGA) 内 UGA 的一部分。在一个共享的服务器环境中,排序区域位于共享池内sort_area_retained_size = 65536 参数决定排序区域最终缩小到的大小,以便将内
49、存释放回Oracle 服务器处理的用户全局区( User Global Area ,UGA )。如果排序区域太小以至于满足不了排序操作 要求,那么数据就会被分成更小的块,叫做排序分段(sort runs ),并且被存储在位于硬盘上的临时排序段中。这种折衷办法会影响硬盘的整体 I/Ojob_queue_processes=7 数据库实例中作业队列进程的数量, 系统缺省值为 0,正常定义范围为036,根据任务的多少,可以配置不同的数值job_queue_interval = 60 单位:秒定义系统每隔 N 秒唤醒该进程一次。 系统缺省值为 60 秒,正 常范围为 13600 秒。事实上,该进程执行
50、完当前任务后,就进入睡眠状态,睡眠一段时间 后,由系统的总控负责将其唤醒。open_links 同时打开的链接数dml_locks(1)用户一次可对表设定锁的最大数目(2) 如果有三个用户修改6个表,则需18个DML锁来实现并行操作,如果设定DML_LOCKS 不够大,操作时执行将中断,你可以通过你的应用程序的操作规模和最大的并 行使用的用户数来估算系统所需要的 DML_LOCKS 的值, 但该值的大小对数据库的其他性能 没有影响,所以一般都把它设得很大,远超过实际中可能达到的值,如果在系统运行中经常 发生表锁死的现象,就应该考虑加大该值。dbwr_io_slaves 后台写进程数 log_a
51、rchive_start=true 开启自动归档2. 数据库的手工启动7.34 运行程序 SVRMGR23,8I 运行 SVRMGRL SQLCONNECT INTERNAL/*MCHT_DB ; ORACLE 9i 用 sqlplus 连接 CONNECT / AS SYSDBA 。 SQLSTARTUP PFILE=D:MCHTPFILEINITMCHT.ORA OPEN 前提条件:在系统的服务中相应的数据库的实例一定要启动,服务不一定启动。 启动的过程中会有数据库启动的相应的提示, 如果数据库在启动的过程中存在启动不起来 的情况也会有相应的提示,如:日志文件错误、数据文件错误、参数配置错
52、误、控制文件 错误等由于系统参数配置、 数据库日志文件损坏、 控制文件损坏、 数据库数据文件损坏等原因造 成的数据库不能启动需要用手工启动的方式进行启动数据库,查看出错的原因并修复。3. 数据备份方式(1) 导出备份,将数据库中的内容全部导出来形成数据文件进行工作站备份 可以查看帮助 EXP73 HELP=YEXP73(EXP) DBAUSERMCHT/FUTUREMCHTMCHT_DB FULL=Y|NBUFFERS=10000 OWNER=DBAUSERMCHT FILE=MCHT.DMP TABLES= 表名ROW=Y|N LOG=MCHT.LOG 导入 IMP73(IMP) 可以查看帮
53、助 IMP73 HELP=YIMP73(IMP) DBAUSERMCHT/FUTUREMCHTMCHT_DB FULL=Y|N BUFFERS=10000 FROMUSER= 用户名 TOUSER= 用户名 FILE=MCHT.DMPTABLES= 表名 ROW=Y|N LOG=MCHT.LOG IGNORE=Y|N CONSISTENT=Y( 默认 N) 按一致方式导出(不能在增量导出中使用) INCTYPE 导出类型 INCREMENTAL( 增量 ) CUMULATIVE( 积累 ) COMPLETE( 完全 ) DIRECT=Y(8.0.X 不能导出包含 LOB BFILE REF ,
54、但是 oracle8I 已经支持了 ) 直接路 径大大提高导出速度Filesize (81新下特性)=2G规定导出文件的大小(2) 停止服务后,将数据库的整个目录进行复制备份 停止启动备份的过程可以写一个批处理 BF.CMD c:winntsystem32net stop oracleservicemcht /y c:winntsystem32net stop oracleservicemcqt /y c:winntsystem32net stop oracleTNSlistener Xcopy d:pszx d:backuppszx /S /V Xcopy d:mcht d:backupmc
55、ht /S /V Xcopy d:mcqt d:backupmcqt /S /V rem 磁带备份REM c:winntsystem32ntbackup.exe backup d:pszx d:mcht d:mcqt /d BACKUP /hc:on /t copy /l c:logbackup.log /tape:0 c:winntsystem32net start oracleTNSlistener c:winntsystem32net start oraclestartmcqt c:winntsystem32net start oraclestartmchtat 03:00 /inter
56、active /every:M,T,W,Th,F,S,Su d:bfbf.cmd 在每天的凌晨 3 点执行 bf.cmd 中的备份内容at id /delete 删除计划调度队列中的指定的事务NT 需要启动 SCHEDUCLE 计划任务调度服务。 W2K 不需要, NT 下的 AT 命令所执 行的批处理文件中不能访问网络盘, W2K 下可以。4. 过程加密ORACLE 提供数据加密技术,能够对用户的自定义函数、过程、包的原始数据文件进行 加密处理, 从而有效的保证软件的版权, 但是不能对触发器进行加密, 已经加密的文件不 能解密WRAP23(WRAP) INAME= 输入的文件名 .SQL ONAME= 输出的文件名 .BSQ 用输出的文件名.BSQ文件中的语句所建立的过程、包、函数等在数据库中均是加密 的。5.数据库的侦听(Listener.ora
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西交通职业技术学院《建筑空间与构造》2023-2024学年第二学期期末试卷
- 陕西国际商贸学院《结构力学(I)》2023-2024学年第一学期期末试卷
- 陕西师范大学《高级俄语一》2023-2024学年第一学期期末试卷
- 陕西机电职业技术学院《典型企业云平台搭建》2023-2024学年第二学期期末试卷
- 陕西电子信息职业技术学院《社会工作师职业辅导》2023-2024学年第二学期期末试卷
- 陕西省安康市2025届高三元月三诊一模历史试题文试题含解析
- 陕西省榆林市米脂县2025届小升初数学重难点模拟卷含解析
- 陕西省西安市东仪中学2025届三校初三联合考试物理试题含解析
- 搜狗知识图谱
- 陕西省铜川一中2025届高三期末试题含解析
- 4.1 公民基本义务课件 2024-2025学年统编版道德与法治八年级下册
- 小生生科普知识讲座:航天探索
- 2025广德辅警考试题库
- DeepSeek在海洋资源开发中的应用潜力
- 2025年供水安全考试试题及答案
- 腹外疝围手术期护理
- 课件:德国鲁尔区的工业遗产与转型
- 中国近现代史纲要学习心得体会对青少年成长的影响
- 新租赁准则培训课件
- 2025年河南经贸职业学院单招职业技能测试题库带答案
- 接触网工职业技能鉴定题库(技师)题库
评论
0/150
提交评论