oracle数据库基本知识.doc
《oracle数据库基本知识.doc》由会员分享,可在线阅读,更多相关《oracle数据库基本知识.doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库基本知识目录一、几种常见数据库介绍及比较二、Oracle安装及注意事项:三、数据库的基本元素四、数据库的基本维护一、几种常见数据库介绍及比较1.几种常见关系性数据库:IBM DB2, ORACLE. MS SQL, SYBASE, Informix, My SQL2.来自互联网方面的几种评价: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等防毒软件,可以使用NU20001. oracle常见版本:7.34,8.05,8I,9I,10g
3、2. 安装,不同版本会略有不同,主要以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安装后需要修改相应的注册表的字符集
4、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初始化文件
5、一定要在制定的目录下存在并且相应的文件路径一定要存在。并且初始化文件的回滚段一定要注释掉,等建立晚回滚段后在放开并且重新启动数据库后生效。8I可以一切都不存在,并且自动创建30个回滚段SYSTEM和RBS0-RBS28,安装完成后运行CATALOG.SQL和CATPROC.SQL进行重新创建系统的同义词和过程函数等三、数据库的基本元素1. 表空间:相当于其他数据库的数据设备,用来存放数据库中其他存储元素如:表、索引、回滚段等常用的表空间:system(系统表空间,用于存储系统表、用户信息、过程、包、用户自定义函数、同义词、序列等,只要定义和创建将不再变化)、temp_spc(临时表空间,在进行
6、数据查询时使用,尤其是使用子查询)、data_spc(数据表空间,用于存储用户表等数据信息)、indx_spc(索引表空间,用于存储用户表索引)、rbsg_spc(回滚表空间,用于存放回滚段)可以想象为:用户数据存储的物理载体(1)创建表空间create tablespace temp_spc datafile d:mchtdatatempmcht.odb size 100M AUTOEXTEND OFF|ON(可以依次有多个数据文件,文件名最好用1,2,3,等划分以便容易识别,中间用逗号分割) DEFAULT STORAGE (INITIAL 64K NEXT 64K pctincrease
7、 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(超级
8、用户,在用户管理中不可见)密码为建库时的密码,system密码为manager,sys用户密码为change_on_install,可以想象为:用户数据存储的逻辑载体(1) 删除用户drop user dbauserpszx cascade;删除用户后,属于该用户的所有数据均被删除如:表、索引、序列、过程、函数、包等一定要注意另加小心(2) 创建用户create user dbauserpszx identified by futurepszxDEFAULT TABLESPACE data_spc TEMPORARY TABLESPACE temp_spc QUOTA UNLIMITED ON
9、 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
10、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 dbau
11、serpszx;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
12、500);注意:optimal 回滚断最佳的大小为减少系统资源竞争,改善系统性能一般采用多个回滚段,当多个事务并发进行时将产生多个回滚信息,系统事务对回滚段的调用是系统随机的除非特殊制定SET TRANSACTION USE ROLLBACK SEGMENT fpos_rsl; (2)回滚段状态(在线online,不在线offline)只有在线的回滚段段系统事务方可调用ALTER ROLLBACK fpos_rsl ONLINE|OFLINE;修改初始化文件INITPFILE.ORA文件rollback_segments= (fpos_rs2,fpos_rs3,fpos_rs4,fpos_rs
13、5,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) 数据库的主联接端建立相应的连接对象CREATE PUBLIC DATABASE LINK pszx_db.world CONNECT TO dblinkusr IDENTIFIED BY future USING pszx_db;删除数据库连接DROP PUBLI
14、C DATABASE LINK pszx_db.world;数据库连接建立之后可以对连接里的内容进行访问了SELECT * FROM SYS_GLJG FROM DBAUSETPSZX.SYS_GLJGPSZX_DB如要屏蔽访问的负杂性可以创建同义词5. 表:数据库存放用户数据的最主要的方式(1) 创建表 CREATE TABLE APP_BINARY(APP CHAR(2) NOT NULL,MODULE VARCHAR2(12) NOT NULL,SEQNO NUMBER NOT NULL,LENGTH NUMBER,BIN LONG RAW,CONSTRAINT PK_APP_BINAR
15、Y 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 MINEXTENT
16、S 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 T
17、ABLE表名 ADD 字段名 类型);(5) 删除例 ALTER TABLE表名 DROP 字段名;7.34不能删除列,8I的初始化参数compatible = 8.1.0时才可删除列(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)PAR
18、TITION 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)
19、;查询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:我们对数据库的操作是由事务来控制管理的,在一个事务中,应该及
20、时对所作的操作进行提交,以方式操作无效,也可取消非法的操作数据库事务:是一个逻辑的工作单元回滚和提交到上次回滚或提交点的事务操作注意事项:有一些特殊的事务是回自动提交(隐式提交),在操作的过程种一定注意:QUIT、EXIT、CREATE TABLE 、ALTER TABLE、DROP TABLE、CREATE VIEW、ALTER VIEW、DROP VIEW、GRANT、REVOKE、CONNECT、DISCONNECT、AUDIT(审计)、NOAUDIT.(10) 清空表:TRUNCATE TABLE 表名;注意事项:清空表的操作不能回滚,所要清空的表不能被其他事务锁定,不能清空试图和同义
21、词,清空表不触发触发器。6. 索引,为增加查询的速度,会影响数据的更新负荷(要适度的建立索引)(1) 创建索引CREATE INDEX 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 505PCTINCREASE 0) ;创建索引 PARALLEL (DEGREE 5) 并行的5个进程共同创建索引(不使用于创建主健)NOLOGGING
22、参数可选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 JXCMFRAMEDAY
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 数据库 基本知识
限制150内