oracle数据库基本知识重点

上传人:jin****ng 文档编号:110347709 上传时间:2022-06-18 格式:DOC 页数:28 大小:348KB
返回 下载 相关 举报
oracle数据库基本知识重点_第1页
第1页 / 共28页
oracle数据库基本知识重点_第2页
第2页 / 共28页
oracle数据库基本知识重点_第3页
第3页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
数据库基本知识目录一、几种常见数据库介绍及比较二、Oracle安装及注意事项:三、数据库的基本元素四、数据库的基本维护一、几种常见数据库介绍及比较1. 几种常见关系性数据库:IBM DB2, ORACLE. MS SQL, SYBASE, Informix, MySQL2. 来自互联网方面的几种评价:MS SQL : 秀才-把别人写的书看懂成为自己的东西,衣饰一般都比较考究,但是只懂一国 语言,而且喜欢贬低别人。SYBASE : 农夫-干活不要命,大有拼命三郎的气势,但是感觉总是差点文化涵养。养鱼, 养猪都可以但是却忘了打打广告。ORACLE: 将军-有大家风范,对秀才和农夫的争论不屑一顾。凡是有了战役舍我其谁。但 是别忘了还有的士兵也想当将军的。Informix:宰相-管你谁对谁错,反正我就是只顾一个皇帝UNIX,我的地位别人休想轻易替 代。My SQL: 韦小宝-我就是要在你们中间捣蛋,虽然年纪小,但是发育也很完善。大家都喜欢。3.2001年度全球数据库市场的份额:DB2占到了 34.6%(受收购Informix市场份额影响),Oracle 占 32%、微软占 16.4%、Sybase 占 2.6%、其他为 14.4%)二、Oracle安装及注意事项:作为数据库服务器坚决不要安装金山毒霸和 KV3000 等防毒软件,可以使用 NU20001. 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和7.34同时安装需要修改8I的此项选项 为一个其他的名字不能相同如叫 8I 等, 8I 安装后需要修改相应的注册表的字符集 HKEY_LOCAL_MACHINESOFTWAREORACLE 的 NLS_LANG 的 值 为 : AMERICAN_AMERICA.WE8ISO8859P1,否则sql语句查询的结果为乱码。安装过程一 般选择自定义安装,不要在建立相应的系统默认的数据库。4. 创建数据库 7.34(实例管理器 NT Instance Manager), 8I(数据库助手 Database Configuration Assistant)5.书写相应的参数后选择advanced (高级)进入高级设置,选择OK进入数据库创建过程6. 设置相应的参数后选择OK返回7. 选择 OK 进行创建数据库8. 创建数据库注意事项:7.34 初始化文件一定要在制定的目录下存在并且相应的文件路径一 定要存在。并且初始化文件的回滚段一定要注释掉,等建立晚回滚段后在放开并且重新启 动数据库后生效。 8I 可以一切都不存在,并且自动创建 30 个回滚段 SYSTEM 和RBS0-RBS28,安装完成后运行CATALOGSQL和CATPROC.SQL进行重新创建系统的同 义词和过程函数等三、数据库的基本元素1. 表空间:相当于其他数据库的数据设备,用来存放数据库中其他存储元素如:表、索引、 回滚段等常用的表空间:system (系统表空间,用于存储系统表、用户信息、过程、包、 用户自定义函数、同义词、序列等,只要定义和创建将不再变化)、temp_spc (临时表空 间,在进行数据查询时使用,尤其是使用子查询)data_spc(数据表空间,用于存储用户 表等数据信息)、indx_spc (索引表空间,用于存储用户表索引)、rbsg_spc (回滚表空间, 用于存放回滚段)可以想象为:用户数据存储的物理载体(1)创建表空间 create tablespace temp_spcdatafile d:mchtdatatempmcht.odb size 100M AUTOEXTEND OFFION(可以依次有多个 数据文件,文件名最好用 1, 2, 3,等划分以便容易识别,中间用逗号分割)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. 用户:数据库在使用的过程中,都要以某用户身份进行登陆,然后在进行此用户下的工作, 相当于数据库管理员,拥有不同的权限:创建数据库后默认的三个用户:internal超级用 户,在用户管理中不可见)密码为建库时的密码,system密码为manager, sys用户密码为 change_on_instal 1,可以想象为:用户数据存储的逻辑载体(1)删除用户drop user dbauserpszx cascade。 删除用户后,属于该用户的所有数据均被删除如:表、索引、序列、过程、函数、 包等一定要注意另加小心(2)创建用户create user dbauserpszx identified by futurepszxDEFAULT TABLESPACE data_spc TEMPORARY TABLESPACE temp_spc QUOTA UNLIMITED ON system(oracle 8 以后不再用) QUOTA UNLIMITED ON temp_spc QUOTA UNLIMITED ON rbsg_spc QUOTA UNLIMITED ON data_spc QUOTA UNLIMITED ON indx_spc QUOTA UNLIMITED ON pers_spc。(3)分配权限角色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。GRANT SELECT ANY SEQUENCE TO dbauserpszx。GRANT CREATE USER TO dbauserpszx。GRANT CREATE ANY TABLE TO dbauserpszx。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 dbauserpszx。3. 回滚段 (1)创建回滚段create public rollback segment fpos_rs2 tablespace rbsg_spc storage (initial 1M next 1M optimal 10M minextents 2 maxextents 500)。注意:optimal回滚断最佳的大小 为减少系统资源竞争,改善系统性能一般采用多个回滚段,当多个事务并发进行时 将产生多个回滚信息,系统事务对回滚段的调用是系统随机的除非特殊制定 SET TRANSACTION USE ROLLBACK SEGMENT fpos_rsl。(2)回滚段状态(在线online,不在线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) 数据库的被连接端必须有相应的用户存在(2) 数据库的主联接端建立相应的连接对象 CREATE PUBLIC DATABASE LINK pszx_db.worldCONNECT TO dblinkusr IDENTIFIED BY future19990501 USING pszx_db。删除数据库连接 DROP PUBLIC DATABASE LINK pszx_db .world 数据库连接建立之后可以对连接里的内容进行访问了SELECT * FROM SYS_GLJG FROM DBAUSETPSZX.SYS_GLJGPSZX_DB 如要屏蔽访问的负杂性可以创建同义词5. 表:数据库存放用户数据的最主要的方式( 1 ) 创建表CREATE TABLE APP_BINARY(APPCHAR(2) NOT NULL,MODULEVARCHAR2(12) NOT NULL,SEQNONUMBER NOT NULL,LENGTHNUMBER,BINLONG RAW,CONSTRAINT PK_APP_BINARY PRIMARY KEY(APP,MODULE,SEQNO)TABLESPACE DATA_SPCPCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255STORAGE(INITIAL 24M NEXT 64K MINEXTENTS 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 505 PCTINCREASE 0)。说明:PCTFREE10当表的数据块的使用超过90%是自动使用下一个数据块PCTUSED 40 当表的数据块的使用小于40时系统不会分配新的数据块(大将会节省空 间,增大 insert 和 upate 的系统消耗)INITIAL 初始空间大小NEXT 下一扩展空间的大小MINEXTENTS 初始分配的区域数目MAXEXTENTS 最大可分配的区域数目PCTINCREASE 数据段每个区域大小的增大比率(2) 删除表 DROP TABLE 表名;(3) 表改名 RENAME 表名 TO 新表名(也可以修改索引)(4) 增加列ALTER TABLE表名ADD字段名 类型);(5) 删除例ALTER TABLE表名DROP字段名;7.34不能删除列,8I的初始化参数 compatible 时才可删除列( 6) 增加主键 ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY (字 段,) ;(7) 分区建表(8 的新功能)分区是将一个对象的数据分开存储的一种机制,减少磁 盘 I/O 将一个较大的表中数据分成一些较小的表CREATE TABLE PERSONS(NO NUMBER PRIMARK KEY,NAME VARCHAR2(20),SEX CHAR(1),BIRDAY DATE)PARTITION BY RANGE(NO)(PARTTION PART1 VALUES LESS THEN (98010) 小于 NO98010 时用 PART1 TABLESPACE SZJ1,PARTTION PART2 VALUES LESS THEN (98020) 小于 NO98020 时用 PART2 TABLESPACE SZJ2,PARTTION PART3 VALUES LESS THEN (98020) 小于 NO98030 时用 PART3 TABLESPACE SZJ3,PARTTION PART4 VALUES LESS THEN (MAXVALUE) 小于 NO98030 时用 PART4)。查询 SELECT * FROM PERSONS(PART2,PART3)WHERE NO BETWEEN 98015 AND98025一般分区的表空间建立在不同的磁盘上(8) 常用字段数据类型CHAR 最长 2000BVARCHAR2(8I、9I 将采用 VARCHAR)4000B(7.34 2000B)LONG 变长字符 2GBNUMBER(s,d) 数字 最长38位DATE 日期BLOB二进制大集4GB (RAW,LONG RAW将在未来版本中淘汰)ROWID 物理地址类型(9) 回滚(回退)COMMIT和提交ROLLBACK:我们对数据库的操作是由事务来控 制管理的,在一个事务中,应该及时对所作的操作进行提交,以方式操作无效, 也可取消非法的操作数据库事务:是一个逻辑的工作单元回滚和提交到上次回滚或提交点的事务操作 注意事项:有一些特殊的事务是回自动提交(隐式提交),在操作的过程种一定 注意: QUIT、 EXIT、 CREATE TABLE 、 ALTER TABLE、 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 ON JXC_COM_DAY(TRANS_ID)TABLESPACE INDX_SPCPCTFREE 10 INITRANS 2 MAXTRANS 255STORAGE(INITIAL 20M NEXT 5M MINEXTENTS 1 MAXEXTENTS 505 PCTINCREASE 0)。创建索引 PARALLEL (DEGREE 5) 并行的 5个进程共同创建索引(不使用于创 建主健)NOLOGGING 参数可选Oracle8I 支持函数索引Oracle8I 支持联机索引 online 参数创建索引(因为创建索引时表自动加锁不允许更 新而使用 ONLINE 参数则可以联机创建索引了)(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_DATE(HSJSRQ,YYYYMMDD)GROUP BY JMDMFID具体的查询语句用PL/SQL的EXPLAN PLAN 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 TABLESPACE SZJ3,PARTION PART4 TABLESPACE SZJ4。)(4) 分区全局索引CREATE INDEX PERSONS_NOON PERSONS(NO)GLOBAL PARTION BY RANGE(NO)(PARTION PART1 VALUES LESS THEN (98010) TABLESPACE SZJ_INDEX1, PARTION PART2 VALUES LESS THEN (98020) TABLESPACE SZJ_INDEX2, PARTION PART3 VALUES LESS THEN (98030) TABLESPACE SZJ_INDEX3, PARTION PART4 VALUES LESS THEN (MAXVALUE) TABLESPACE SZJ_INDEX4)。(5) 创建索引注意事项:索引的表不能被其他事务锁定,8I支持ORACLE系统函数 的结果当成字段进行索引。7.34不支持7. 视图:是包含一个或多个表(视图)中数据的简化描述执行一个查询结果,并将它看成一 个表(虚拟表)例:CREATE VIEW SYS_GZ AS SelectCODE,NAME,SJCODE,ISSPB,ISWSFB,FLAG,TYPE,GDFL,BDFL,JHLRL,JHZZTS,Y YMJ,SEQNO,STATUS,ISZG,ZGGYS,GYSSEQ,SYSREG,SUBJECT,ISXH,ISCS,ISMGYS FROM sys_gljg WHERE flag=Y AND fgljgjcbm(code,1)=fgetmc。Oracle8I 支持实例化视图 CREATE MATERIALIZED VIEW *TABLESPACE DATA_SPCPCTFREE 10 INITRANS 2 MAXTRANS 255STORAGE(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 FORSYS GLJGPSZX DB.WORLD。创建了一个全局同义词。 那些可以建立同义词:表,视图,序列,过程,函数,建立了数据库链接之后的以上内容 均可9. 序列:多用户产生的唯一整数的数据库对象,用户可用序列自动产生主关键字的值。CREATE SEQUENCE SEQ_JXC_COM_DAY 序列名称INCREMENT BY 1 步长MINVALUE 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 fONull (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_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|。exception when no_data_found thenINSERT INTO pszx_command_rzVALUES(seq_pszx_command_rz.NEXTVAL,SYSDATE,SCCOM,|v_code|)。commit。 return。end。end if。 sp_scspbm(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)+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 OR REPLACE TRIGGER 触发器名触发条件 触发体 CREATE OR REPLACE TRIGGER delete_commod_xstm1after deleteon commod_xstm1 for each row begindelete 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),行触发的UPDATE 触发器可以指定更新的字段,当对制定的字段进行更新时触发该触发器,例:CREATE OR REPLACETRIGGER UPDATE_COMMOD_XSTM1 AFTER UPDATE OF DPTM, GZ, HLON DBAUSERMCHT.COMMOD_XSTM1 REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW declarevcode varchar2(13)。vdzxlvarchar2(15)。vpp varchar2(15)。vppnamevarchar2(30)。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_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。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。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/21/3,我们可以根据需求调整我推荐 SGA=0.45*(0S RAM)假设服务器运行版本,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# 30 M java_pool_size = 20971520# 20 M sort_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.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) 访问过的数据都放在这一片内存区域,该参数越大,Oracle在内存中找到相同数据的可 能性就越大,也即加快了查询速度。(3) db_block_buffers 以块为单位,假如 DB_BL0CK_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(decode(NAME,db block gets,value,0)+sum(decode(name,consistent get,value,0),2)from v$sysstatshared_pool_size = 8780992(1) SQL共享缓冲池( 2)该参数是库高速缓存和数据字典的高速缓存。(3) 该参数设置的太小回严重影响数据库的性能,出现无效的单元被调用提示( 4)单位为字节,大小不要超过系统内存的一半。large_pool_size = 614400 大池分配堆的大小java_pool_size = 0log_checkpoint_interval = 10000log_checkpoint_timeout = 1800processes = 50同时连接的进程数,并发连接到ORACLE上操作系统进程的的最大数量 最大 值 4322parallel_max_servers = 5 用户事例的查询服务器的最大数量log_buffer = 32768重演日志缓冲区(128K*CPU个数)db_domain = :指明数据库的域名(默认的是WORLD),这里可以用您公司的域名。 global_names = true如果“数据库链路名”和它所要连接的“数据库”拥有相同的名字,则设 置 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次就读完了,大大减少了 I/O操作。(3) 数据库安装完成后,就不能再改变db_block_size的值了,只能重新建立数据库 并且建库时,要选择手工安装数据库。remote_login_passwordfile = exclusive密码文件的检查方式:none:导致好像oracle的密码文件不存在,即不安全的连接,不允许 授权的连接 ,该选项为默认值。Exclusive:密码文件只用于一个数据库Shared:密码文件用于多个数据库os_authent_prefix = 外部身份验证distributed_transactions = 10compatible 数据库服务版本(要创建函数索引该参数参数必须选中)Query_rewrite_enabled=true (要创建函数索引该参数参数必须选中)Query_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秒唤醒该进程一次。系统缺省值为60秒,正 常范围为 13600 秒。事实上,该进程执行完当前任务后,就进入睡眠状态,睡眠一段时间 后,由系统的总控负责将其唤醒。open_links 同时打开的链接数dml_locks( 1)用户一次可对表设定锁的最大数目(2 )如果有三个用户修改6个表,则需18个DML锁来实现并行操作,如果设定DML_LOCKS 不够大,操作时执行将中断,你可以通过你的应用程序的操作规模和最大的并 行使用的用户数来估算系统所需要的DML_LOCKS的值,但该值的大小对数据库的其他性能 没有影响,所以一般都把它设得很大,远超过实际中可能达到的值,如果在系统运行中经常 发生表锁死的现象,就应该考虑加大该值。dbwr_io_slaves 后台写进程数 log_archive_start=true 开启自动归档2. 数据库的手工启动7.34 运行程序 SVRMGR23,8I 运行 SVRMGRLSQLCONNECT INTERNAL/*MCHT_DB;ORACLE 9i 用 sqlplus 连接 CONNECT / AS SYSDBA。SQLSTARTUP PFILE=D:MCHTPFILEINITMCHT.ORA OPEN 前提条件:在系统的服务中相应的数据库的实例一定要启动,服务不一定启动。 启动的过程中会有数据库启动的相应的提示,如果数据库在启动的过程中存在启动不起来 的情况也会有相应的提示,如:日志文件错误、数据文件错误、参数配置错误、控制文件 错误等 由于系统参数配置、数据库日志文件损坏、控制文件损坏、数据库数据文件损坏等原因造 成的数据库不能启动需要用手工启动的方式进行启动数据库,查看出错的原因并修复。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) 可以查看帮助 IMP73 HELP=YIMP73(IMP) DBAUSERMCHT/FUTUREMCHTMCHT_DB FULL=Y|NBUFFERS=10000 卩只0“口3只=用户名 TOUSER=用户名 FILE=MCHT.DMPTABLES= 表名 ROW=Y|N LOG=MCHT.LOG IGNORE=Y|NCONSISTENT=Y(默认N)按一致方式导出(不能在增量导出中使用)INCTYPE 导出类型 INCREMENTAL(增量)CUMULATIVE(积累)COMPLETE(完全) 不能导出包含LOB BFILE REF,但是oracle8I已经支持了)直接路 径大大提高导出速度Filesize (8I新下特性)=2G规定导出文件的大小(2)停止服务后,将数据库的整个目录进行复制备份停止启动备份的过程可以写一个批处理BF.CMD c:winntsystem32net stop oracleservicemcht /y c:winntsystem32net stop oracleservicemcqt /y c:winntsystem32net stop oracleTNSlistenerXcopy d:pszx d:backuppszx /S /VXcopy d:mcht d:backupmcht /S /VXcopy d:mcqt d:backupmcqt /S /Vrem 磁带备份REM c:winntsystem32ntbackup.exe backup d:pszx d:mcht d:mcqt /d BACKUP /hc:on /t copy /l c:logbackup.log /tape:0c:winntsystem32net start oracleTNSlistener c:winntsystem32net start oraclestartmcqt c:winntsystem32net start oraclestartmchtat 03:00 /interactive /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. 数据库的侦听(Listenerora)和网络连接配置文件(Tnsnames.ora)侦听:安装数据库实例的服务器上必须配置侦听数据库安装目录下的NETWORKADMINListener.ora提供对外服务的数据库接口,内容如下:LISTENER =(ADDRESS_LIST =(ADDRESS=(COMMUNITY= TCP.world)(Host = 192.168.0.2)(PROTOCOL= TCP)(Port= 1521)(ADDRESS=(COMMUNITY= TCP.world)(Host = 192.168.0.2)(PROTOCOL= TCP)(Port= 1526)STARTUP_WAIT_TIME_LISTENER = 0CONNECT_TIMEOUT_LISTENER = 10TRACE_LEVEL_LISTENER = OFFSID_LIST_LISTENER =(SID_LIST =(SID_DESC =(SID_NAME = PSZX)(SID_DESC =(SID_NAME = MCHT)#PASSWORDS_LISTENER = (oracle)7.34只能有一个侦听,8I可以有多个侦听,服务器每增加一个数据库都需要手工修改配置将数 据库的内容填入,并重新启动侦听服务。Host (主机地址)可以为主机的名字,也可以为IP 地址,特殊的IP: 也可,一般W2K在没用连通网络的时候不能获得本级制定的IP 地址(NT没有此问题)它会造成侦听不能启动,数据库不能进行正常的访问。一般在数据库安装完成之后系统会自动创建侦听服务,如果是W2K没有进行安装直接导入的 注册表可运行ORACLE安装目录下的BIN目录下的LSNRCTL.EXE文件后运行START回车 后自动建立并启动侦听服务,如果侦听服务已经存在,它会启动该服务。网络连接配置文件:用户工作站要访问指定地址的 ORACLE 数据库服务器需要配置相应的 配置文件,可通过ORACLE本身的配置工具也可通过直接修改配置文件的办法,内容: pszx_db.world =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = 192.168.0.2)(Port = 1521)(ADDRESS =(COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = 192.168.0.2)(Port = 1526)(CONNECT_DATA = (SID = pszx)检查连接的命令TNSPING PSZX_DB相应的每天启动的日志信息存放在数据库系统的安装目录下的 NETWORKLOG 目录下的listener.log和sqlnet.log文件记载,它会随着时间的增加而增长,注意删除,以保留可用空间6. 数据库典型数据维护方案1) 数据文件改名(当然包括日值文件的改名)SVRMGR connect internalSVRMGR shartup mountORCL。SVRMGR alter database rename file e:test.dbf to d:test.dbf。 注意:一定要加单引 号Alter database rename fileold_file_name1,old_file_name2tonew_file_namel,new_file_name2。(这是同时修改多个数据文件的标准格式,修改 完成之后再打开数据库 alter database open。 )查看数据文件状态SQL select file_name,file_id,tablespace_name,bytes,status from dba_data_files。2) ORACLE 表空间恢复方案Select file#,online,error from v$recover_file 查找需要恢复的文件 IDSelect name,file# from v$datafile。 根据相应的 ID 查找相应的文件名RECOVER DATABASE 执行整个数据库恢复RECOVER DATAFILE 执行特定数据文件恢复RECOVER TABLESPACE 表空间名 恢复指定表空间在SVRMGRL中前面不用 ALTER DATABASE而在sql/pus中用(1) 临时表空间并不包含真正的数据,将该表空间置为OFFLINE后删掉重建即可(2) 回滚表空间完全关闭数据库(使用 shutdown immediate 或 shutdown 命令) 修改初始化文件init.ora,注释“rollback-segment “ svrmgrl startup restrict mount 启动数据库 svrmgrl alter database datafile filename offline drop。 将回滚表空间置为不在线 svrmgrl drop tablespace tablespace_name including contents。 删除回滚表空间重建表空间及其回滚段svrmgrl alter system disable restricted session。修改 init.ora 文件后重新启动数据库(3) 索引表空间并不包含真正的数据,将该表空间置为OFFLINE后删掉重建即可 svrmgrl startup restrict mount 启动数据库
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 活动策划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!