oracle 表空间和数据文件管理 移动数据文件 重命名数据文件 数据文件重命名

 

oracle 11g2

一个数据文件在同一个时刻仅属于同一个表空间,仅属于同一个数据库。

TEMP文件是一类在临时表空间中被使用的特殊数据文件。

 

当数据库创建或重用i一个数据文件——操作系统文件被重用和初始化——被一个规则的二进制零所填充。这些初始化不会发生在临时文件中。

 

你可能需要对数据文件执行的操作包括以下内容:

 

1、充分分派数据文件的大小;

2、把他们设置为在线或者离线;

3、移动或者重命名他们;

4、恢复数据文件或者表空间到在线状态。

 

1、手动重新设置数据文件大小

使用  ALTER DATABASE DATAFILE语句,就像下面一样:

SQL> ALTER DATABASE DATAFILE   '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/HR_DATA01.DBF' RESIZE 200M;

Database altered.

SQL> 


配置一个数据文件按需要自动增大,最大增大到800M的语句如下:

SQL> ALTER DATABASE DATAFILE   '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/HR_DATA01.DBF' RESIZE 800M

Database altered.

2、移动数据文件(注释:就是把一个数据文件放置在另外一个文件夹,或者叫数据文件更换路径)

为了移动数据文件,要把数据文件设置为离线,使用操作系统命令移动数据文件,重命名并恢复数据文件(和剩余的数据库同步文件头),

设置回在线。分四步走:

2.1、设置离线

SQL> ALTER DATABASE DATAFILE '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/hr01.DBF' OFFLINE;

Database altered.

SQL> 


2.2、复制文件(注释:这里要用到主机命令,在SqlPlus提示符下用主机命令,要加HOST)

 

HOST cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/hr01.dbf /u01/app/oracle/oradata/nihao/hr01.dbf


2.3、改变控制文件里面的数据文件的文件名

SQL> alter database rename file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/hr01.dbf' to '/u01/app/oracle/oradata/nihao/hr01.dbf';

Database altered.

SQL> 

2.4、和数据库同步文件头

SQL> RECOVER DATAFILE '/u01/app/oracle/oradata/nihao/hr01.dbf';
Media recovery complete.
SQL> ALTER DATABASE DATAFILE


2.5、把离线的数据文件设置到在线

SQL> ALTER DATABASE DATAFILE 
  2  '/u01/app/oracle/oradata/nihao/hr01.dbf' ONLINE;

Database altered.

SQL> 

结束了。

改变结束,表空间HR01已经开始使用新的表空间了( '/u01/app/oracle/oradata/nihao/hr01.dbf')。

验证:

 

SQL> select file_name from dba_data_files;

FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/nihao/example01.dbf
/u01/app/oracle/oradata/nihao/users01.dbf
/u01/app/oracle/oradata/nihao/undotbs01.dbf
/u01/app/oracle/oradata/nihao/sysaux01.dbf
/u01/app/oracle/oradata/nihao/system01.dbf
/u01/app/oracle/product/11.2.0/dbhome_1/dbs/HR_DATA01.DBF
/u01/app/oracle/oradata/nihao/hist2011.dbf
/u01/app/oracle/oradata/nihao/hr01.dbf

8 rows selected.

SQL> 

 

3、设置表空间离线或者在线

为了执行一些维护操作,例如:恢复表空间或者把移动数据文件移动到新位置,你必须吧表空间设置为离线状态。

使用OFFLINE语句可以把表空间设置为离线。例如你可以把表空间HR01设置为离线,并且并且把他的一个数据文件

从H驱动盘,移动到G盘,按照下面步骤:

3.1 把HR01表空间设置为离线;

ALTER TABLESPACE hr01 OFFLINE


 

3.2用操作系统命令物理;

例如:copy G:/hr01.dbf H:/hr01.dbf

3.3 通知数据库数据文件的新位置;

ALTER TABLESPACE hr01 RENAME DATAFILE 'G:/hr01dbf' TO 'H:/hr01.dbf'


3.4 把表空间带回在线状态

ALTER TABLESPACE hr01 ONLINE;

 

 

你可能感兴趣的:(oracle,sql,数据库,File,database)