- 浏览: 95252 次
- 性别:
- 来自: 成都
文章分类
该数据库在企业里普遍应用
1.Oracle的发展史
1.1:1970年IBM的codd提出关系模型理论。
1.2:Larry Ellison、Bob Miner、Ed Oates+Bruce Scott组成的SDL(software development laboratories)研究出的第一个Demo产品取名为Oracle
1.3:SDL更名为RSI(relational software Inc),并发布了用于特定系统的商用Oracle2.0。
1.4:RSI更名为Oracle;Oracle3.0具有可移植性、事务处理单元、非阻塞查询、SQL语句。
1.5:Oracle4.0、Oracle5.0改善数据库的稳定性。
1.6:重写数据库核心的Oracle6.0bug众多,性能不稳。具有行级锁、PL/SQL语言、联机热备份
1.7:Oracle7.0具有分布式处理、基于开销的优化器
1.8:Oracle8i支持Internet、java;Oracle9i支持RAC(多机单服务器)
1.9:Oracle10g数据库网格计算功能。
1.10:Oracle11g数据压缩技术、
2.Oracle的结构——实例与数据库是怎样的对应关系一对一还是多对一
2.1:实例——内存结构和后台进程
2.1.1:内存
2.1.1.1:PGA(program global area)——存放服务器进程的数据和控制信息。
2.1.1.1.1:排序区(sort area)——排序的信息。
2.1.1.1.2:会话信息(session informaiton)——会话的权限、角色,会话的性能统计信息
2.1.1.1.3:游标状态(cursor state)——当前SQL的状态;指针
2.1.1.1.4:堆栈空间(stack space)——会话的变量信息
2.1.1.2:SGA(system global area)——可以提高效率和性能
2.1.1.2.1:数据库缓存区(database buffer cache)——缓存命中;减少数据存取时造成的磁盘读写动作。
2.1.1.2.2:重做日志缓冲区(redo log buffer)——对数据库的修改按序记录在缓冲区中。
2.1.1.2.3:共享池(shared pool)——library cache(SQL编译代码)+dictionary cache(数据字典)
2.1.1.2.4:java pool
2.1.1.2.5:large pool
2.1.2:进程
2.1.2.1:数据写进程(DBWR)
2.1.2.2:日志写进程(LGWR)
2.1.2.3:系统监控(SMON)——Oracle非正常关闭后,由smon进行必要的数据库修复。
2.1.2.4:进程监控(PMON)——失败进程的清除。
2.1.2.5:检查点进程(CKPT)——当数据永久记录时,更新控制文件和数据文件的数据库状态信息。
2.1.2.6:归档进程(ARCH)——将已满的日志组备份或归档。
2.2:数据库——一系列的物理文件和与之对应的逻辑结构
2.2.1:物理(操作系统)——文件
2.2.1.1:数据文件——逻辑数据库对象
*Oracle数据——没有Boolean和%type类型,对大小写敏感,
2.2.1.2:日志文件——联机重做日志文件、归档重做日志文件
2.2.1.3:参数文件——激活前的配置参数
2.2.1.4:控制文件——数据库的实体信息
2.2.1.5:口令文件——指令
2.2.2:逻辑(数据库内部)
2.2.2.1:表空间()——业务系统
2.2.2.2:段()——数据类型
2.2.2.3:区(4块)——最小分配(存取)单位;DB的块与OS的块成整倍数关系。
2.2.2.4:块(8k)——最小存储单位
2.2.2.5:
3.特点
3.1:跨操作系统和硬件
3.2:稳定性
3.3:安全性
3.4:高效率
3.5:为什么选择Oracle
3.5.1:安全。
3.5.2:数据量可以很大
3.5.3:分析特别灵活,例如不同应用中的排名。
3.5.4:性能调优手段很多
3.5.5:Oracle发展好,国内应用广泛。
3.5.6:
4.数据字典中的数据库对象
4.1:数据字典(系统表)——对象描述的信息库;只读对象;
4.2:模式(schema)——数据库对象组合的一个集合;一个数据用户只能有一个schema且与用户同名。
4.3:数据库对象
4.3.1:用户:
4.3.2:角色
4.3.3:表空间
4.3.4:表
4.3.4.1:数据类型——char;varchar2;number默认38位;date;
4.3.5:视图(view)=虚表——从一个或多个表中通过查询语句得到的结果,以表的形式存在。
4.3.4.1:视图对应的数据未实际存储在数据库中,只是在字典里存放了视图的定义。
4.3.4.2:作用——封装查询语句;简化复杂查询;简化权限管理;
4.3.4.3:格式——create view 视图名 as 查询语句;
4.3.6:簇
4.3.7:类型
4.3.8:同义词(synonym)=别名——尽量避免直接引用表、视图、其它数据库对象。
4.3.8.1:分类——分为公用的和私有(默认)的。
4.3.8.2:格式——create public synonym 同义词名 for 数据库对象;
4.3.8.3:数据库对象组成——SYSTEM(px上的用户).auths(SYSTEM用户的对象)@PX(服务器).orcl(实例)
4.3.9:序列(sequence)——与identity类似,但sequence解决了高并发的问题。
4.3.9.1:格式——create sequence 序列名 increment by 步频 start with 起数 maxvalue 止数
4.3.9.2:属性——nextVal/currVal(只是获得当前的固定值,没有nextval的辅助是无意义的)【SELECT ABC.NEXTVAL FROM DUAL;初始序列——>SELECT ABC.NEXTVAL FROM DUAL;获得下一个序列——>SELECT ABC.CURRVAL FROM DUAL;】
4.3.9.3:DUAL——默认只有一行一列;任何用户都可使用;类似java中的超类object;属于SYS schema的一个表,然后以PUBLIC SYNONYM的方式供其他数据库USER使用 ;
*dual包含的信息——user(当前用户);sysdate(系统日期);表达式计算后的值;序列号;
*
*
4.3.9.4:查看序列信息——SELECT SEQUENCE_NAME,MIN_VALUE,MAX_VALUE,INCREMENT_BY,LAST_NUMBER FROM
USER_SEQUENCES;
4.3.10:索引
4.3.11:数据库链接
4.3.12:存储过程
4.3.13:函数
4.3.13.1:sysdate——作用于数据的函数
4.3.13.2:to_date(日期串,日期格式,地区语言)——
4.3.13.2.1:日期格式—— 'DD/MM/yyyy HH24:MI:SS ';
*YEAR——y;y的个数代表年的位数
*MONTH——mm(纯2位数)/mon(缩写词)/month spelled out(全词)
*DAY——dd(月中天)/ddd(年中天)/dy abbreviated(星期的缩写)/day spelled out(星期的全词)
*HOUR——hh(1:00:00~12:59:59)/hh24(24小时制0:00:00~23:59:59)
*MINUTE——mi
*SECONDE——ss
*Q(季度)/W(月中周)/WW(年中周)
4.3.13.2.2设置时间语言——alter session set NLS_DATE_LANGUAGE='AMERICAN';==TO_DATE('2002-4-3','YYYY-MM-DD','NLS_DATE_LANGUAGE=AMERICAN');
4.3.13.2.3:时间差—— select floor(sysdate-to_date('20020405','yyyymmdd'))from dual;
4.3.13.2.4:next_day(date,day);
4.3.13.2.5:extract()——找出时间段或日期的字段值
4.3.13.2.
4.3.13.3:to_char(数字值,格式,返回字符)
*NLS_NUMERIC_CHARACTERS="d(小数点)g(分组)"
*NLS_CURRENCY="NUD"——本地货币
* NLS_ISO_CURRENCY =TERRITORY——国际货币
*格式——fm:去空格;0起占位作用,9对应的位置有才显示无则影藏。
4.3.13.
4.3.13.
4.3.13.
4.3.14:包
4.3.15:触发器
5.Oracle执行SQL
5.1:语法检查
5.2:语义检查——访问数据字典,检查访问对象存在否+是否有权限
5.3:SQL解析——生成解析树、执行计划——存放在library cache的共享SQL区
*私有SQL——专用服务器连接(PGA)/共享服务器连接(SGA)
5.4:执行SQL,返回结果。
6.远程访问oracle的配置
6.1:打开工具net manager
6.2:配置LISTENER——监听的远程服务器和端口(1521)
6.3:在服务命名中新建服务——给予引用名,服务器ip,oracle服务名(从oracleservice服务的属性中的可执行文件路劲的最后一个单词)
6.4:打开服务TNSListener;
发表评论
-
报表相关
2010-07-20 07:02 8321.报表——普通报表是 ... -
动态SQL
2010-06-28 20:36 7681.why——有些时候表明和列名在程序运行的时候才被告诉。 ... -
事务机制
2010-06-26 10:21 7981.概念——多步操作组 ... -
游标(指针)
2010-06-26 10:21 1182*游标可以减少程序与数据库的交互和内存的消耗。 1.游标分类 ... -
练习——oracle数据字典对象
2010-06-22 20:09 867·创建部门表(部门编号,部门名称)和用户表(帐号,姓名,性别, ... -
练习——oracle数据类型
2010-06-22 20:06 707--复合变量tabledeclareType mytabtyp ... -
故障排除
2010-06-19 20:12 5881.故障排除方法与步骤 2.常见故障及原因 ... -
脚本开发
2010-06-19 20:11 891编写自己的数据库执行代码 1.PL(procedural l ... -
访问权限
2010-06-19 20:09 795阶级性和特权 范例— ... -
数据安全
2010-06-19 20:08 661数据库的数据安全,避免数据泄漏和丢失 -
数据访问优化
2010-04-27 09:41 8272.数据访问优化方法——时间(效率)换空间 2.1:索引优化 ... -
数据备份技术——数据仓库
2010-04-27 09:25 7541.what——可以将数据还原为备份的那个时刻. 2.分类 ... -
练习——学生班级
2010-04-27 08:09 679create table t_class(c_id int p ... -
练习——部门员工表
2010-04-27 07:59 7138create table DEPT( DEPTNO deci ... -
排序——index
2010-04-26 10:26 6911why——对大量数据进行排序,方便查找记录 2.特点 ... -
项目后台的有机组合
2010-04-14 10:58 788——————Dao——>———————DBUtil——— ... -
写服务器运行日志的方法
2010-04-14 10:38 8241:服务器运行后,日志的更新频率很高。方法好还决定了服务器相应 ... -
练习——DOM4J
2010-04-03 22:49 846什么叫XML解析:读或写XML中的内容。 扩展: XM ... -
Dao+DBUtil+Po
2010-04-03 18:57 738界面上的数据来自 1.数据库(Dao)——定义SQL执 ... -
练习——实训6.1
2010-04-03 16:04 680create table bbc(Name varchar(5 ...
相关推荐
Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer 不用安装Oracle客户端也可以使用PLSQL Developer 绿色! 安全! 轻便! 可靠! 1、本软件可作为简单的Oracle9i客户端...
oci.dll是Oracle Call Interface的缩写,它是Oracle数据库的一个核心组件,允许开发者使用各种编程语言与Oracle数据库进行交互。在Oracle 10G和11G版本中,oci.dll扮演了至关重要的角色,为应用程序提供了访问数据库...
Oracle JDBC驱动包是Oracle数据库与Java应用程序之间进行通信的关键组件,它使得Java程序员能够通过编写Java代码来操作Oracle数据库。标题中的"ojdbc6"指的是Oracle JDBC驱动的一个特定版本,适用于Java SE 6环境。...
cx_Oracle是Python编程语言中用于连接Oracle数据库的一个模块。该模块遵循Python数据库API规范,并且适用于Oracle 11.2和12.1版本,同时兼容Python 2.x和3.x版本。cx_Oracle模块通过使用Oracle客户端库来实现与...
首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...
cx_Oracle是Python数据库API规范的实现,用于访问Oracle数据库。目前,该模块经过对Oracle客户端版本11.2、12.1和12.2以及Python版本2.7、3.4、3.5和3.6的测试。cx_Oracle遵循开源的BSD许可证,这表示用户可以自由地...
Oracle Client是Oracle公司提供的数据库连接工具,用于与Oracle数据库服务器进行通信。19C是Oracle Database的一个版本,代表第19个主要版本。这个压缩包包含的Oracle Client适用于Windows和Linux操作系统,使得...
《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle...
Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...
Oracle 11g客户端是Oracle数据库的一个轻量级版本,主要供开发人员和系统管理员用于连接到Oracle数据库服务器,执行查询、管理和维护数据库任务。这个精简版在保持基本功能的同时,减少了安装体积,便于快速部署和...
Oracle各版本驱动包,有需要的可以下载使用,支持目前常用的不同版本oracle和JDK,根据自己需要调整和使用 主要包括的jar有: ojdbc5.jar 适用JDK版本:JDK 1.5 对应Oracle数据库版本:Oracle数据库版本(如Oracle ...
### Tianlesoftware Oracle 学习手册(v1.0)中的关键知识点 #### 1. ORACLE基础知识 ##### 1.1 OLAP与OLTP介绍 **1.1.1 什么是OLTP** OLTP(Online Transaction Processing,在线事务处理)是一种主要针对企业...
python-oracledb的源码和使用示例代码, python-oracledb 1.0,适用于Python versions 3.6 through 3.10. Oracle Database; This directory contains samples for python-oracledb. 1. The schemas and SQL ...
Oracle 19c是Oracle数据库的一个重要版本,尤其在Windows平台上,它提供了全面的功能和优化,使得数据库管理和开发更为高效。以下将详细讲解Oracle 19c Windows客户端的关键知识点: 1. **Oracle Client**: Oracle...
Veeam 备份恢复 Oracle 数据库详细配置文档 本文档旨在详细介绍如何使用 Veeam 备份恢复 Oracle 数据库的配置过程。该文档将指导读者从环境准备到推送 Oracle RMAN Plugin,再到创建备份作业和运行备份作业,最后...
这里提到的三本书籍——"Oracle 9i初学者指南.zip"、"Oracle专家高级编程.pdf"以及"Effective Oracle by Design.pdf"都是Oracle学习者和专业开发者的宝贵资源。 "Oracle 9i初学者指南.zip":这是一本针对Oracle 9i...
Oracle Instant Client 11.2.0.1.0是轻量级Oracle客户端,用于连接访问Oracle 9i、10g、11g 11.2.0.1.0版本的Oracle数据库。 Oracle Instant Client11.2.0.1.0 安装程序包含OCI/ OCCI、JDBC-OCI SDK(软件开发工具...
Oracle客户端是用于与Oracle数据库服务器交互的软件工具,主要功能是提供对数据库的查询、更新、管理等操作。Oracle客户端支持多种操作系统,包括Windows,且有32位和64位之分。在这个场景中,我们关注的是"Oracle...
标题中的“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”是一个常见的错误提示,它涉及到在.NET环境中使用Oracle数据库时遇到的问题。这个错误表明,当你试图在应用程序中使用System.Data....
本人琢磨了下使用VS .Net 2005开发的客户端程序,需要访问oracle数据库,但不想在客户端安装oracle客户端的解决方法。终于给弄清楚了,其实根本不需要在安装oracle客户端就可以轻松实现了。方法是将相关的9个oracle...