oracle数据文件管理,Oracle 管理数据文件

■创建数据文件的SQL语句及说明

CREATE TABLESPACE 创建一个表空间和组成它的数据文件

CREATE TEMPORARY TABLESPACE 创建一个临时表空间和组成它的临时数据文件(临时数据文件是一种特殊类型的数据文件)

ALTER TABLESPACE ... ADD DATAFILE 创建并添加一个数据文件到表空间

ALTER TABLESPACE ... ADD TEMPFILE 创建并添加一个临时数据文件到临时表空间

CREATE DATABASE 创建一个数据库和关联的数据文件

■创建表空间

SQL> create tablespace myts04 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04dbf' size 2m

autoextend on

next 1m

maxsize 5m

■向空间里添加数据文件并指定自动增长方式

SQL> alter tablespace myts02

add datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' size 4m

AUTOEXTEND ON

NEXT 4K

MAXSIZE 5M;

■更改原有数据文件为自动增长方式

SQL> ALTER DATABASE

2 DATAFILE '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_3.dbf'

3 AUTOEXTEND ON

4 NEXT 2K

5 MAXSIZE 5M;

■取消自动增长方式

SQL> alter database

2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_3.dbf'

3 autoextend off;

■改变原数据文件大小

SQL> alter database

2 DATAFILE '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' resize 5m;

也可以利用RESIZE子句来缩小数据文件,不过必须保证缩小后的数据文件足够容纳其中已有的数据

■在ARCHIVELOG模式下使数据文件脱胎机

SQL> alter database

2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' offline;

■在NOARCHIVELOG模式中使数据文件脱机  要注意,这会使数据文件脱机并立即删除它,所以,很可能导致丢失数据文件,这种方法一般只用于临时表空间  的临时数据文件.

SQL> alter database

2 datafile '/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_2.dbf' offline drop;

在这之后,如果要使数据文件联机,必须进行介质恢复,否则会有错误提示.   ■修改表空间中所有数据文件的可用性

ALTER TABLESPACE ... DATAFILE { ONLINE | OFFLINE }

ALTER TABLESPACE ... TEMPFILE { ONLINE | OFFLINE }

表空间本身的联机或脱机状态不改变() ■修改整个表空间的可用性

ALTER TABLESPACE ... { ONLINE | OFFLINE }

■同一个表空间的数据文件的重命名  当改变数据文件的位置和名称时,Oracle只是在控制文件和数据字典中改变了数据文件的指针,并没有物理  地创建新的数据文件,也没有重定位和重命名任何操作系统文件.DBA必须自己在操作系统层复制文件,并重  定位或重命名数据文件.

SETUP1 SQL> alter tablespace myts04 offline normal;

将表空间设置为脱机状态是为了关闭该表空间中所有的数据文件,以便在停止数据库服务时不会造成

数据出现问题

SETUP2 SQL> shutdown immediate

如果不停止数据库服务就重命名数据文件,会出现错误提示.

SETUP3 将数据文件myts04_1.dbf重新命名为myts04_01.dbf、myts04_2.dbf重新命名为myts04_02.dbf

SETUP4 SQL> startup

SETUP5 SQL> alter tablespace myts02

rename datafile

'/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_1.dbf',

'/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_2.dbf'

to

'/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_01.dbf',

'/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts04_02.dbf';

SETUP6 SQL> alter tablespace myts04 online;

■多个表空间的数据文件的重定位和重命名

SETUP1 SQL> alter tablespace myts01 offline normal;

SQL> alter tablespace myts02 offline normal;

SETUP2 SQL> shutdown immediate

SETUP3 将myts01表空间的数据文件myts01_1.dbf重新命名为myts01_01.dbf、

将myts02表空间的数据文件myts02_1.dbf重新命名为myts02_01.dbf、

SETUP4 SQL> startup

SETUP5 SQL> alter database

rename file

'/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_1.dbf',

'/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_1.dbf'

to

'/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts01_01.dbf',

'/export/home/opt/product/10.1.0.3.0/oradata/ldfsys/myts02_01.dbf';

SETUP6 SQL> alter tablespace myts01 online;

alter tablespace myts02 online;

■查询数据文件信息

DBA_DATA_FILES

DBA_TEMP_FILES

DBA_EXTENTS

USER_EXTENTS

DBA_FREE_SPACE

USER_FREE_SPACE

V$DATAFILE

V$DATAFILE_HEADER

■查看数据文件与表空间

SELECT f.tablespace_name "表空间",

Decode(d.EXTENT_MANAGEMENT,'DICTIONARY','字典','本地') "表空间类型",

TRUNC(SUM(f.bytes/1024000),2 ) || 'MB' "自由空间",

MIN(f.bytes) "最小字节", MAX(f.bytes) "最大字节",

AVG(f.bytes) "平均字节",COUNT(f.tablespace_name) "分布在"

FROM dba_free_space f, dba_tablespaces d

Where f.tablespace_name = d.tablespace_name

GROUP BY f.tablespace_name ,d.EXTENT_MANAGEMENT

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值