数据库存储管理.docx

上传人:b****6 文档编号:6273071 上传时间:2023-01-05 格式:DOCX 页数:10 大小:336.59KB
下载 相关 举报
数据库存储管理.docx_第1页
第1页 / 共10页
数据库存储管理.docx_第2页
第2页 / 共10页
数据库存储管理.docx_第3页
第3页 / 共10页
数据库存储管理.docx_第4页
第4页 / 共10页
数据库存储管理.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

数据库存储管理.docx

《数据库存储管理.docx》由会员分享,可在线阅读,更多相关《数据库存储管理.docx(10页珍藏版)》请在冰豆网上搜索。

数据库存储管理.docx

数据库存储管理

第五章数据库存储管理

内容简介:

(1)逻辑单元的管理:

表空间、段、区间和数据块等;

(2)物理文件管理:

控制文件、数据文件、临时文件、重做日志文件和归档文件等;

(3)自动存储管理

5.1表空间的管理

提问:

1)表空间的概念2)表空间的组成

5.1.1查看表空间信息

有两种方法

(1)通过oracle视图查看信息

段类型

说明

V$TABLESPACE

控制文件中保存的所有表空间的名称和数量

DBA_TABLESPACES

所有表空间的描述信息

USER_TABLESPACES

所有用户可访问表空间的描述信息

DBA_TABLESPACE_GROUPS

所有表空间组及其所属的表空间信息

DBA_SEGMENTS

所有表空间中的区间信息

USER_SEGMENTS

所有用户表空间中的区间信息

DBA_FREE_SPACE

所有表空间中的空闲区间信息

USER_FREE_SPACE

所有用户表空间中的空闲区间信息

V$DATAFILE

所有数据文件信息

V$TEMPFILE

所有临时文件信息

DBA_DATA_FILES

显示所有属于表空间的数据文件信息

DBA_TEMP_FILES

显示所有属于临时表空间的临时文件信息

例题1:

查看表空间的内容和数量。

select*fromv$tablespace;

例题2:

查看表空间的内容和状态

selecttablespace_name,contents,statusfromdba_tablespaces;

通过EM查看

以sysdba登录到EM,打开“管理”页面,在数据库管理/存储中单击“表空间”,打开“表空间管理”页面

5.1.2创建表空间

(1)通过createtablespace创建

表空间内容不同,创建方法也不同

a.本地管理表空间

将表空间的所有区间信息以位图的方式记录,所有的表空间都可以被本地管理。

例题3:

创建本地管理表空间

Createtablespaceorcltbs01

datafile‘c:

\oracle\product\10.2.0\oradata\orcl\orcltbs01.dbf’size10M

extentmanagementlocalautoallocate;

参数

含义

datafile

指定表空间的数据文件;

具体物理文件

Size

指定数据文件的大小;

整数值+单位

Autoallocate

指定表空间由系统管理

最小区间为64KB

uniform

指定最小区间的大小;

(2)通过EM创建

例题4:

创建表空间orcltbs02,指定最小区间为128KB

Creataetablespaceorcltbs02

datafile‘c:

\oracle\product\10.2.0\oradata\orcl\orcltbs02.dbf’size30M

extentmanagementlocaluniformsize128K;

b.大文件表空间

大文件表空间由唯一的、非常巨大的数据文件组成;只能包含一个数据文件。

例题5:

创建大文件表空间

Createbigfiletablespacebigtbs

datafile‘c:

\oracle\product\10.2.0\oradata\orcl\bigtbs.dbf’size10G;

size:

指定文件大小。

c.临时表空间

例题6:

创建临时表空间tmptbs

createtemporarytablespacetmptbs

tempfile‘c:

\oracle\product\10.2.0\oradata\orcl\temtbs.dbf’size20Mreuse

extentmanagementlocaluniformsize16M;

tempfile

指定临时文件

具体物理文件

reuse

指定临时文件可以重用

注意:

创建临时表空间时,不允许使用autoallocate,表空间中区间的大小必须通过uniform手工指定

(2)通过EM管理表空间

5.1.3修改表空间属性

(1)重命名表空间

例题7:

将表空间orcltbs02更名为orcltbs03

Altertablespaceorcldbs02renametoorcltbs03;

(2)本地管理表空间

例题8:

给表空间增加数据文件

Altertablespaceorcltbs01

Adddatafile‘c:

\oracle\product\10.2.0\oradata\orcl\orcltbs011.dbf’size10M;

(3)大文件表空间

例题9:

修改大文件表空间的数据文件大小。

Altertablespacebigtbsresize4G;

(4)临时表空间

例题10:

向临时表空间中添加临时文件tmptbs01.dbf20M

Altertablespacetmptbs

Addtempfile‘c:

\oracle\product\10.2.0\oradata\orcl\temtbs01.dbf’size20M;

(5)设置联机和脱机

思考:

什么情况下可将表空间设置为脱机状态?

注意:

系统表空间、撤销表空间和临时表空间不能设置为脱机状态。

例题11:

将表空间orcltbs01设置为脱机状态

Altertablespaceorcltbs01offline;

Selecttablespace_name,contents,statusfromdba_tablespaces;

例题12:

将表空间orcltbs01设置为联机状态

Altertablespaceorcltbs01online;

(6)设置只读表空间

目的:

保护表空间中的数据文件不被修改

例题13:

设置表空间orcltbs01为只读表空间

Altertablespaceorcltbs01readonly;

例题14:

设置表空间orcltbs01为读写表空间

Altertablespaceorcltbs01readwrite;

5.1.4删除表空间

为节省空间,对不用的表空间应及时删除。

删除表空间时,可以选择同时删除其内容和数据文件。

例题15:

删除表空间orcltbs01.

Droptablespaceorcltbs01;

删除表空间的同时删除期中的段

Droptablespaceorcltbs01includingcontents;

删除表空间的同时删除包含的段和数据文件

Droptablespaceorcltbs01includingcontentsanddatafiles;

5.1.5段和数据块管理

表空间由段组成,在创建表空间时,可以指定段空间的管理方式。

段空间有2种管理方式:

自动和手动。

例题16:

创建表空间mytbs01,自动段管理方式

Createtablespacemytbs01

Datafile‘c:

\oracle\product\10.2.0\oradata\orcl\mytbs01.dbf’size30m

Extentmanagementlocalautoallocate

Segmentspacemanagementauto;

例题17:

创建手动段管理方式的表空间mytbs02

Createtablespacemytbs02

Datafile‘c:

\oracle\product\10.2.0\oradata\orcl\mytbs02.dbf’size30m

Extentmanagementlocalautoallocate

Segmentspacemanagementmanual;

例题18:

创建表空间,指定块的大小

Createtablespacemytbs03

Datafile‘c:

\oracle\product\10.2.0\oradata\orcl\mytbs03.dbf’size30m

Extentmanagementlocalautoallocate

Blocksize8K;

5.1.6撤销表空间

回滚或撤销对数据库的变化

Oracle使用完全自动的撤销表空间机制:

用户可以创建一个撤销表空间,服务器自动管理撤销表空间。

通过初始化参数undo_mnagement为anto激活自动撤销管理机制;

初始化参数duno_tablespace设置默认的撤销表空间.

例题19:

创建撤销表空间

Createundotablespaceundotbs01

Datafile‘c:

\oracle\product\10.2.0\oradata\orcl\undotbs02.dbf’size2mreuse;

5.2控制文件管理

每个oracle数据库都有控制文件,用来记录数据库的物理结构。

控制文件包含如下信息:

●数据库名称

●相关数据文件和重做日志文件的名称和位置

●数据库创建的时间戳

●当前的日志序列号

●检查点信息

5.2.1创建控制文件

(1)创建初始控制文件

系统在创建数据库的同时会自动创建控制文件。

控制文件的名称在初始化参数control_files定义。

(2)创建控制文件副本

步骤:

●关闭数据库

●将控制文件复制到其他目录下

●修改初始化参数control_files,增加新的控制文件或者修改原有的控制文件

●重新启动数据库

(3)创建新的控制文件

思考:

什么情况下需要创建控制文件?

●数据库控制文件永久破坏,没有备份

●需要修改数据库名

例题20:

手动创建控制文件

Createcontrolfile

Setdataasedb_name

Logfilegroup1(‘c:

\oracle\product\10.2.0\oradata\db_name\redo01_01.log’,‘c:

\oracle\product\10.2.0\oradata\db_name\redo01_02.log’),

group2(‘c:

\oracle\product\10.2.0\oradata\db_name\redo02_01.log’,‘c:

\oracle\product\10.2.0\oradata\db_name\redo02_02.log’),

group3(‘c:

\oracle\product\10.2.0\oradata\db_name\redo03_01.log’,‘c:

\oracle\product\10.2.0\oradata\db_name\redo03_02.log’),

resetlogs

datafile‘c:

\oracle\product\10.2.0\oradata\db_name\system01.dbf’size3m,

‘c:

\oracle\product\10.2.0\oradata\db_name\rbs01.dbf’size5m,

‘c:

\oracle\product\10.2.0\oradata\db_name\users01.dbf’size5m,

‘c:

\oracle\product\10.2.0\oradata\db_name\temp01.dbf’size5m,

‘c:

\oracle\product\10.2.0\oradata\db_name\temp02.dbf’size5m

Maxlogfiles50

Maxlogmembers3

Maxloghistory400

Maxdatafiles200

Maxinstrances6

Archivelog;

其中:

Setdatabasedb_name:

控制文件对应的数据库名

Logfile:

指定了日志文件名称和位置

Resetlogs:

指定了重置日志文件

Datafile:

指定了数据文件的名称位置和大小

步骤

a.获取数据库的数据文件和重做文件列表

例题21:

从视图v$datafile中获取数据文件信息

Selectnamefromv$datafile;

例题22:

从视图v$logfile中获取日志文件信息

Selectmemberfromv$logfile;

如果控制文件已坏,直接到保存路径下去看。

b.关闭数据库

c.备份所有数据文件和重做日志文件

d.使用startupnomount启动数据库实例

e.使用createcontrolfile创建控制文件,如果需要重命名数据库,使用resetlog子句,否则使用noresetlogs子句

f.将新的控制文件备份到其他不在线的存储介质中

g.根据实际情况修改control_file参数;如果修改了数据库名称还需要修改db_name参数

h.如果需要,恢复数据库

5.2.2恢复控制文件

(1)如果控制文件被破坏,存储控制文件的目录仍然是可以访问的,则可以先关闭数据库实例,然后将控制文件复制到控制文件目录下。

最后,使用startup打开数据库实例。

(2)如果存储介质被破坏,控制文件目录无法访问,则先关闭数据库实例,然后将控制文件副本复制到一个新的目录下。

修改control_files参数,将无效的控制文件目录修改为新的目录。

最后,使用stratup打开数据库实例。

5.2.3删除控制文件

a.关闭数据库

b.编辑control_files删除指定控制文件信息

c.重启数据库

5.2.4查看控制文件信息

例题23:

查询数据库编号名称日志模式等信息

Selectdbid,name,log_modefromv$database;

例题24:

查询控制文件记录类型、记录大小、记录总量、使用记录数量等信息

Selecttype,record_size,records_total,records_usedfromv$controlfile_record_section;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1