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. Oracle 数据库简介
- Oracle是关系型数据库管理系统 (RDBMS)
- 在管理信息系统、企业数据处理、因特网及电子商务等领域使用非常广泛
- 在数据安全性与数据完整性控制方面性能优越
- 跨操作系统、跨硬件平台的数据互操作能力
- 基于客户机/服务器(C/S)技术
- 客户机 - 用户和数据库之间的接口
- 服务器 - 存储和管理数据
- 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. 创建新用户
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
- 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表中的记录
- 3. 更改和删除用户
ALTER USER命令可用于更改口令:
alter useR DAVID IDENTIFIED BY davidpassword; 修改DAVID用户的密码
DROP USER命令用于删除用户:
DROP useR DAVID CASCADE; 删除DAVID用户模式