Oracle入门

a)   Oracle 数据库简介

oracle 数据库是对象关系型的数据库管理系统 (ORDBMS);

在管理信息系统、企业数据处理、因特网及电子商务等领域使用非常广泛;

在数据安全性与数据完整性控制方面性能优越;

跨操作系统、跨硬件平台的数据互操作能力。

Oracle数据库的主要特点

支持多用户、大事务量的事务处理;

数据安全性和完整性控制;

支持分布式数据处理;

可移植性。

Oracle数据库基于客户端/服务器技术

客户端应用程序通过向服务器请求并接收信息的方式与数据库进行交互。它充当用户与数据库之间的接。

数据库服务器对数据库表进行最佳管理,处理多个客户端对同一数据的并发访问。全面地保持数据完整性,

并控制数据库访问权限等安全性需求。



b)   Oracle 9i 体系结构

数据库的体系结构是指数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制;

Oracle服务器提供开放、全面和综合的信息管理,它由Oracle数据库和Oracle实例组成.

Oracle 数据库是一个数据的集合,该集合被视为一个逻辑单元。

管理数据库的后台进程和内存结构的集合称为 Oracle 实例。

c)  Oracle 数据库

Oracle 数据库由操作系统文件组成,这些文件为数据库信息提供实际物理存储区;

Oracle 数据库包括逻辑结构和物理结构.

逻辑结构指数据库创建之后形成的逻辑概念之间的关系.

物理结构包含数据库中的一组操作系统文件。

d)  Oracle 实例

Oracle 实例是后台进程和内存结构的集合;

Oracle 的内存结构包含以下两个内存区:

系统全局区(SGA)和程序全局区(PGA).

Oracle 实例启动时分配系统全局区;当服务器进程启动时分配程序全局区。

系统全局区:

数据库信息存储于SGA,由多个数据库进程共享;

包括:共享池,数据缓冲区,日志缓冲区。

共享池:

共享池是对SQL、PL/SQL程序进行语法分析、编译、执行的内存区域。

共享池由库缓存和数据字典缓存组成。

共享池的大小直接影响数据库的性能。



数据缓冲区:

用于存储从磁盘数据文件中读入的数据,所有用户共享。

服务器进程将读入的数据保存在数据缓冲区中,当后续的请求需要这些数据时可以在内存中找到,不需要再从磁盘读取,提高了读取速度。

数据缓冲区的大小对数据库的读取速度有直接的影响。



日志缓冲区:

日志记录数据库的所有修改信息,日志信息首先产生于日志缓冲区。

当日志缓冲区的日志数据达到一定数量时,由后台进程将日志数据写入日志文件中。

相对来说,日志缓冲区对数据库的性能影响较小。



程序全局区:

程序全局区(PGA)包含单个服务器进程所需的数据和控制信息;

PGA是在用户进程连接到数据库并创建一个会话时自动分配的,保存每个与Oracle 数据库连接的用户进程所需的信息;

PGA为非共享区,只能单个进程使用,当一个用户会话结束,PGA释放。



e) Oracle 实例进程结构

Oracle 实例有几种不同类型的进程,它们是:用户进程,服务器进程,后台进程;

用户进程是一个需要与Oracle服务器进行交互的程序。当用户运行一个应用程序准备向数据库服务器发送请求时,即创建了用户进程;

服务器进程用于处理连接到该实例的用户进程的请求。当用户连接至 Oracle 数据库实例创建会话时,即产生服务器进程;

后台进程是Oracle数据库为了保持最佳系统性能和协调多个用户请求而设置的。 Oracle 实例启动时即创建一系列后台进程。

实例的各种后台进程是:PMON,SMON, DBWR,, LGWR, CKPT, 其他;

PMON 进程监控进程

清理出现故障的进程。

释放所有当前挂起的锁定。

释放故障进程使用的资源。



SMON 系统监控进程

在实例失败之后,重新打开数据库时自动恢复实例。

整理数据文件的自由空间,将相邻区域结合起来。

释放不再使用的临时段。



DBWR 数据写入进程

管理数据缓冲区,将最近使用过的块保留在内存中。

将修改后的缓冲区数据写入数据文件中。



LGWR 日志写入进程

负责将日志缓冲区中的日志数据写入日志文件。

系统有多个日志文件,该进程以循环的方式将数据写入文件。





f) Oracle 网络配置

Oracle产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接。

服务器端配置监听器,客户端配置网络服务名。

服务器端监听器配置信息包括监听协议、地址及其他相关信息。配置信息保存在名为listener.ora的文件中。在安装服务器软件时自动配置一个监听器;

客户端的网络服务名配置信息包括服务器地址、监听端口号和数据库SID等,与服务器的监听器建立连接。配置信息保存在名为tnsnames.ora的文件中.

Oracle中的 Net Configuration Assistant和Net Manager工具都能用来配置监听器和网络服务名



G)  会话

会话是用户与 Oracle 服务器的单个连接;

当用户与服务器建立连接时创建会话;

当用户与服务器断开连接时关闭会话.

启动Oracle 实例——>使用SQL*Plus连接至数据库——>创建用户进程——>创建服务器进程——>提交SQL 语句



h) Oracle 默认用户

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

Oracle 有几个默认的数据库用户是:SYSTEM, SYS,SCOTT;

SYSTEM 是默认的系统管理员,该用户拥有Oracle管理工具使用的内部表和视图。通常通过SYSTEM用户管理数据库用户、权限和存储等;

数据库中所有数据字典表和视图都存储在 SYS 模式中。SYS用户主要用来维护系统信息和管理实例。

SCOTT用户是Oracle 数据库的一个示范帐户,在数据库安装时创建.



i)    创建新用户

要连接到Oracle数据库,就需要创建一个用户帐户;

每个用户都有一个默认表空间和一个临时表空间;

CREATE USER命令用于创建新用户.

CREATE USER 命令的语法是:

create user stephen

identified by stephen

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP; (创建一个名称为 stephen的用户,其密码为 stephen)

j) 授予权限

权限指的是执行特定命令或访问数据库对象的权利;

权限有两种类型,系统权限和对象权限;

系统权限允许用户执行某些数据库操作,如创建表就是一个系统权限;

对象权限允许用户对数据库对象(如表、视图、序列等)执行特定操作;

角色是一组相关权限的组合,可以将权限授予角色,再把角色授予用户,以简化权限管理。

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

grant connect to stephen  --授予连接到用户 stephen 数据库并创建数据库对象

grant resource to stephen  --允许用户使用数据库中的储存空间

grant create  sequence to Stephen --此系统权限允许用户在当前模式中创建序列,此权限包含在CONNECT角色中

grant all on test to Stephen   --允许用户插入、删除、更新和查询 TEST 表中的记录



alter user Stephen identified by martinpass;--修改 Stephen 用户的密码



k)  Oracle 逻辑组件

数据库的逻辑结构是从逻辑的角度分析数据库的组成。Oracle 的逻辑组件包括:Logical和physical;

其中logiical分为:database,tablespace,segment,extent,DB Block;

Physiacal分为: datafile;OS Block.

表空间是数据库中最大的逻辑单位,一个 Oracle 数据库至少包含一个表空间,就是名为SYSTEM的系统表空间。

每个表空间是由一个或多个数据文件组成的,一个数据文件只能与一个表空间相关联。

表空间的大小等于构成该表空间的所有数据文件大小之和。

表空间的管理方式:数据字典管理表空间,本地管理表空间.



其创建语法为:

CREATE TABLESPACE tablespacename

DATAFILE ‘filename’ [SIZE integer [K|M]]

[AUTOEXTEND [OFF|ON]];



段:

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

区:

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

数据块:

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

模式:

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

L) 使用 Oracle 数据库的开发流程

服务器端: 安装 Oracle 服务器软件à创建数据库(安装时自动创建)à 配置监听器(安装时自动配置)à 启动Oracle实例(自动启动服务)

à创建用户表空间à创建新用户并授权.

客户端: 安装 Oracle 客户端软件à配置网络服务名à以新用户登录 Oracle à提交 SQL 查询



m)  Windows 中的 Oracle 服务

Oracle 9i的每个实例在Windows中都作为一项服务启动, 服务是在 Windows 注册表中注册的可执行进程,由 Windows 操作系统管理.



OracleHOME_NAMETNSListener

该服务启动数据库服务器的监听器,监听器接受来自客户端应用程序的连接请求;

若监听器未启动,则客户端将无法连接到数据库服务器



OracleServiceSID

该服务启动系统标识符为SID的数据库实例,其中 SID 是在安装 Oracle 9i 时输入的数据库名称

  OracleHOME_NAMEAgent

Oracle企业管理器组件智能代理服务,此智能代理用于执行作业和监控 Oracle 服务或对象的性能;

在使用Oracle管理服务器网络的环境中必须启动此服务

OracleHOME_NAMEHTTPServer

  该服务用于启动Oracle HTTP服务器,它提供文档信息、基于Web的企业管理器和iSQL*Plus等服务

OracleHOME_NAMEManagementServer

该服务启动Oracle管理服务器,它用于维护管理控制台对各个被管理服务器节点之间的集中的、智能的和分布式的控制;

该服务必须经过企业管理器配置向导配置完成后才创建



N) 实例:

--创建表空间

create tablespace Hahadata

datafile 'o:\haha.dbf'  size 5M

extent management local;



--创建用户,使用hahadata表空间

create user haha

identified by a default tablespace hahadata

account unlock;



--分配权限

grant connect to haha;--连接权限

grant resource to haha;--存储权限

grant dba to haha;--dba权限



grant update (job_desc) on jobs  to a



--删除用户

drop user haha cascade;



--删除表空间及文件

DROP TABLESPACE hahadata

INCLUDING CONTENTS AND DATAFILES;

更多学习见附件:

你可能感兴趣的:(数据结构,oracle,应用服务器,配置管理,网络应用)