2019独角兽企业重金招聘Python工程师标准>>>

存储结构与数据文件
存储结构:
database----tablespace-----sefment-----extent----blocks
|
datafile
tablespace:存储数据和表数据
1.表空间分类:
1.1永久表空间:存放用户和字典
查看表空间有名字及属于哪种类型:select tablespace_name,contents from dba_tablespaces;
1.1.1system(字典表空间):存放当前数据库数据字典信息,对象的结构信息,Oracle内部的基表(查看基表 desc tab$) 。
1.1.2sysaux(辅助表空间):分单字典表空间的负担,存放oracle内部使用的工具,
查看辅助表空间有哪些工具:select occupant_name from v$sysaux_occupants;
1.1.3undo(回退表空间):存放用户对数据块修改前的前镜像,主要用来用户执行回退或闪回操作;
1.1.4temp(临时表空间):1.存放用户临时数据,2.内存不够用时,排序操作
1.1.5users/example(用户表空间):需要手动创建

1.2表空间的状态:
online:联机 offline:离线 read write:可写 read only:只读
system空间不能offline/read write/read only
sysaux空间不能read only
设置表空间状态:alter tablespace users offline;
2.表空间的创建
创建语法:create [smallfile | bigfile] tablespace <> datafile '/' size <> [ extend uniform size <> | autoextend segment management local | auto];
创建小表表空间:select bigfile tablespace sarch1 datafile '/opt/u01/oracle/oradata/db/up14.dbf' size 50m;
创建自动增长的大表表空间:select bigfile tablespace sarch1 datafile '/u01/..... .dbf' size 50m autoextend on;
查看默认使用的哪个表空间:select property_name,property_value from database_properties where property_name like '%DEF%';
设置默认表空间:alter database default tablespace <> ;
使用默认的小 | 大 表表空间:alter databale set default smallfile | bigfile tablespace;
小表表空间:一个表空间下存放多个数据文件(最多存放1023个数据文件每个数据文件大小不能从超过32G)--------->系统默认
小表表空间数据文件头部:4k
大表表空间:一个表空间只存放一个数据文件(最大达到128T,最小8T,能放40亿个数据块)
大表表空间数据文件头部:4M
3.表空间的管理:

1.表空间改名:
注:system/sysaus 不能改名 自己创建的表空间可以改名
语法:alter tablespace <old> rename to <new>;

2.自己创建的表空间的迁移或空间下的数据文件的迁移
1.open状态下执行
注:不能离线的表空间不能迁移,能够离线的表空间可以迁移,不能直接拷贝(cp)需要离线
1.直接离线表空间(不建议使用,影响用户)
1.离线表空间:alter tablespace <> offline;
2.查看有哪些表空间:select tablespace_name,file_name from dba_data_files; 并拷贝(cp)到新路径
3.更新系统路径:alter tablespace <> rename datafile '/<old>' to '/<new>';
4.表空间在线:alter tablespace <> online;
2.迁移表空间的某个数据文件:
1.离线数据文件:alter database datafile <路径 | 编号> offline;
查看数据文件编号:select file#,name,status from v$datafile;
2.拷贝到新路径;cp
3.更新系统路径:alter database rename file '/<old>' to '/<new>';
4.介质恢复:recover datafile <编号 | 路径>;
5.数据文件在线:alter database datafile <编号 | 路径> online
2.mount状态下执行
1.拷贝到新路经
2.更新系统路径:alter database rename file '/<old>' to '/<new>';
3.打开数据库:alter database open;
3.表空间的扩容:表空间使用率达到85%时需扩容--->推荐使用1.3种
查看表空间使用情况:select tablespace_name,bytes/1024/1024 bytes from dba_data_files; |
查看空闲情况:select tablespace_name,sum(bytes/1024/1024) bytes from dba_free_space group by tablespace_name ;
查看表空间是否自动增长:select file_name,autoextensible from dba_data_files;
扩容方法:
1.没有使用自动增长:----->该为自动增长:autoextend on
alter database <> datafile '/' autoextend on
2.重置表空间的大小或数据文件的大小(使用它会出问题因为用户在使用)
alter database datafile '/' resize 60M;
3.在表空间下增加数据文件
alter tablespace <> add datafile '/' size 50M;
4.表空间的删除:
没有对象:drop tablespace <>;
有对象:drop tabalespace <> including contents;
删除表空间及物理文件:drop tabalespace <> including contents and datafiles;
5.表空间相关试图:
dba_tablespaces;
dba_data_files;
dba_free_space;
v$tablespace(动态);
undo表空间:主要给普通用户使用
默认分配10个段。
查看Undo表空间有多少个段:select segment_name from dba_rollback_segs;
查看undo表空间参数:show parameter undo;
1.作用
回退操作--------rollback
闪回操作-------commit
一致性
undo出了问题
创建undo表空间语法(也可以做smallfile | bigfile):
create undo tablespace <> datafile '/' size <> autoextend in [ segment management <> entent management <> | uniform size <>];
undo_management:
rallback segment:
aum:auto undo management
mum:manual undo management
11g:manual ----不能呢个做dml操作
sys----system
auto----
2.1Undo 表空间丢失处理(系统自带的)
1.改为手动管理:alter system set undo_management=manual scope=spfile;
2.重启数据库:shutdown immediate ---->启动:startup
3.删除undo表空间:drop tabalespace <>
4.创建undo表空间:create undo tablespace <> datafile '/' size 100m autoextend on ;
5.改为自动管理:alter system set undo_management=auto scope=spfile;
6.重启数据库:shutdown immediate ----->启动:startup
2.2undo物理文件丢失
1.关闭数据库:shutdown immediate; | shutdown abort;
启动到nomount阶段:startup nomount
2.改为手动管理undo表空间:alter system set undo_management=manual scope=spfile;
3. 启动数据库到mount阶段:shutdown immediate ---->startup nomount---->salter database mount;
4.让undo数据文件离线并删除物理文件: alter database datafile 3 offline drop;
5.打开数据库:alter databases open;
6.删除undo表空间(如果有dml操作会报错需要使用隐藏参数进行删除): drop tablespace undotbs1
7.新建undo: create undo tablespace undotbs1 datafile '/' size 100m autoextend on ;
8.改为默认:alter system set undo_tablespace=undotbs1;
9.该为自动管理: alter system set undo_management=auto scope=spfile
如果第六步不成功:
7.create pfile=‘/tmp/a.ora’ from spfile;
8.加隐藏参数过滤掉活动的undo段;
select segment_name from dba_rollback_segs where tablespace_name='UNDOTBS1'
vim /tmp/a.ora
添加: _corrupted_rollback_segments=(''_SYSSMU1_1240252155$,'...')
9.使用pfile启动数据库
startup pfile='/tmp/a.ora';
10.删除undotbs1并重新创建一个undo设为默认的
drop tablespace undotbs1 including contents and datafiles;
create undo tablespace undotbs2 datafile '/' size <> autoextend on;
alter system set undo_tablespace=undotbs2;
alter system set undo_management=auto scope=spfile;
11.重启并打开数据库
shutdown immediate---------->startup;
3.Undo表空间扩容(达到85%):
1.改为自动增长autoextend on
alter database datafile '/' autoextend on;
2.重置表空间大小 resize
alter database datafile '/' resize <>;
3.将表空间增加数据文件
alter tabalespcae <> add datadile ' ' size <>;
4.Undo试图:
与永久表空间试图一样
temp:临时表空间:
1.作用:
1.存放用户临时数据,
2.排序操作时,内存不够用时,
2.创建语法:
create temporary tablespace <> tempfile '/' size <> [segment management <> | extent management <> uniform size <> ];
查看临时表空间相关信息:desc dba_temp_files;
3.管理:
1.改为自动增长autoextend on
alter database datafile '/' autoextend on;
2.重置表空间大小 resize
alter database datafile '/' resize <>;
3.将表空间增加数据文件
alter tabalespcae <> add datadile ' ' size <>;
4.丢失处理:
允许重启:只需将数据库重启,
不允许重启:重新创建一个表空间并设置成默认的
1.重建:create temporary tablespace <> tempfile '/' size <> autoextend on;
2.设置为默认:alter database default temporary tablespace <>;
3.删除丢失的表空间:drop tablespace <>;
5.相关试图:
多1个 dba_temp_files;
segment(段):
查看段的信息:desc user_segments(11g只有插入数据到segment里面才会分配段)
段的产生:
用户执行创建对象的时候,系统自动分配段,默认情况用户创建对象时候系统分配一个段,
段只有名字,没有大小
段的分类:
表段:
索引段:
临时段:
undo段:
段的管理:
字典管理:10g就被淘汰。
本地管理:
extent:(区)
区只有大小,没有名字:
查看区的信息:desc user_extents
区的管理:
区的大小自动管理
本地管理:
Block:数据块
查看数据库信息: show parameter db_block

数据文件:
数据文件状态:
online: 联机 offline:离线 recover:需要做介质恢复

转载于:https://my.oschina.net/hdlp520/blog/893093

oracle 11g 存储结构和数据文件相关推荐

  1. SQL SERVER大话存储结构:数据库数据文件

    http://www.cnblogs.com/xinysu/ 转载于:https://www.cnblogs.com/zengkefu/p/6961267.html

  2. Oracle物理存储结构--文件

    原文地址:[基础]Oracle物理存储结构--文件作者:诗意方式 1 数据文件 3.查询数据文件参数 要将数据文件置为脱机状态,可以通过下列语句实现,如将SCOTT对象的数据文件置为脱机状态: SQL ...

  3. oracle 11g dul,学习笔记:Oracle dul数据挖掘 导出Oracle11G数据文件坏块中表中

    试验模拟导出Oracle 11G数据库中数据文件坏块中表中的数据 以前一直以为dul对应的版本只能恢复最高的数据库版本一致,今天测试发现dul 10可以恢复11g最新版的数据库. 模拟环境SQL> ...

  4. 赵强老师:Oracle数据库系列课程(12)管理数据库的存储结构与数据的并发-赵强老师-专题视频课程...

    赵强老师:Oracle数据库系列课程(12)管理数据库的存储结构与数据的并发-82人已学习 课程收益     从零开始学习Oracle数据库,让学员读整个Oracle数据库有个全面清除的认识和学习. ...

  5. [20150113]关于oracle的存储结构.txt

    [20150113]关于oracle的存储结构.txt --这阵子在看vage写的>,里面第一章提到: --P2 --每个文件的前128个块,都是文件头,被Oracle留用了.在oracle 1 ...

  6. oracle 11g目录结构详解

    oracle 11g目录结构详解-pf文件 概述 前段时间有朋友留言需要oracle目录结构的介绍,所以整理了下这方面内容,这里简单分享下,下面以oracle 11g目录结构做说明. 11g目录结构 ...

  7. Oracle的表空间和数据文件

    一. 概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空 ...

  8. ORACLE数据库存储结构简介(转)

    首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的.    逻辑存储结构:oracle内部的组织和管理数据的方式.   物理存储结构 ...

  9. oracle数据库源数据路径,oracle中用什么命令查找数据文件所在路径呢?

    oracle中用什么命令查找数据文件所在路径呢? 来源:互联网  宽屏版  评论 2009-07-09 18:39:28 分类: 电脑/网络 >> 电脑常识 问题描述: 在pl/sql中执 ...

最新文章

  1. php 获取js变量
  2. 数据挖掘导论读书笔记2
  3. 赛锐信息:SAP订单统一管理系统
  4. 实验报告-python文库_Python实验报告
  5. 洛谷1056 排座椅 解题报告
  6. 1051: 平方根的和
  7. lisp取消选集选中状态_为什么对话框创建后是隐藏状态的
  8. flume的各个组件及整体工作流程
  9. 设置部分文件不适用ARC机制
  10. python ssologin_django-sso单点登陆的实现
  11. 玩转小黑框!Terminal 入门到进阶,最后放弃!
  12. 开关电源模块并联供电系统_开关电源中X电容与Y电容的作用
  13. Java求解N皇后问题
  14. 安装nginx,php8,nfs,oralce19c客户端
  15. IDEA更新至2020版后Version Control窗口的还原问题
  16. 天干地支计算年月日时
  17. 在vue中使用turn.js
  18. ARM到底是冯诺依曼结构还是哈佛结构?
  19. Enable MMC3 interface On Am57xx
  20. 【随机过程】马尔可夫链(1)

热门文章

  1. USACO Section2.2 Preface Numbering 解题报告 【icedream61】
  2. Java中的锁(转)
  3. lucene案例demo
  4. python怎么实现黑客攻击英国_注意!你的隐私就是这样被黑客获取的
  5. 金融数据分析与挖掘实战 4.2 Matplotlib(二)
  6. web前端要学哪些东西,前端大牛分享的技能整理
  7. java 综合练习_Java第二季6-1综合练习作业
  8. 宏定义_do{...} while(0U)宏定义的作用和意义
  9. Linux搭建虚拟专用,Ubuntu的发行版如何搭建虚拟专用网
  10. 杨云 中科院计算机所,专家人才库数据----中国科学院计算技术研究所