`
阅读更多

该数据库在企业里普遍应用

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;

  • 大小: 88.5 KB
分享到:
评论

相关推荐

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer)

    Oracle 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer 不用安装Oracle客户端也可以使用PLSQL Developer 绿色! 安全! 轻便! 可靠! 1、本软件可作为简单的Oracle9i客户端...

    oracle10G和oracle11G的OCI.dll

    oci.dll是Oracle Call Interface的缩写,它是Oracle数据库的一个核心组件,允许开发者使用各种编程语言与Oracle数据库进行交互。在Oracle 10G和11G版本中,oci.dll扮演了至关重要的角色,为应用程序提供了访问数据库...

    oracle.jdbc.driver.oracledriver Oracle JDBC驱动包 ojdbc6

    Oracle JDBC驱动包是Oracle数据库与Java应用程序之间进行通信的关键组件,它使得Java程序员能够通过编写Java代码来操作Oracle数据库。标题中的"ojdbc6"指的是Oracle JDBC驱动的一个特定版本,适用于Java SE 6环境。...

    cx_Oracle使用手册

    cx_Oracle是Python编程语言中用于连接Oracle数据库的一个模块。该模块遵循Python数据库API规范,并且适用于Oracle 11.2和12.1版本,同时兼容Python 2.x和3.x版本。cx_Oracle模块通过使用Oracle客户端库来实现与...

    基于C#连接Oracle数据库Oracle.ManagedDataAccess

    首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...

    Python连接oracle工具cx_Oracle官方文档

    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 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf

    《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle...

    Mysql转Oracle软件 DBMover for Mysql to Oracle

    Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...

    OracleClient-19C Oracle客户端,包括windows和Linux

    Oracle Client是Oracle公司提供的数据库连接工具,用于与Oracle数据库服务器进行通信。19C是Oracle Database的一个版本,代表第19个主要版本。这个压缩包包含的Oracle Client适用于Windows和Linux操作系统,使得...

    Oracle11g客户端精简版

    Oracle 11g客户端是Oracle数据库的一个轻量级版本,主要供开发人员和系统管理员用于连接到Oracle数据库服务器,执行查询、管理和维护数据库任务。这个精简版在保持基本功能的同时,减少了安装体积,便于快速部署和...

    Tianlesoftware Oracle 学习手册(v1.0)高清完整PDF版

    ### Tianlesoftware Oracle 学习手册(v1.0)中的关键知识点 #### 1. ORACLE基础知识 ##### 1.1 OLAP与OLTP介绍 **1.1.1 什么是OLTP** OLTP(Online Transaction Processing,在线事务处理)是一种主要针对企业...

    Oracle Ojdbc各版本驱动包

    Oracle各版本驱动包,有需要的可以下载使用,支持目前常用的不同版本oracle和JDK,根据自己需要调整和使用 主要包括的jar有: ojdbc5.jar 适用JDK版本:JDK 1.5 对应Oracle数据库版本:Oracle数据库版本(如Oracle ...

    利用python-oracledb库连接Oracledb数据库,使用示例

    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 ...

    Oracle19c-Windows客户端

    Oracle 19c是Oracle数据库的一个重要版本,尤其在Windows平台上,它提供了全面的功能和优化,使得数据库管理和开发更为高效。以下将详细讲解Oracle 19c Windows客户端的关键知识点: 1. **Oracle Client**: Oracle...

    Veeam 备份恢复oracle数据库详细配置文档

    Veeam 备份恢复 Oracle 数据库详细配置文档 本文档旨在详细介绍如何使用 Veeam 备份恢复 Oracle 数据库的配置过程。该文档将指导读者从环境准备到推送 Oracle RMAN Plugin,再到创建备份作业和运行备份作业,最后...

    Oracle Instant Client 11.2.0.1.0 轻量级Oracle客户端

    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 客户端 64位

    Oracle客户端是用于与Oracle数据库服务器交互的软件工具,主要功能是提供对数据库的查询、更新、管理等操作。Oracle客户端支持多种操作系统,包括Windows,且有32位和64位之分。在这个场景中,我们关注的是"Oracle...

    解决System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本

    标题中的“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”是一个常见的错误提示,它涉及到在.NET环境中使用Oracle数据库时遇到的问题。这个错误表明,当你试图在应用程序中使用System.Data....

    无需安装oracle客户端直接连接使用oracle数据库的解决方案

    本人琢磨了下使用VS .Net 2005开发的客户端程序,需要访问oracle数据库,但不想在客户端安装oracle客户端的解决方法。终于给弄清楚了,其实根本不需要在安装oracle客户端就可以轻松实现了。方法是将相关的9个oracle...

    dbeaver oracle离线驱动包

    标题中的“dbeaver oracle离线驱动包”指的是DBeaver这款数据库管理工具针对Oracle数据库的离线驱动程序集合。DBeaver是一款免费且开源的通用SQL客户端,它支持多种数据库管理系统,包括Oracle。离线驱动包意味着...

Global site tag (gtag.js) - Google Analytics