首页 > 代码库 > Oracle入门

Oracle入门

本节要点:

  • l  Oracle出生
  • l  Oracle使用前准备
  • l  Oracle体系结构
  • l  与Oracle数据库的连接
  • l  Oracle 的结构化查询语言(SQL)及工具
  • l  Oracle用户管理

一、             Oracle出生

Oracle是一个生产中间件和数据库的较大的生产商,Oracle原本的含义:“神喻”,指的是神说的话。中国在商朝的时代,把一些刻龟壳上的文字当成是上天的指示,所以在中国将Oracle也翻译成“甲骨文”。

Oracle公司由larry Ellison创建,当时是受启发于IBM研究员发表的一篇论文《大型共享数据库的关系数据库模型》,larry Ellison和另外两个合伙人Bob Miner和Edward Oates开始研发关系型数据库。他们的第一个项目是给美国政府做的,项目的名字当时就叫做Oracle,此后,larry Ellison就把研发的数据库叫做Oracle,后来把自己的公司名字也改成了Oracle,所以一般认为larry Ellison为Oracle的创始人。

二、             Oracle使用前准备

  • l  Oracle安装
  • l  创建监听程序
  • l  创建数据库实例
  • l  安装PL/SQL工具
  • l  PL/SQL连接Oracle数据库(配置tnsnames.ora文件)

详细操作步骤省略

原因:每个工具软件都具有不同版本,不同版本在安装方法和使用方法上不尽相同,建议根据不同版本在网上有针对性的搜索

三、             Oracle体系结构

  1. 1.         Oracle 数据库简介
  •   Oracle是关系型数据库管理系统 (RDBMS)
  •   在管理信息系统、企业数据处理、因特网及电子商务等领域使用非常广泛
  •   在数据安全性与数据完整性控制方面性能优越
  •   跨操作系统、跨硬件平台的数据互操作能力
  •   基于客户机/服务器(C/S)技术
    • 客户机 - 用户和数据库之间的接口
    • 服务器 - 存储和管理数据

 

  1. 2.         Oracle组成

Oracle服务器提供开放、全面和综合的信息管理,它由Oracle数据库Oracle实例组成,Oracle数据库是一个数据的集合,Oracle实例是用来管理数据库的后台进程和内存结构的集合。下面是Oracle 主要组件图:

 

对于第一次接触“实例”和“数据库”的人来说,容易把二者混淆。实例是“内存”和“后台进程”的集合。数据库是数据的物理存储。特别注意,一个实例可以用于一个数据库,多个实例也可以同时用于一个数据库。

举个例子,如果把数据库比作一架飞机,实例就是飞机的发动机。那么,一台发动机可以驱动飞机,两台发动机也可以同时驱动一架飞机。

 

Oracle实例:

是oracle使用到的内存和进程的总称。

一个oracle数据库可以有多个实例,单机中是一个实例对应一个数据库(我们一般所接触到的)。

安装oracle时候如果同时建立一个orcl的数据库的话;那么SID就是orcl,这是一个数据库,有一个实例与它对应;如果你又通过DBCA建立了另外一个db_test,这是就有两个SID;需要两个实例分别打开各自的数据库。

 

Oracle数据库:

  •   Oracle 数据库由操作系统文件组成,这些文件为数据库信息提供实际物理存储区
  •   Oracle 数据库包括逻辑组件和物理组件
    •   物理结构包含数据库中的一组操作系统文件。
    •   逻辑结构指数据库创建之后形成的逻辑概念之间的关系

 

物理组件就是Oracle数据库所使用的操作系统物理文件。物理文件可分为三类:

  • u  数据文件:存储数据库数据,如表、索引数据等;
  • u  控制文件:记录数据库物理结构的二进制文件;
  • u  日志文件:记录对数据库的所有修改信息,用于故障恢复。

逻辑组件是从逻辑的角度分析数据库的组成,包括:表空间、段、区、数据块、模式。

 

表空间:

  • l  表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间。
  • l  每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。
  • l  表空间的大小等于构成该表空间的所有数据文件大小之和。
  • l  Oracle 数据库中的典型表空间是:SYSTEM 表空间  、DATA 表空间、USER 表空间、TOOLS 表空间、TEMP 表空间

段:

  • l  段是构成表空间的逻辑存储结构,段由一组区组成。
  • l  按照段所存储数据的特征,将段分为四种类型,即数据段、索引段、回退段和临时段。

区:

  • l  区为段分配空间,它由连续的数据块组成。
  • l  当段中的所有空间已完全使用时,系统自动为该段分配一个新区。
  • l  区不能跨数据文件存在,只能存在于一个数据文件中。

数据块:

  • l  数据块是Oracle服务器所能分配、读取或写入的最小存储单元。
  • l  Oracle服务器以数据块为单位管理数据文件的存储空间。

模式:

  • l  模式是对用户所创建的数据库对象的总称。
  • l  模式对象包括表、视图、索引、同义词、序列、过程和程序包等。

四、             与Oracle数据库的连接

要想操作数据库,首先要访问数据库。

只有用合法的用户帐号才能访问Oracle数据库。

Oracle 有几个默认的数据库用户 :

  • l  SYS:数据库中所有数据字典表和视图都存储在 SYS 模式中。SYS用户主要用来维护系统信息和管理实例。
  • l  SYSTEM: 默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库用户、权限和存储等
  • l  SCOTT: 是Oracle 数据库的一个示范帐户,在数据库安装时创建

五、             Oracle 的结构化查询语言(SQL)及工具

SQL(Structured Query Language)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

  • l  数据定义语言(DDL)

    CREATE 命令、ALTER 命令、DROP 命令、TRUNCATE 命令

  • l  数据操纵语言(DML)

    INSERT、SELECT、UPDATE、DELETE

  • l  数据控制语言(DCL)

    GRANT、REVOKE

  • l  事务处理和数据控制命令(TCL)

    COMMIT、ROLLBACK

       PL/SQL语言是SQL 语言的扩展 ,PL/SQL语言工具:SQL Plus和PL/SQL Developer等。

         工具的使用方法略,现在使用较多的是PL/SQL Developer。

六、             Oracle用户管理

要连接到Oracle数据库,就需要创建一个用户账户,每个用户都有一个默认表空间和一个临时表空间。

  1. 1.         创建新用户

CREATE USER命令用于创建新用户,CREATE USER命令的语法是:

     CREATE USER username

     IDENTIFIED BY password

     [DEFAULT TABLESPACE tablespace]

     [TEMPORARY TABLESPACE tablespace];

创建一个名称为david的用户,其密码为davidpass,例:

CREATE USER david

     IDENTIFIED BY davidpass

     DEFAULT TABLESPACE  USERS

     TEMPORARY TABLESPACE TEMP

  1. 2.         给用户授予权限

权限指的是执行特定命令或访问数据库对象的权利,权限有两种类型,系统权限对象权限,其中系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限;对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作。角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。

GRANT命令可用于为用户分配权限或角色。

分配连接权限:

Grant connect to david; 允许用户连接至数据库,并创建数据库对象

分配资源权限:

Grant RESOURCE to david; 允许用户使用数据库中的存储空间

授予表操作权限:

Grant select on test to david; 允许用户查询test表中的记录

Grant update on test to david; 允许用户更新test表中的记录

Grant all on test to david; 允许用户插入、删除、更新和查询test表中的记录

  1. 3.         更改和删除用户

ALTER USER命令可用于更改口令:

alter useR DAVID IDENTIFIED BY davidpassword; 修改DAVID用户的密码

DROP USER命令用于删除用户:

DROP useR DAVID CASCADE; 删除DAVID用户模式

 

Oracle入门