拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle基础知识
  3. LLL的Oracle培训
  4. 正文

LLL的数据库培训-13-第二部分—Oracle基础知识培训—第5讲—Oracle11g的体系结构2(物理结构+逻辑结构)

2021年6月28日 1103点热度 0人点赞 0条评论

目录

  • 一、数据库结构
  • 二、物理结构
    • 1、 主要物理文件可分为三类:
    • 2、非主要物理文件包括:
  • 三、数据库结构——逻辑结构
    • 1、Oracle的逻辑组件包括:
    • 2、层次关系
    • 3、表空间
    • 4、段、区、块
      • (1)段:
      • (2)区:
      • (3)块:      
      •  (4)模式(模式=用户)
    • 5、案例
      • (2)查看当前用户下的表-[test1]
      • (3)查看表空间下的段和区
      • (4)回收站数据
  • 四、查看表空间信息
    • 1、查看表空间:
    • 2、查看dba数据文件,和v$tablespace联合查看
      • (1)查看表空间资源使用情况:
      • (2)查看表空间以及其下数据文件
      • (1)用户创建后:
      • (2)test:
      • (3)如果创建过程,指定了表空间,则就在此表空间中;
      • (4)更改数据库的默认表空间为其他的;

LLL的数据库培训—第二部分—Oracle基础知识培训—第5讲—Oracle11g的体系结构2(物理结构+逻辑结构)

一、数据库结构

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

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

image.png

二、物理结构

物理结构就是Oracle数据库所使用的操作系统物理文件。

1、 主要物理文件可分为三类:

数据文件:数据文件用于存储数据库数据,如表、索引数据等。

控制文件:控制文件是记录数据库物理结构的二进制文件。

在线日志文件:记录对数据库的所有修改信息,用于故障恢复。

丢失这些文件,数据库不可以继续运行,需要进行介质恢复。

2、非主要物理文件包括:

参数文件:$ORACLE_HOME/dbs/spfile.ora或initorcl.ora等

密码文件:$ORACLE_HOME/dbs/

告警和跟踪文件:/data/u01/app/oracle/diag/rdbms/orcl/orcl/trace

归档日志文件:恢复数据使用

备份文件:expdp,exp,rman备份

丢失这些文件,数据库仍然可以继续运行,不需要进行介质恢复。

三、数据库结构——逻辑结构

1、Oracle的逻辑组件包括:

上图,圆角型方框为实体,实线表示关系,单线表示单一的关系,三线(鹰爪线)表示多的关系,于是可以得到:

(1)每个数据库是有一个或多个表空间组成的(至少一个)

(2)每个表空间基于一个或多个操作系统的数据文件(至少一个)

(3)每个表空间中可以存放一个或多个段(segment)

(4)每个段有一个或多个区(extent)组成

(5)每个区是有一个或多个连续的oracle数据块组成

(6)每个oracle数据块是有一个或多个操作系统数据块组成

(7)每个操作系统数据文件是有一个或多个区组成

(8)每个操作系统数据文件是有一个或多个操作系统数块组成。

2、层次关系

3、表空间

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

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

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

(4)创建表空间语法:

CREATE TABLESPACE tablespacename DATAFILE 'filename' [SIZE integer [K|M]] [AUTOEXTEND [OFF|ON]];

4、段、区、块

(1)段:

段是构成表空间的逻辑存储结构,段由一组区组成。

按照段所存储数据的特征,将段分为若干种类型,主要有数据段、索引段、回退段和临时段。

(2)区:

区为段分配空间,它由连续的数据块组成。

当段中的所有空间已完全使用时,系统自动为该段分配一个新区。

区不能跨数据文件存在,只能存在于一个数据文件中。

(3)块:      

数据块是Oracle服务器所能分配、读取或写入的最小存储单元。

Oracle服务器以数据块为单位管理数据文件的存储空间。

SQL>show parameter db_block_size;——8192字节,每个块就是8192,每次读取,至少是8192字节;

SQL>select ename form emp where empno =7934; ——把ename所在的数据块,完整的从硬盘督导数据库缓冲区,再交给用户。       

虽然ename只有6个字节,但是因为块就是最小存储单元,依然会读取8192字节数据,

 (4)模式(模式=用户)

模式是对用户所创建的数据库对象的总称。

模式对象包括表、视图、索引、同义词、序列、过程和程序包等。

5、案例

conn test/123

(1)查看当前用户在那个默认表空间下【test_tbs】

select * from dba_users where username='TEST';

(2)查看当前用户下的表-[test1]

select * from user_tables;

(3)查看表空间下的段和区

select * from dba_segments where tablespace_name='TEST_TBS'
select * from dba_extents where tablespace_name='TEST_TBS'

(4)回收站数据

删除表:

drop table test1 purge;

select * from  user_recyclebin

四、查看表空间信息

1、查看表空间:

SQL>select * from v$tablespace;

2、查看dba数据文件,和v$tablespace联合查看

(1)查看表空间资源使用情况:

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",   
 D.TOT_GROOTTE_MB "表空间大小(M)",   
 D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",   
 TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') "使用比",   
 F.TOTAL_BYTES "空闲空间(M)",   
 F.MAX_BYTES "最大块(M)"  
 FROM (SELECT TABLESPACE_NAME,   
 ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,   
 ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES   
 FROM SYS.DBA_FREE_SPACE   
 GROUP BY TABLESPACE_NAME) F,   
 (SELECT DD.TABLESPACE_NAME,   
 ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB   
 FROM SYS.DBA_DATA_FILES DD   
 GROUP BY DD.TABLESPACE_NAME) D   
 WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME   
 ORDER BY 4 DESC;

(2)查看表空间以及其下数据文件

中文展示:
select     
    b.file_name 物理文件名,
    b.tablespace_name 表空间,
    b.bytes/1024/1024 大小M,
    (b.bytes-sum(nvl(a.bytes,0)))/1024/1024  已使用M,
    substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)  利用率 
    from dba_free_space a,dba_data_files b 
    where a.file_id=b.file_id 
    group by b.tablespace_name,b.file_name,b.bytes 
    order by b.tablespace_name;
英文展示:
    select     
    b.file_name datafile,
    b.tablespace_name tablespace,
    b.bytes/1024/1024 total_M,
    (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 used_M,
    substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5)  percent 
    from dba_free_space a,dba_data_files b 
    where a.file_id=b.file_id 
    group by b.tablespace_name,b.file_name,b.bytes 
    order by b.tablespace_name;

7、默认表空间(从v$tablespace中查看)

SYSTEM、SYSAUX、TEMP、UNDOTBS1、USERS、EXAMPLE

(1)SYSTEM是系统表空间,存放系统的最基本的信息,如果SYSTEM表空间坏掉,Oracle将无法启动。

(2)SYSAUX从10g中引入,作为SYSTEM的辅助表空间,用以减少SYSTEM表空间的负荷 。

以前其他表空间中的一些组件,现在放到SYSAUX表空间中了。

比如,以前SYSTEM表空间中LogMiner、以前SYSTEM表空间中Logical Standby、Spatial、以前DRSYS表空间中Oracle Text等。

(3)TEMP是临时表空间,当排序不能在分配的空间中完成时,就会使用磁盘排序的方式,即在Oracle实例中的临时表空间中进行。

(4)UNDOTBS1是撤销表空间,是UNDO类型的表空间,保存用户进行DML操作中,修改前的数据。

(5)USERS是数据库默认的永久表空间。

用户创建后,如果默认,那么用户下的数据都在USERS这个表空间中,

select * from dba_users  where username='TEST';

(6)EXAMPLE是数据库测试用例所涉及的表的所属表空间。

8、创建表空间及用户的关系

(1)用户创建后:

SQL> create user test identified by test;

(2)test:

用户默认是在USES表空间下,后期test用户下的表和所有数据都在此表空间下。

SQL> select default_tablespace from dba_users where username='TEST';
SQL> select *  from dba_tables where owner='TEST';

image.png

image.png

(3)如果创建过程,指定了表空间,则就在此表空间中;

SQL>create user messhycbz identified by "Mes#shycbz" default tablespace MESPRD_TBSP temporary tablespace TEMP profile DEFAULT;

(4)更改数据库的默认表空间为其他的;

SQL> alter database default tablespace test_tbs;
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2022年8月26日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号