当前位置:
文档之家› 新第6章物理存储结构资料讲解
新第6章物理存储结构资料讲解
• 用户操作数据库的过程实际上是与数据库实例建立连接,然后通过实 例来连接、操作数据库的过程。
2020/6/20
物理存储结构的构成
数据库
数据 文件
控制 文件
ห้องสมุดไป่ตู้
重做日 志文件
初始化 文件
跟踪 文件
归档 文件
口令 文件
2020/6/20
• 数据文件:用于存储数据库中所有数据; • 控制文件:用于记录和描述数据库的物理存储结构信息; • 重做日志文件:用于记录外部程序(用户)对数据库的修改操作; • 初始化参数:用于设置数据库启动时参数初始值; • 跟踪文件:用于记录用户进程、数据库后台进程的运行情况; • 归档文件:用于保存已经写满的重做日志文件; • 口令文件:用于保存具有SYSDBA,SYSOPER权限的用户名和SYS
2020/6/20
• (3)启动数据库到MOUNT状态 – STARTUP MOUNT
• (4)执行ALTER DATABASE RENAME FILE…TO语句更新数据文件 名称或位置。 – ALTER DATABASE RENAME FILE 'D:\Oracle\oradata\orcl\userdata02.dbf', 'D:\Oracle\oradata\orcl\tools01.dbf' TO 'D:\Oracle\oradata\userdata02.dbf', 'D:\Oracle\oradata\orcl\tools001.dbf';
– 把不同存储内容的数据文件放置在不同的硬盘上,可以并行访问 数据,提高系统读写的效率。
– 初始化参数文件、控制文件、重做日志文件最好不要与数据文件 存放在同一个磁盘上,以免数据库发生介质故障时,无法恢复数 据库。
2020/6/20
6.2.2数据文件的管理
• 创建数据文件 • 修改数据文件的大小 • 改变数据文件的可用性 • 改变数据文件的名称和位置 • 查询数据文件的信息
– ALTER TABLESPACE tablespace_name…RENAME DATAFILE…TO
• (4)表空间联机
– ALTER TABLESPACE tablespace…ONLINE
2020/6/20
改变同一个表空间的数据文件
• 例:更改ORCL数据库USERS表空间的userdata02.dbf和 userdata03.dbf文件名为userdata002.dbf和 userdata003.dbf
• (5)打开数据库。 – ALTER DATABASE OPEN;
2020/6/20
查询数据文件信息
• 数据文件信息
– DBA_DATA_FILES – V$DATAFILE
• 临时文件信息
– DBA_TEMP_FILES – V$TEMPFILE
2020/6/20
• 查询数据文件动态信息
– SELECT NAME,FILE#,STATUS, CHECKPOINT_CHANGE# FROM V$DATAFILE
• 查询数据文件的增长方式
– SELECT TABLESPACE_NAME,BYTES,AUTOEXTENSIBLE, FILE_NAME FROM DBA_DATA_FILES
• 查询临时数据文件信息
– SELECT TABLESPACE_NAME,FILE_NAME, AUTOEXTENSIBLE FROM DBA_TEMP_FILES;
2020/6/20
创建数据文件
• 数据文件依附于表空间而存在,创建数据 文件就是向表空间添加文件
• 在创建数据文件时应该根据文件数据量的 大小确定文件的大小以及文件的增长方式 。
• 语法
– CREATE TABLESPACE – CREATE DTABASE – …… – 2020/6/20 ALTER TABLESPACE…ADD DATAFILE
ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\Oracle\oradata\orcl\temp02.dbf‘ SIZE 5M;
2020/6/20
修改数据文件大小
• 方法
– 设置数据文件为自动增长方式。 – 手工改变数据文件的大小。
• 设置数据文件为自动增长方式
–创建时设置数据文件为自动增长 –创建后修改数据文件为自动增长
用户口令。
2020/6/20
6.2数据文件及其管理
• 数据文件概述 • 数据文件的管理
2020/6/20
6.2.1数据文件概述
• 数据文件的内容
– 用于保存数据库中数据的文件 (扩展名:DBF) – 系统数据、数据字典数据、临时数据、索引数据、应用数据等都
物理的存储在数据文件中。 – 数据库的操作,本质都是对数据文件进行操作。
2020/6/20
6.1Oracle数据库系统结构
用 户 视 图 拥有者
模1 式 表
序 视图 1 列
2 ……… 3
2020/6/20
Oracle数据库 逻辑结构
物理结构 物理文件
表空间
数据文件 联机日志文件
数据段 ……
索引段
段
区间
控制文件 物理块
数据块
服务器进程 用户进程
数据缓冲区
日志缓冲区
数据库 实例 SGA
2020/6/20
• 例:取消ORCL数据库USERS表空间的数据文件 userdata02.dbf的自动增长。
– ALTER DATABASE DATAFILE 'D:\Oracle\oradata\orcl\userdata02.dbf' AUTOEXTEND OFF;
• 例:将ORCL数据库USERS表空间的数据文件 userdata02.dbf大小设置为8MB。
– (3)重新连接数据库,使用ALTER TABLESPACE…RENAME DATAFILE…TO语句进行操作。
2020/6/20
– CONNECT sys/llx123 @ORCL AS SYSDBA – ALTER TABLESPACE USERS RENAME DATAFILE
'D:\Oracle\oradata\orcl\userdata02.dbf', 'D:\Oracle\oradata\orcl\userdata03.dbf' TO 'D:\Oracle\oradata\orcl\userdata002.dbf, 'D:\Oracle\oradata\orcl\userdata003.dbf'; • (4)将表空间联机 – ALTER TABLESPACE users ONLINE;
• 例:向ORCL数据库的USERS表空间中添加一个大小为 10MB的数据文件。
ALTER TABLESPACE USERS ADD DATAFILE 'D:\Oracle\oradata\orcl\userdata02.dbf' SIZE 10M;
• 例:向ORCL数据库的TEMP表空间添加一个大小为5MB 的临时数据文件。
– ALTER DATABASE DATAFILE 'D:\Oracle\oradata\orcl\userdata02.dbf'RESIZE 8M
2020/6/20
改变数据文件的可用性
• 可以通过将数据文件联机或者脱机来改变 数据文件的可用性
• 处于脱机状态的数据文件对数据库来说是 不可用的,直到它们被恢复为联机状态
– 如果要改变的数据文件属于多个表空间,使用 : ALTER DATABASE RENAME DATAFILE…TO
2020/6/20
改变同一个表空间的数据文件
• (1)表空间脱机
– ALTER TABLESPACE tablespace_name… OFFLINE
• (2)修改操作系统中文件名称或位置 • (3)执行ALTER语句
2020/6/20
利用OEM管理数据文件
• 查询数据文件信息 • 创建数据文件 • 修改数据文件
2020/6/20
6.3控制文件
• 控制文件概述 • 控制文件管理
2020/6/20
6.3.1控制文件概述
• 控制文件的性质 (扩展名为CTL)
– 是最重要的物理文件,是一个很小的二进制文件 – 在加载数据库时,实例必须首先通过初始化参数文件找到数据库
• 例:ORCL数据库USERS表空间的数据文件 userdata02.dbf为自动增长。
– ALTER DATABASE DATAFILE 'D:\Oracle\oradata\orcl\userdata02.dbf ' AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED;
2020/6/20
改变属于多个表空间的数据文件
• (1)关闭数据库
– SHUTDOWN IMMEDIATE
• (2)修改操作系统文件名称或位置 • (3)启动数据库到MOUNT状态
– STARTUP MOUNT
• (4)执行ALTER 语句
– ALTER DATABASE RENAME FILE…TO…
• AUTOEXTEND ON NEXT …MAXSIZE…|UNLIMITED
• 手工改变数据文件的大小
– ALTER 2020/6/20 DATABASE DATAFILE…RESIZE…
• 例:为ORCL数据库的USERS表空间添加一个自动增长的 数据文件。
– ALTER TABLESPACE USERS ADD DATAFILE 'D:\Oracle\oradata\orcl\userdata03.dbf' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 250M;