没有合适的资源?快使用搜索试试~ 我知道了~
3.一个Oracle数据库可以拥有多个表空间,每个表空间可包含多个段,每个段由若干个区间组成,每个区间包含多个数据块,每个Oracle数据块由多个OS物理磁盘块
资源详情
资源评论
资源推荐
1
体系结构
一:物理结构
1.
数据文件(data file):是指存储数据库数据的文件。
• 一个数据文件只能属于一个表空间。
• 数据文件创建后可改变大小。
• 创建新的表空间需创建新的数据文件。
• 数据文件一旦加入到表空间,就不能从表空间移走,也不能和其他表空间发生联系。
• 数据文件中只保留修改后的数据
重做日志文件(redo log file) :用于记录数据库所做的全部变更(如增加、删除、修改)
及由 Oracle 内部行为而引起的数据库变化信息。
• 日志文件中即保留修改后的数据,又保留修改前的数据。
• 一个数据库至少最少需要两个重做日志文件。
控制文件(Control file)
配置文件
重做日志文件
2.
创建重做日志组和成员
例:在 ALTER DATABASE 语句中使用 ADD LOGFILE 子句也可以创建重做日志组:
ALTER DATABASE ADD LOGFILE ('log1c.rdo', 'log2c.rdo') SIZE 5000k;
例:在使用 ALTER DATABASE 语句创建重做日志组时,可以使用 GROUP 子句定义组编号:
ALTER DATABASE ADD LOGFILE GROUP 10 ('log1a.rdo', 'log2a.rdo') SIZE 5000k;
例:在 ALTER DATABASE 语句中使用 ADD LOGFILE MEMBER 关键字,可以向已存在的重
做日志组中添加成员:
ALTER DATABASE ADD LOGFILE MEMBER 'log3a.rdo' TO GROUP 10;
例:删除重做日志组 log1a.rdo:
ALTER DATABASE DROP LOGFILE MEMBER 'log1a.rdo';
例:删除编号为 10 的重做日志组:
ALTER DATABASE DROP LOGFILE GROUP 10;
二:内存结构
• 每个运行的 Oracle 数据库都对应一个 Oracle 例程(Instance),也可以称为实例。
• SGA(系统全局区)和 Oracle 后台进程结合在一起,就是一个 Oracle 例程。
• 一个数据库可以被多个实例访问。
• SGA 由数据库高速缓存区,重做日志高速缓存区,共享池组成。
• 共享池包含库高速缓存,数据字典高速缓存区,
• 库高速缓存(Library Cache)包括 共享 SQL 区、PL/SQL 程序代码区,
• 后台进程:为了保证 Oracle 数据库在任意一个时刻可以处理多用户的并发请求,进
行复杂的数据操作,Oracle 数据库起用了一些相互独立的附加进程,称为后台进程。
服务器进程在执行用户进程请求时,调用后台进程来实现对数据库的操作。
• Oracle 的后台进程主要包括:
• (1)DBWR 数据库写入进程:负责将数据库缓冲区内变动过的数据块写回磁盘内
的数据文件,DBWR 可有多个。
•
2
• (2)LGWR 日志文件写入进程: 负责将重做日志缓冲区内变动记录循环写回磁盘内
的重做日志文件,
• (3)ARCH 归档进程(archive process): 归档进程 ARCH 负责在重做日志文件切换
后将已经写满的重做日志文件复制到归档日志文件中,
• (4)CKPT 检查点进程:检查点是一个数据库事件,唤醒 DBWR 进程,
• (6)RECO 恢复进程: 在 Oracle 11g 分布式数据库环境中,RECO 处理程序由于网
络故障或系统故障挂起的分布式事务。
• (7) SMON 系统监控进程(system monitor): SMON 完成例程的恢复工作 (启动
实例,装载数据库,打开数据库)
• (8) PMON 进程监控进程(process monitor): 当用户进程失败时用于完成进程
的恢复。
注:至少牢记 5 个
三:逻辑结构
1.逻辑结构单元类型
– 表空间(TABLESPACE)、段(SEGMENT)、区(EXTENT)数据块(BLOCK) ;
– ;模式对象(schema)(表、视图、序列和同义词等)
2.数据库由若干个表空间组成。
3.一个 Oracle 数据库可以拥有多个表空间,每个表空间可包含多个段,每个段由若
干个区间组成,每个区间包含多个数据块,每个 Oracle 数据块由多个 OS 物理磁盘
块组成。
4.表空间是存储模式对象的容器,一个数据库对象只能存储在一个表空间中(分区表
和分区索引除外)
5.段不直接和数据文件发生关系。一个段可以属于多个数据文件。
6.段不可以跨表空间,一个段只能属于一个表空间
7.段由多个区(extents)组成。区是磁盘空间分配的最小单位,磁盘按区划分,每次至少
分配一个区。
8.一个区间一定属于某个段
9.区间不可以跨数据文件,只能存在于某一个数据文件中
10.创建和管理表空间
利用 CREATE TABLESPACE 命令创建和管理表空间
语法格式:
CREATE TABLESPACE tablespace_name
DATAFILE ‘path/filename’ [SIZE integer [ K∣M ]][ REUSE ]
[ AUTOEXTEND [ OFF∣ON
[ NEXT integer [ K∣M ]]
[ MAXSIZE [ UnLIMITED∣integer [ K∣M ] ] ] ]
[ ONLINE∣OFFLINE ]
[ LOGGING∣NOLOGGING ]
[ PERMANENT∣TEMPORARY ]
[ EXTENT MANAGEMENT LOCAL [ AUTOALLOCATE ∣ UNIFORM SIZE
integer [ K∣M ]]
[Segment space management auto|manual]
10.1.创建和管理表空间
【例 2.5】创建大小为 50M 的表空间 TEST,禁止自动扩展数据文件。
create tablespace test1
logging
datafile ‘c:\test101.dbf' size 5m reuse autoextend off;
3
【例 2.6】创建表空间 DATA,允许自动扩展数据文件。
CREATE TABLESPACE DATA2
LOGGING
DATAFILE 'c:\o\DATA02.DBF' SIZE 50M
REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 200M
DEFAULT STORAGE(INITIAL 16K NEXT 32K MINEXTENTS 1 ) ;
本地管理表空间
【例】在 CREATE TABLESPACE 语句中使用 EXTENT MANAGEMENT LOCAL 子句,可以创
建一个本地管理表空间,代码如下:
SQL> CREATE TABLESPACE OrclTBS01
DATAFILE 'C:\o\OrclTBS01.dbf' SIZE 5M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE;
【例】在创建表空间 OrclTBS02 时,指定其区间为 128KB,代码如下:
SQL> CREATE TABLESPACE OrclTBS02
DATAFILE 'C:\o\OrclTBS02.dbf' SIZE 30M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
【例】在 CREATE TABLESPACE 语句中使用 BIGFILE 关键词可以创建大文件表空间,代
码如下:
SQL> CREATE BIGFILE TABLESPACE bigtbs
DATAFILE 'C:\o\bigtbs.dbf' SIZE 10G;
临时表空间
【例】创建临时表空间 tmptbs,代码如下:
SQL> CREATE TEMPORARY TABLESPACE tmptbs
TEMPFILE 'C:\o\tmptbs.dbf'
SIZE 20M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;
2.撤销表空间
撤销记录可以用于完成如下功能:
1 当执行 ROLLBACK 命令时,完成回滚操作。2.恢复数据库。3.使用闪回查询分析以前
时间点的数据。4.使用闪回技术从逻辑破坏中恢复数据。
初始化参数 UNDO_TABLESPACE 设置默认的撤销表空间。
【例】使用 CREATE UNDO TABLESPACE 语句创建撤销表空间:
SQL> CREATE UNDO TABLESPACE undotbs01
DATAFILE 'C:\o\undotbs02.dbf' SIZE 2M REUSE;
3 维护表空间和数据文件
用 ALTER TABLESPACE 管理表空间
语法格式:
ALTER TABLESPACE tablespace_name
[ ADD DATAFILE∣TEMPFILE ‘path/filename’ [ SIZE integer [ K∣M ] ] [ REUSE ]
[ AUTOEXTEND [ OFF∣ON [ NEXT integer [ K∣M ] ]
MAXSIZE [ UNLIMITED∣integer [ K∣M ] ] ]
[ RENAME DATAFILE ‘path\filename’,…n TO ‘path\re_filename’,…n ]
[ DEFAULT STORAGE storage_clause ]
[ ONLINE∣OFFLINE [ NORMAL∣TEMPORARY∣IMMEDIATE ] ]
[ LOGGING∣NOLOGGING ]
[ READ ONLY∣WRITE ]
[ PERMANENT ]
[ TEMPORARY ]
ADD DATAFILE∣TEMPFILE:向表空间添加指定的数据文件或临时文件。
4
RENAME DATAFILE:对一个或多个表空间的数据文件重命名。
READ ONLY:表明表空间上不允许进一步写操作。
READ WRITE:表明在先前只读表空间上允许写操作。
【例】将表空间 OrclTBS02 中的数据文件改名。可以使用下面的语句:
ALTER TABLESPACE mytest rename datafile 'c:\o\10.dbf' to 'c:\o\test0001.dbf'
移动 mytest 表空间中数据文件 test001.dbf 的步骤如下。
(1)修改 mytest 表空间的状态为 OFFLINESQL> ALTER TABLESPACE mytest OFFLINE;
(2)将磁盘中的 myspace02.dbf 文件移动到新的目录中
(3)使用 ALTER TABLESPACE 语句,将 mytest 表空间中 test001.dbf 文件的原名称和路径
修改为新名称和路径
(4) 修改 mytest 表空间的状态为 ONLINE,如下:SQL> ALTER TABLESPACE mytest
ONLINE;
检查文件是否移动成功需要介质恢复 recover datafile 'd:\102.dbf'
【例】在临时表空间 tmptbs 中添加临时文件,tmptbs01.dbf,文件大小为 20MB,代
码如下:
SQL> ALTER TABLESPACE tmptbs
ADD TEMPFILE ‘c:\omptbs01.dbf' SIZE 20M;
【例】将表空间 OrclTBS01 设置为脱机状态:
SQL> ALTER TABLESPACE OrclTBS01 OFFLINE;
【DBA_TABLESPACES 视图查看表空间的状态】
SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;
【例】将表空间 OrclTBS01 设置为联机状态:
SQL> ALTER TABLESPACE OrclTBS01 ONLINE;
【例】将表空间 OrclTBS01 设置为只读表空间:
SQL> ALTER TABLESPACE OrclTBS01 READ ONLY;
【例】将表空间 OrclTBS01 设置为可读写状态:
SQL> ALTER TABLESPACE OrclTBS01 READ WRITE;
【例】删除表空间 OrclTBS01:
SQL> DROP TABLESPACE OrclTBS01;
INCLUDING CONTENTS 子句可以在删除表空间的同时删除其中的段,例如:
SQL> DROP TABLESPACE OrclTBS01 INCLUDING CONTENTS;
INCLUDING CONTENTS AND DATAFILE 子句可以在删除表空间的同时,删除包含的段和
数据文件:
SQL> DROP TABLESPACE OrclTBS03 INCLUDING CONTENTS AND DATAFILES;
例:创建多个数据文件。。。。datafile ‘数据文件’ size 10M reuse,’第二个数据文件’size 20M
例:重命名表空间
Alter tablespace 原表空间名 rename to 新表空间名。
例:如何增加表空间的容量?
○
1
create tablespace 表空间名 autoextend on next 大小
○
2
alter tablespace 表空间名 add datafile ‘新的数据文件 ’
○
3
alter tablespace 数据库名 datafile ‘数据文件’resize 大小
对象篇
1.创建表
CREATE TABLE [schema.] table_name
剩余21页未读,继续阅读
焦虑肇事者
- 粉丝: 942
- 资源: 310
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于SpringBoot+vue的社区医院管理系统.zip
- 锂电池SOC估计基于二阶RC模型的扩展卡尔曼滤波估算SOC 验证工况:HPPC 和 1C放电
- c#轻量级高并发物联网服务器接收程序源码(仅仅是接收硬件数据程序,没有web端,不是java,协议自己写,如果问及这些问题统统不回复 ),对接几万个设备没问题,数据库采用ef6+sqlite,可改e
- CityGPT: Empowering Urban Spatial Cognition of Large Language Models
- 平安夜祝福代码html 代码实现示例.docx
- java(二叉树的基本操作和部分二叉树相关的题)
- Spring Boot 整合 RabbitMQ(在Spring项目中使用RabbitMQ)
- 三菱Fx3U三轴定位控制程序,其中两轴为脉冲输出同步运行360度转盘,3轴为工作台丝杆 1.本程序结构清晰,有公共程序,原点回归,手动点动运行,手动微动运行 报警程序,参数初始化程序等 2.自动
- armv7l的树莓派可以用的onnxruntime版本
- 纸袋检测15-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar
- Yealink VC Desktop1.28.0.72, 免费,局域网,IP电话, SIP, VOIP, 视频通话,可与手机互通,手机上也安装 yealink
- 全自动棒料加工自动设备sw17全套技术开发资料100%好用.zip
- 用Jenkins 跑gitte仓库中的postman脚本 请求
- Instruction Pre-Training: Language Models are Supervised Multitask Learners
- 图片转PDF_QQ浏览器_20241226.pdf
- STM8驱动的MPU6050陀螺仪源程序
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0