oracle 管理表空间及其文件.docx
《oracle 管理表空间及其文件.docx》由会员分享,可在线阅读,更多相关《oracle 管理表空间及其文件.docx(14页珍藏版)》请在冰豆网上搜索。
![oracle 管理表空间及其文件.docx](https://file1.bdocx.com/fileroot1/2022-10/29/7f7f931e-ef18-4040-8bee-6c4e4b89ec5b/7f7f931e-ef18-4040-8bee-6c4e4b89ec5b1.gif)
oracle管理表空间及其文件
表空间类型与物理数据库布局存储管理
永久表空间
撤销表空间
临时表空间
永久表空间
SYSTEMSYSAUX
任何超出会话或事务边界后,需要由用户和应用程序的段都应该存储在永久表空间中。
SYSTEM表空间
用户段绝对不应该驻留在system表空间中。
10g开始可以指定默认的临时表空间,默认永久表空间。
所有表空间使用由位图段管理,位图段在表空间的第一个数据文件的第一部分中。
SYSAUX表空间
不应该有任何用户段
其内容根据应用程序划分,可以使用EM进行查看。
EM中可以查看SYSAUX表空间
当驻留在sysaux表空间中的特定应用程序的空间使用率过高,或者由于与其他使用sysaux表空间的应用程序严重征用sysaux表空间而造成I/O瓶颈,可以将这些应用程序中的一个或多个移动到不同表空间。
撤销表空间
多个可以共存,但是只有一个是活动的
临时表空间
多个可以共存,并且同时处于联机活动状态。
临时表空间组织少包含一个临时表空间,否则将不存在。
使用临时表空间组优点:
具有多个会话的单个用户,对每个会话使用不同的临时表空间。
创建临时表空间组:
SQL>altertablespacetemp1tablespacegrouptempgrp;
Tablespacealtered.
SQL>altertablespacetemp2tablespacegrouptempgrp;
Tablespacealtered.
SQL>altertablespacetemp3tablespacegrouptempgrp;
Tablespacealtered.
SQL>selectgroup_name,tablespace_namefromdba_tablespace_groups;
GROUP_NAMETABLESPACE_NAME
------------------------------------------------------------
TEMPGRPTEMP1
TEMPGRPTEMP2
TEMPGRPTEMP3
创建具有临时表空间组的用户:
SQL>createuserjianyeidentifiedbyabcd12
2defaulttablespaceusers
3temporarytablespacetempgrp;
Usercreated.
SQL>selectusername,default_tablespace,temporary_tablespace
2fromdba_users
3whereusername='JIANYE';
USERNAMEDEFAULT_TABLESPACEEMPORARY_TABLESPACE
------------------------------------------------------------------------------------------
JIANYEUSERSEMPGRP
物理数据库布局和存储管理
优点:
1.最大化I/O吞吐量
2.最大化数据库整体性能
传统磁盘空间存储
1.调整数据文件
2.调整表空间
3.移动数据文件,联机重做日志文件,控制文件
调整表空间和数据文件大小
ALTERDATABASE调整小文件表空间的大小
参数:
Autoextendon允许自动扩展off不允许自动扩展
Next(size)需要自动扩展时,分配给数据文件的大小
Maxsize(size)设置最大限额
示例:
调整大小
Alterdatabase
Datafile‘/oracle/oradata/orcl/user01.dbf’resize20M
Autoextendon
Next20M
Maxsize1g;
示例:
添加文件
Altertablespaceusers
Adddatafile‘/oracle/oradata/orcl/user02.dbf’
Size20M
Autoextendon
Next10m
Maxsize200m;
使用ALTERTABLESPACE调整大文件表空间的大小
大文件表空间只由一个数据文件组成。
创建大文件表空间:
SQL>createbigfiletablespacedmarts
2datafile'/oracle/oradata/dmarts.dbf'size750m
3autoextendonnext100mmaxsizeunlimited
4extendmanagementlocal
5segmentspacemanagementauto;
只在具有小文件表空间的数据文件级别中有效的操作可以在表空间级别上用于大文件表空间。
在具有小文件表空间的表空间级别上尝试改变数据文件参数是不允许的。
示例:
修改大文件表空间
SQL>altertablespacedmartsresize500m;
Tablespacealtered.
SQL>altertablespaceusersresize20m;
altertablespaceusersresize20m
*
ERRORatline1:
ORA-32773:
operationnotsupportedforsmallfiletablespaceUSERS
使用EMDatabaseControl调整小文件表空间的大小
使用EM可以实现上述两种事物。
增加大小并针对表空间的单个数据文件打开自动扩展
添加第二个数据文件
实验环境搭建:
添加表空间以及数据文件sql语句:
SQL>createtablespacexportdatafile'/oracle/oradata/orcl/xport.dbf'size10M;
Tablespacecreated.
EM添加:
创建表空间
输入表空间名,并指定属性,添加数据文件
输入该表空间下的数据文件名,并指定其属性:
1.修改表空间数据文件:
Server->Storyage->Tablespaces->xprot(表空间)
Edit->
---区管理类型是无法更改的
2.添加表空间数据文件
从表空间中删除数据文件
思路:
创建新的表空间,将所有对象移动到新的表空间中,并且删除原来的表空间。
设置属性:
此页显示了可以在重组时修改的表空间属性。
区分配:
自动统一
段空间管理:
自动
表空间中的对象将自动管理其空闲空间。
这样将提高空闲空间管理的性能。
手动
表空间中的对象将使用空闲列表来管理其休闲空间,这是为了确保向后兼容
保存脚本以便于重新编辑。
移动数据文件
使用ALTERDATABASE移动数据文件
一般步骤:
1.作为sysdba连接数据库,并关闭实例。
2.使用操作系统命令移动数据文件
3.以mount模式打开数据库
4.使用alterdatabase改变对数据库中数据文件的引用
5.以OPEN模式打开数据库
6.对包括控制文件的数据库执行增量备份或完整备份。
示例:
1.sys连接数据库,并确认xport表空间中数据文件名称(v$database/v$tablespace)SQL>selectd.namefrom
2v$datafiledjoinv$tablespacetusing(ts#)
3wheret.name='XPORT';
NAME
--------------------------------------------------------------------------------
/oracle/product/10.2.0/oradata/fstest/xport.dbf
2.关闭数据库
SQL>shutdownimmediate
Databaseclosed.
Databasedismounted.
3.执行操作系统命令,改变文件路径
SQL>!
bash-3.2$mv/oracle/product/10.2.0/oradata/fstest/xport.dbf/oracle/oradata
4.以mount方式打开数据库,改变控制文件的路径名引用,将其指向数据文件新位置
SQL>alterdatabasemount;
Databasealtered.
SQL>alterdatabaserenamefile
2'/oracle/product/10.2.0/oradata/fstest/xport.dbf'to
3'/oracle/oradata/xport.dbf';
Databasealtered.
5.打开数据库
SQL>alterdatabaseopen;
Databasealtered.
使用ALTERTABLESPACE移动数据文件
1.使用具有altertablespace权限账户,对表空间进行脱机处理。
2.使用操作系统命令移动数据文件
3.使用altertablespace改变对数据库中数据文件的引用
4.将表空间返回到联机状态
示例
1.设置tablespace脱机处理。
SQL>altertablespacexportoffline;
Tablespacealtered.
2.使用操作系统命令移动数据文件
SQL>!
mv/oracle/product/10.2.0/oradata/fstest/xport02.dbf/oracle/oradata;
3.使用altertablespace改变对数据库中数据文件的引用
SQL>altertablespacexportrenamedatafile
2'/oracle/product/10.2.0/oradata/fstest/xport02.dbf'to
3'/oracle/oradata/xport02.dbf';
Tablespacealtered.
4.联机表空间
SQL>altertablespacexportonline;
Tablespacealtered.
ALTERDATABASE与ALTERTABLESPACE区别
1.altertablebase只需脱机表空
2.alterdatabase需要关闭数据库实例
3.altertablespace不能用于system,sysaux,联机撤销表空间,临时表空间
移动联机重做日志文件
只有有两个及两个以上的重做日志文件组时,数据库才能正常开启
操作:
1.保持数据库打开,添加一个组然后删除一个组
2.关闭数据库,移动重做日志文件
移动重做日志文件,以消除写入日志文件与访问oracle组件的征用问题
同上ALTERDATABASE
移动控制文件
在使用初始参数文件时候,移动控制文件的步骤类似于前面移动数据文件和重做日志文件的过程:
关闭实例,使用操作系统命令移动文件,更改连接,启动实例。
在使用