oracle 11g 存储结构和数据文件
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 存储结构和数据文件相关推荐
- SQL SERVER大话存储结构:数据库数据文件
http://www.cnblogs.com/xinysu/ 转载于:https://www.cnblogs.com/zengkefu/p/6961267.html
- Oracle物理存储结构--文件
原文地址:[基础]Oracle物理存储结构--文件作者:诗意方式 1 数据文件 3.查询数据文件参数 要将数据文件置为脱机状态,可以通过下列语句实现,如将SCOTT对象的数据文件置为脱机状态: SQL ...
- oracle 11g dul,学习笔记:Oracle dul数据挖掘 导出Oracle11G数据文件坏块中表中
试验模拟导出Oracle 11G数据库中数据文件坏块中表中的数据 以前一直以为dul对应的版本只能恢复最高的数据库版本一致,今天测试发现dul 10可以恢复11g最新版的数据库. 模拟环境SQL> ...
- 赵强老师:Oracle数据库系列课程(12)管理数据库的存储结构与数据的并发-赵强老师-专题视频课程...
赵强老师:Oracle数据库系列课程(12)管理数据库的存储结构与数据的并发-82人已学习 课程收益 从零开始学习Oracle数据库,让学员读整个Oracle数据库有个全面清除的认识和学习. ...
- [20150113]关于oracle的存储结构.txt
[20150113]关于oracle的存储结构.txt --这阵子在看vage写的>,里面第一章提到: --P2 --每个文件的前128个块,都是文件头,被Oracle留用了.在oracle 1 ...
- oracle 11g目录结构详解
oracle 11g目录结构详解-pf文件 概述 前段时间有朋友留言需要oracle目录结构的介绍,所以整理了下这方面内容,这里简单分享下,下面以oracle 11g目录结构做说明. 11g目录结构 ...
- Oracle的表空间和数据文件
一. 概念 表空间:是一个或多个数据文件的逻辑集合 表空间逻辑存储对象: 永久段-->如表与索引 临时段-->如临时表数据与排序段 回滚段-->用于事物回滚或闪回内存的撤销数据 表空 ...
- ORACLE数据库存储结构简介(转)
首先,oracle数据库的存储结构可以分为逻辑存储结构和物理存储结构,对于这两种存储结构,oracle是分别进行管理的. 逻辑存储结构:oracle内部的组织和管理数据的方式. 物理存储结构 ...
- oracle数据库源数据路径,oracle中用什么命令查找数据文件所在路径呢?
oracle中用什么命令查找数据文件所在路径呢? 来源:互联网 宽屏版 评论 2009-07-09 18:39:28 分类: 电脑/网络 >> 电脑常识 问题描述: 在pl/sql中执 ...
最新文章
- php 获取js变量
- 数据挖掘导论读书笔记2
- 赛锐信息:SAP订单统一管理系统
- 实验报告-python文库_Python实验报告
- 洛谷1056 排座椅 解题报告
- 1051: 平方根的和
- lisp取消选集选中状态_为什么对话框创建后是隐藏状态的
- flume的各个组件及整体工作流程
- 设置部分文件不适用ARC机制
- python ssologin_django-sso单点登陆的实现
- 玩转小黑框!Terminal 入门到进阶,最后放弃!
- 开关电源模块并联供电系统_开关电源中X电容与Y电容的作用
- Java求解N皇后问题
- 安装nginx,php8,nfs,oralce19c客户端
- IDEA更新至2020版后Version Control窗口的还原问题
- 天干地支计算年月日时
- 在vue中使用turn.js
- ARM到底是冯诺依曼结构还是哈佛结构?
- Enable MMC3 interface On Am57xx
- 【随机过程】马尔可夫链(1)
热门文章
- USACO Section2.2 Preface Numbering 解题报告 【icedream61】
- Java中的锁(转)
- lucene案例demo
- python怎么实现黑客攻击英国_注意!你的隐私就是这样被黑客获取的
- 金融数据分析与挖掘实战 4.2 Matplotlib(二)
- web前端要学哪些东西,前端大牛分享的技能整理
- java 综合练习_Java第二季6-1综合练习作业
- 宏定义_do{...} while(0U)宏定义的作用和意义
- Linux搭建虚拟专用,Ubuntu的发行版如何搭建虚拟专用网
- 杨云 中科院计算机所,专家人才库数据----中国科学院计算技术研究所