Oracle学习笔记1_Oracle架构组件,服务器入门

oracle体系架构总览图,必须掌握该图,了如指掌

1.Oracle server

一整套软件,是一个数据库管理系统,它为信息管理提供了一种开放、全面、集成的方法;

包含Instance和Database。

2.Oracle Instance

  • 是访问Oracle数据库的一种方法;
  • Instancce由内存和后台进程组成;
  • Instance和Database是多对一的关系。
关键组成:
  1. 后台进程(Background Processes):这些进程在数据库实例运行期间负责各种后台任务,如数据库恢复、故障监控、日志写入等。其中一些重要的进程包括 SMON、PMON、DBWn、LGWR、CKPT 等。

  2. System Global Area (SGA):SGA 是 Oracle 数据库在共享内存中的部分,用于存储和管理重要的数据结构和缓冲区。SGA 包括数据库缓冲区、共享池、重做日志缓冲区等。SGA 的大小和配置可以通过参数进行管理和调整,以满足系统的需求。

  3. 数据字典(Data Dictionary):数据字典是 Oracle 数据库的元数据存储,包含了关于数据库对象(如表、索引、视图等)和用户的描述信息。它提供了对数据库结构的访问和查询。

  4. 用户进程(User Processes):用户进程是指连接到数据库的客户端应用程序进程,它们通过网络与数据库实例进行通信,发送 SQL 语句并接收结果。

  5. PGA(Program Global Area):PGA 是每个用户进程或服务器进程的私有内存区域,用于存储并管理特定会话的数据和资源。

进程结构:
  1. 用户进程(User Processes):简单说就是用户客户端为了连接数据库而存在的进程
  2. 服务器进程(Server Processes):服务器进程是 Oracle 数据库中用于处理用户请求的主要执行者。当用户进程发送 SQL 请求时,服务器进程负责解析和执行该请求,访问存储在数据库中的数据,并返回结果给用户进程。服务器进程还负责协调并管理与其他进程之间的通信,如与后台进程的交互和数据传输。

    IPC&TCP/IPIPC是一种在同一主机上的进程之间进行通信的机制TCP/IP是一组通信协议,用于在网络上实现进程间通信。

  3. 后台进程(Background Processes):后台进程是在数据库实例运行期间负责各种后台任务的特殊进程。这些进程在后台运行,并在数据库管理和维护方面发挥重要作用。

  • DBWn:将Database Buffer Cache数据写入Data files

  • LGWR:将Redo Log Buffer数据写入Redo Log files

  • SMON: 清理垃圾

  • PMON:监控各个进程

  • CKPT:检查点进程

  • ARCn:归档进程

比较形象的拿三者打比方,Background Processes是生产线上的工人,User Processes是客户,Server Processes是销售;

3.Oracle Database

是作为一个单元处理的数据集合;

由三种文件类型组成(Data files 数据文件,Control files 控制文件,RedoLog files 重做日志文件)

  • Data files

存储数据的文件

  • Control files

为了操作数据文件的文件,主要提供控制信息

  • RedoLog files

记录数据库的改变,用于恢复数据文件

  • 其他文件

Parameter file 参数文件

Password file 存储口令的文件

Archived Log files 归档日志文件

Oracle database的特点
  1. 可靠性和稳定性:Oracle Database 采用了许多高可用和容错机制,例如故障恢复、数据冗余和备份恢复等,以确保数据的安全性和可靠性。

  2. 可扩展性:Oracle Database 支持横向和纵向的扩展,可以根据需要增加处理能力和存储容量,以适应不断增长的数据和用户需求。

  3. 数据安全性:Oracle Database 提供了强大的安全功能,包括用户认证、授权、数据加密和审计等,以保护敏感数据免受未经授权的访问和操作。

  4. 多模型数据库:除了传统的关系数据库模型,Oracle Database 还支持多种其他数据模型,如空间数据、XML 数据、图形数据和对象数据等,以满足不同类型的数据存储和处理需求。

  5. 高性能:Oracle Database 优化了查询引擎和数据存储结构,采用了先进的查询优化器和并行处理技术,以实现高效的数据查询和处理性能。

  6. 数据管理和分析功能:Oracle Database 提供了丰富的数据管理和分析工具,包括数据备份和恢复、数据复制和同步、报表生成和数据挖掘等,使用户能够更好地管理和利用数据。

  7. 可定制性:Oracle Database 支持存储过程、触发器和自定义函数等可编程对象,并提供了灵活的扩展机制和开发工具,以便用户根据自己的需求进行定制和扩展。

4.Connection & Session (连接与会话)

两者相辅相成

  • connection

oracle客户端和后台服务器进程建立的TCP连接。连接表示应用程序或用户与数据库服务器之间的物理连接。通过连接,应用程序可以与数据库建立通信渠道,并发送和接收数据。连接是一种底层的网络通信机制,通常由连接字符串、用户名、密码和数据库服务器地址等信息组成。

  • Session

会话是一个逻辑概念,表示在数据库中的一段活动期间。在一个连接上,可以创建一个或多个会话,每个会话都对应于一个用户或应用程序与数据库之间的特定工作环境。会话跟踪了特定用户或应用程序的活动和状态,包括变量、临时表和已打开的游标等。一旦会话建立,用户可以通过会话执行 SQL 语句、修改数据和查询数据库等操作。

5.Memory Structure

主要分为两个结构:SGA,PGA

  • SGA(System Global Area):

是 Oracle 数据库的内存区域,用于存储数据库实例运行时的重要数据结构和数据缓存。

  1. 数据库缓冲区(Database Buffer Cache):用于存储从磁盘读取的数据块的副本,以提高访问速度。数据库缓冲区主要用于减少磁盘 I/O 操作,优化数据访问性能。

  2. 共享池(Shared Pool):包括共享 SQL Area 和共享数据字典缓存。共享 SQL Area 存储 SQL 语句的解析树和执行计划等信息,以便共享和重用相同的 SQL 语句。共享数据字典缓存存储数据库对象的元数据(如表、索引、视图等)信息,以提高数据字典访问的效率。

  3. 重做日志缓冲区(Redo Log Buffer):用于存储数据库的重做日志,记录数据库操作的详细信息。通过重做日志,Oracle 可以保证数据库的持久性和恢复能力。

  4. Java 池(Java Pool):用于存储 Oracle 数据库中使用 Java 编程语言编写的应用程序的数据和执行环境。

  5. 大池(Large Pool):用于存储辅助性数据结构和更大的内存块,如备份和恢复操作期间的临时数据缓存。

查看每个组成部分和大小

select component, granule_size from v$sga_dynamic_components;

  • PGA(Program Global Area):

是 Oracle 数据库的内存区域,用于存储每个用户进程或服务器进程的私有数据和管理相关资源。

  1. 排序区域(Sort Area):用于存储排序操作(如 ORDER BY 或连接操作)生成的临时数据。

  2. 连接高速缓存(Cursor Cache):用于存储 SQL 语句的执行计划、解析树和相关元数据信息。这样可以避免对重复 SQL 语句进行解析和优化,提高性能。

  3. 栈区域(Stack Area):用于存储每个用户进程或服务器进程的变量、参数和函数调用信息。栈区域是用来管理进程间的通信和执行函数的关键内存区域之一。

  4. PL/SQL 区域(PL/SQL Area):用于存储 PL/SQL 存储过程和函数的字节码和运行时数据。

6.Oracle逻辑结构

一个Oracle server上只有一个database,一个database可以有多个tablespace------一个extent是一些连续的blocks

DBA工具

1.Oracle Universal Installer(OUI)

  • 用于安装、升级或移除软件组件
  • 基于Java引擎
  • 功能包括:
  1. 自动依赖解析
  2. 网络安装跟踪
  3. 库存管理
  4. 卸载已安装组件
  5. 多个Oracle Home 支持
  6. 全球化技术支持
  • 交互式启动OUI

UNIX:

./runInstaller

NT:

Start > Programs > Oracle Installation > Products > Universal Installer

  • 非交互式安装 

事先准备响应文件myrespfile

./runInstaller -responsefile myrespfile -silent

2.Oracle Database Configuration(DBCA)

与OUI交互的图形用户界面工具,或者可以独立使用,以创建、删除或修改数据库

数据库管理员用户

  • 系统会自动创建“SYS”和“SYSTEM”用户

在创建数据库期间,授予DBA角色

  • User SYS

数据库数据字典的所有者

  • User SYSTEM

Oracle工具使用的其他内部表和视图的所有者

3.SQL*Plus

  • Oracle工具提供:

与数据库交互和操作的能力

能够启动和关闭数据库、创建和运行查询、添加行、修改数据和编写自定义报告

  • 具有特定附加组件的标准SQL语言的子集
  • 连接到SQL*Plus:
sqlplus /nolog
connect / as sysdba
startup

4.Oracle Enterprise Manager(了解)

  • 作为dba的集中式系统管理工具
  • 用于管理、诊断和调优多个数据库的工具
  • 用于管理来自多个位置的多个网络节点和服务的工具
  • 用于与其他管理员共享任务
  • 提供用于管理并行服务器和复制数据库的工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值