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;