oracle 数据库学习 基本结构介绍

普及一下oracle的基础知识,总结一下,oracle 是由实例和数据库组成。结构如下:

oracle数据库由实例、数据库组成:

* 数据库由数据文件(包含oracle 数据、索引、表结构等数据)、控制文件(包括每个表的操作信息)、日志文件(数据操作sql语句)、参数文件、口令文件、日志归档文件(归档模式下)(服务器崩溃、硬盘损坏情况下,通过日志恢复时用)

* 实例由 内存结构(memory strutct) 和 后台进程(background processor)组成。

内存结构组成:

* PGA: Processor Global Area 程序全局区 ,每一个客户端接入到oracle 服务器都有一个PGA,用于保存该客户单的相关信息

* SGA: System Global Area 系统全局区,主要是给oracle实例使用,包括 shared pool 、 data buffer area , redo log buffer .

共享池(shared pool):

* 包括library cache 、data directory cache 组成,其中 library cache 主要保存最近的sql 检查、编译、执行计划, 下次有同样语句过来的时候,可以重用这些,避免重复的检查编译执行计划。 data directory cache 主要保存数据库数据表的字段定义、索引数据等, shared pool 的大小直接影响到数据库的性能。

data buffer area : 主要保存用户对数据的修改,查询操作。该内存区域的大小直接影响数据库的性能。

redo log buffer area: 主要保存最近用户对数据库的操作记录,该大小对数据库性能没有多大影响

oracle 必须要的后台进程包括:PMON 、 SMON 、 DBWR、 LOGWR、 CKPT、其他,每个作用如下:

*PMON 监控PGA的健康情况,释放已经死去的PGA,回收资源,管理PGA的生命周期

*SMON 监控SGA的健康情况,收集SGA碎片内存,监控实例健康情况

*DBWR 维护data buffer area 和物理表数据的一致性

*LGWR 维护redo log buffer area 内存数据和日志文件的一致性

*CKPT 设置检查点,在oracle 实例出现问题的时候,可以恢复到实例失败前的情况。

oracle 内存结构有 块、区、段、表空间组成,块是oracle 在内存中的最小结构, 区、段、 表空间是oracle 依次向上的内存结构。快的太小数据管理麻烦,太大,数据碎片比较多。具体情况具体分析。

表空间是oracle最大的逻辑单位,一个表空间只能属于一个数据库,一个数据库可以包含多个表空间,但默认包含一个system的表空间。创建表空间的语法:

代码如下:

CREATE TABLESPACE name
DATAFILE path [SIZE interger M|K]
LOGFILE path
[AUTOEXTEND ON | OFF]

客户端链接服务器配置:

以后补充

(0)

相关推荐

  • oracle复制表结构和复制表数据语句分享

    1. 复制表结构及其数据: 复制代码 代码如下: create table table_name_new as select * from table_name_old 2. 只复制表结构: 复制代码 代码如下: create table table_name_new as select * from table_name_old where 1=2; 或者: 复制代码 代码如下: create table table_name_new like table_name_old 3. 只复制表数据

  • BS结构中使用PHP访问ORACLE LOB

    PHP,即"PHP: Hypertext Preprocessor",是一种广泛用于 Open Source(开放源代码)并可以嵌入 HTML 的多用途脚本语言.它的语法接近 C.Java 和 Perl,易于学习.该语言的主要目标是让 Web 开发人员快速的书写动态生成的网页,然而,PHP 的功能并不局限于此.PHP普遍被认为可以更快和更有效地实现复杂的编程任务,而且正是因为它的更稳定以及占用更少资源的优点成为开发B/S结构系统的必备的WEB脚本设计语言,扮演着类似中间件的角色,即语法

  • oracle逻辑结构分析

    oracle的逻辑结构包括表空间(tablespace),段(segment),区(extent),数据块(data block) oracle数据库在逻辑上是由多个表间组成的,表空间中存储的对象叫段,比如数据段,索引段,和回退段.段由区组成,区是磁盘分配的最小单位.段的增大是通过增加区的个数来实现的.每个区的大小是数据块大小的整数倍,区的大小可以不相同:数据块是数据库中最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位.块的大小由参数DB_BLOCK_SIZE设置,其值应设

  • Oracle 11g Release (11.1) 索引底层的数据结构

    本文内容 B-树(B-tree) 散列(Hash) k-d 树(k-d tree) 点四叉树(Point Quadtree) 本文介绍关于 Oracle 索引的结构.大概了解 Oracle 索引底层的数据结构,从而更好地理解 Oracle 索引对增.删.改.查的性能. B-树(B-tree) 非索引的结构能满足所有需要,但自平衡的 B-树索引结构更能优化在大数据集上检索的性能.每个 B-树节点拥有多个键和指针.特定 B-树支持的一个节点中键的最大数量是那颗树的顺序.每个节点都具有一个潜在的 or

  • Oracle中scott表结构与简单查询实例分析

    本文实例讲述了Oracle中scott表结构与简单查询的方法.分享给大家供大家参考.具体分析如下: 1.scott用户的表的结构 查看表结构 desc 表名;//desc emp; emp表: SQL> desc emp; 名称 是否为空? 类型 ----------------- -------- ------------ EMPNO NOT NULL NUMBER(4) 雇员编号 ENAME VARCHAR2(10) 雇员姓名 JOB VARCHAR2(9) 雇员职位 MGR NUMBER(

  • Oracle SQL树形结构查询

    oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect by 是结构化查询中用到的,其基本语法是: 复制代码 代码如下: select * from tablename start with cond1 connect by cond2 where cond3; 简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段: id,parentid那么通过表示每一条记录的parent是谁,就可以形成一个树状结构. 用上

  • oracle 数据库学习 基本结构介绍

    普及一下oracle的基础知识,总结一下,oracle 是由实例和数据库组成.结构如下: oracle数据库由实例.数据库组成: * 数据库由数据文件(包含oracle 数据.索引.表结构等数据).控制文件(包括每个表的操作信息).日志文件(数据操作sql语句).参数文件.口令文件.日志归档文件(归档模式下)(服务器崩溃.硬盘损坏情况下,通过日志恢复时用) * 实例由 内存结构(memory strutct) 和 后台进程(background processor)组成. 内存结构组成: * P

  • ORACLE数据库事务隔离级别介绍

    两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题: 1.幻想读:事务T1读取一条指定where条件的语句,返回结果集.此时事务T2插入一行新记录,恰好满足T1的where条件.然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想. 2.不可重复读取:事务T1读取一行记录,紧接着事务T2修改了T1刚刚读取的记录,然后T1再次查询,发现与第一次读取的记录不同,这称为不可重复读. 3.脏读:事务T1更新了一行记录,还未提交所做的修改,这个T2读取了更新后的数据

  • 详解Oracle数据库中自带的所有表结构(sql代码)

    目录 一.tb_emp(员工表) 1.建表 2.导入数据 3.查表 二.tb_dept(部门表) 1.建表 2.导入数据 3.查表 三.tb_bonus(奖金表) 1.建表 2.导入数据 3.查表 四.tb_salgrade(工资等级表) 1.建表 2.导入数据 3.查表 五.tb_users(用户表) 1.建表 2.导入数据 3.查表 六.tb_saldetail(工资详细表) 1.建表 2.导入数据 3.查表 一.tb_emp(员工表) 1.建表 CREATE TABLE "TEST&quo

  • 使用instantclient客户端连接oracle数据库

    (1)首先下载instantclient_11_2 (解压如下) 修改instantclient_11_2/tnsnames.ora 文件,将你需要链接的oracle服务器地址写上,tnsnames.ora格式和部分文件内容如下: LocalDB= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME

  • C#使用Oracle.ManagedDataAccess.dll组件连接Oracle数据库

    一.概述 Oracle Data Provider for  .NET, Managed Driver: Oracle官方的托管数据库访问组件,单DLL,Oracle.ManagedDataAccess.dll,不安装Oracle客户端,不区分32/64位, 直接引用即可. 与非托管程序为Oracle.DataAccess.dll相比,BulkCopy和CustomType之类的都是不支持的: 1.下载地址 官方下载地址: http://www.oracle.com/technetwork/da

  • 对学Oracle数据库初学者的开场篇

    前言:因为项目原因,近期开始学习Oracle数据库.Oracle是目前最流行的数据库之一,功能强大,性能卓越,相对的学习的难度还是不小.我打算将自己的学习过程记录下来,做个积累,方便自己和其他的学习者. 写在学习前面的话,主要是: 1.把一些常见问题的问答分享一哈: 2.对学习路线的一个安排: 3.预期的结果展望. 1.Oracle数据库学习常见问题问答 Question1: Oracle数据库的书很难看懂,oracle真的很难学习吗? Answer1: Oracle就是一个小软件,它把复杂的事

  • 限制ip访问Oracle数据库的方法步骤

    一.概述 本文将给大家介绍如何限制某个ip或某个ip段才能访问Oracle数据库 通过sqlnet.ora 通过/etc/hosts.deny和/etc/hosts.allow 通过iptables 二.正式实验 本次实验环境是Centos6.10 + Oracle 11.2.0.4单实例,数据库服务器ip地址为192.168.31.71 1. 通过sqlnet.ora a. 关闭数据库服务器上的防火墙,修改sqlnet.ora文件 该文件放在$ORACLE_HOME/network/admin

  • zabbix agent2 监控oracle数据库的方法

    概述 在zabbix5.0版本以上,新增了一个特性,那就是zabbix-agent2,这个是zabbix公司使用go语言重写的一个代理,可以完全替代原来的zabbix-agent.这个代理功能比原来的要强大的多,内置了很多个插件支持对基础资源的监控.这里我选用oracle的插件,来看看zabbix-agent2可以支持监控哪些指标. 安装 安装zabbix-agent2 这里采用zabbix提供的官方repo,进行安装 rpm -Uvh https://repo.zabbix.com/zabbi

  • 在.NetCore(C#)中使用ODP.NET Core+Dapper操作Oracle数据库

    前言 虽然一直在说"去IOE化",但是在国企和政府,Oracle的历史包袱实在太重了,甚至很多业务逻辑都是写在Oracle的各种存储过程里面实现的-- 我们的系统主要的技术栈是Django / Spring / AspNetCore,Java的不必说对Oracle支持肯定没问题,关键在于Django对Oracle版本有要求,兼容性不是特别好,Oracle版本没办法随意升级的,所以我想到用.Net Core来写个中间层,让其他系统可以方便的使用Oracle的数据和存储过程- ODP.NE

  • Linux 创建oracle数据库的详细过程

    目录 一.切换到Oracle用户 二.登录到sys用户 三.创建临时表空间 四.创建表空间 五.创建用户名密码并与绑定表 六.添加权限 七.查询已创建的用户 八.解锁用户 九.删除用户 十.修改密码 一.切换到Oracle用户 su – oracle 二.登录到sys用户 sqlplus / as sysdba 三.创建临时表空间 //查询临时表空间有哪些 select name from v$tempfile; //创建(注意替换LRMS_TMP 为自己的表名) create temporar

随机推荐