Oracle 表空间数据文件迁移
循序渐进讲解Oracle9i数据库的迁移过程

循序渐进讲解Oracle9i数据库的迁移过程需求:把原系统Oracle 9205数据库迁移到一台新的服务器和阵列上,原系统有250GB的数据量,需要停止原来系统的业务,做冷备份和恢复。
解决方法如下:◆1.在新的服务器和阵列上装好一个oracle 9206数据库;◆2.停止原系统oracle 9205;◆3.把原系统的数据冷拷贝到新的服务器上,然后按照以下步骤来进行恢复:(1)、获取数据库相关信息首先要查看一下数据库的文件内容:select * from v$datafile;select * from v$controlfileselect * from v$logfile;数据文件:G:\ORADATA\WEBOA\SYSTEM01.DBFG:\ORADATA\WEBOA\UNDOTBS01.DBFG:\ORADATA\WEBOA\CWMLITE01.DBFG:\ORADATA\WEBOA\DRSYS01.DBFG:\ORADATA\WEBOA\EXAMPLE01.DBFG:\ORADATA\WEBOA\INDX01.DBFG:\ORADATA\WEBOA\ODM01.DBFG:\ORADATA\WEBOA\TOOLS01.DBFG:\ORADATA\WEBOA\USERS01.DBFG:\ORADATA\WEBOA\XDB01.DBF控制文件:G:\ORADATA\WEBOA\CONTROL01.CTLG:\ORADATA\WEBOA\CONTROL02.CTLG:\ORADATA\WEBOA\CONTROL03.CTL重做日志文件:G:\ORADATA\WEBOA\REDO03.LOGG:\ORADATA\WEBOA\REDO02.LOGG:\ORADATA\WEBOA\REDO01.LOG(2)、移动应用数据文件shutdown immediate关闭数据库,拷贝数据文件到另外一个目录下。
Oracle用分区表分区交换做历史数据迁移

Oracle⽤分区表分区交换做历史数据迁移⼀。
说明:OLTP库中有些表数据量⼤,且每⽉有持续的⼤量数据添加。
因为历史数据在此库中不再做訪问,⽽是在另1个OLAP库中做分析。
所以会对历史数据迁移⾄OLAP库中。
对这样的历史数据迁移的操作。
较好的办法是该表採⽤分区表。
按时间分区后,能够对分区进⾏迁移。
通过分区交换和表空间传输会⾮常easy完毕。
并且性能上影响⾮常⼩。
关于分区表很多其它内容: /tanqingru/article/category/1397435关于表空间传很多其它内容: /tanqingru/article/category/1138527⼆。
实例:整个过程是在OLTP库做分区交换。
然后通过表空间传输迁移⾄OLAP库。
最后再做⼀次分区交换就可以。
1.创造须要的环境。
OLTP库环境准备:SQL> conn /as sysdbaConnected.SQL> select * from V$version;BANNER--------------------------------------------------------------------------------Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProductionPL/SQL Release 11.2.0.3.0 - ProductionCORE 11.2.0.3.0 ProductionTNS for Linux: Version 11.2.0.3.0 - ProductionNLSRTL Version 11.2.0.3.0 - ProductionSQL> show parameter db_create_file_destNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_create_file_dest string /data01/qingcreate tablespace tan_2013_9 datafile size 5m autoextend on;create tablespace tan_2013_10 datafile size 5m autoextend on;create tablespace tan_2013_11 datafile size 5m autoextend on;create tablespace tan_2013_12 datafile size 5m autoextend on;create tablespace tan_2014_1 datafile size 5m autoextend on;create tablespace tan_2014_2 datafile size 5m autoextend on;create tablespace tan_2014_3 datafile size 5m autoextend on;create tablespace tan_2014_4 datafile size 5m autoextend on;create tablespace tan_2014_5 datafile size 5m autoextend on;create tablespace tan_2014_6 datafile size 5m autoextend on;create tablespace tan_2014_7 datafile size 5m autoextend on;create tablespace tan_2014_8 datafile size 5m autoextend on;conn tan/tanSQL> create table tan(t_id number(10),t_name varchar2(100),t_date date )partition by range(t_date)(partition tan_2013_9 values less than(to_date('2013-10-01','yyyy-mm-dd')) tablespace tan_2013_9,partition tan_2013_10 values less than(to_date('2013-11-01','yyyy-mm-dd')) tablespace tan_2013_10,partition tan_2013_11 values less than(to_date('2013-12-01','yyyy-mm-dd')) tablespace tan_2013_11, partition tan_2013_12 values less than(to_date('2014-01-01','yyyy-mm-dd')) tablespace tan_2013_12, partition tan_2014_1 values less than(to_date('2014-02-01','yyyy-mm-dd')) tablespace tan_2014_1, partition tan_2014_2 values less than(to_date('2014-03-01','yyyy-mm-dd')) tablespace tan_2014_2, partition tan_2014_3 values less than(to_date('2014-04-01','yyyy-mm-dd')) tablespace tan_2014_3, partition tan_2014_4 values less than(to_date('2014-05-01','yyyy-mm-dd')) tablespace tan_2014_4, partition tan_2014_5 values less than(to_date('2014-06-01','yyyy-mm-dd')) tablespace tan_2014_5, partition tan_2014_6 values less than(to_date('2014-07-01','yyyy-mm-dd')) tablespace tan_2014_6, partition tan_2014_7 values less than(to_date('2014-08-01','yyyy-mm-dd')) tablespace tan_2014_7, partition tan_2014_8 values less than(to_date('2014-09-01','yyyy-mm-dd')) tablespace tan_2014_8 );create index ind_tan on tan(t_date) local(partition ind_tan_2013_9 tablespace tan_2013_9,partition ind_tan_2013_10 tablespace tan_2013_10,partition ind_tan_2013_11 tablespace tan_2013_11,partition ind_tan_2013_12 tablespace tan_2013_12,partition ind_tan_2014_1 tablespace tan_2014_1,partition ind_tan_2014_2 tablespace tan_2014_2,partition ind_tan_2014_3 tablespace tan_2014_3,partition ind_tan_2014_4 tablespace tan_2014_4,partition ind_tan_2014_5 tablespace tan_2014_5,partition ind_tan_2014_6 tablespace tan_2014_6,partition ind_tan_2014_7 tablespace tan_2014_7,partition ind_tan_2014_8 tablespace tan_2014_8);beginfor i in 1.. 10000 loopif( mod(i,12)+1 <=8) theninsert into tan values(i,'tan'||i,to_date('2014-'||(mod(i,12)+1)||'-01','yyyy-mm-dd'));elseinsert into tan values(i,'tan'||i,to_date('2013-'||(mod(i,12)+1)||'-01','yyyy-mm-dd'));end if;end loop;commit;end;/SQL> select count(*) from tan partition(tan_2013_12) ;COUNT(*)----------833SQL> select count(*) from tan partition(tan_2013_9) ;COUNT(*)----------833SQL> select count(*) from tan partition(tan_2014_8) ;COUNT(*)----------833SQL> select count(*) from tan partition(tan_2014_1) ;COUNT(*)----------833SQL> select partition_name,tablespace_name from dba_segmentswhere segment_name in ('TAN','IND_TAN');PARTITION_NAME TABLESPACE_NAME------------------------------ ------------------------------TAN_2014_8 TAN_2014_8TAN_2014_7 TAN_2014_7TAN_2014_6 TAN_2014_6TAN_2014_5 TAN_2014_5TAN_2014_4 TAN_2014_4TAN_2014_3 TAN_2014_3TAN_2014_2 TAN_2014_2TAN_2014_1 TAN_2014_1TAN_2013_9 TAN_2013_9TAN_2013_12 TAN_2013_12TAN_2013_11 TAN_2013_11TAN_2013_10 TAN_2013_10IND_TAN_2014_8 TAN_2014_8IND_TAN_2014_7 TAN_2014_7IND_TAN_2014_6 TAN_2014_6IND_TAN_2014_5 TAN_2014_5IND_TAN_2014_4 TAN_2014_4IND_TAN_2014_3 TAN_2014_3IND_TAN_2014_2 TAN_2014_2IND_TAN_2014_1 TAN_2014_1IND_TAN_2013_9 TAN_2013_9IND_TAN_2013_12 TAN_2013_12IND_TAN_2013_11 TAN_2013_11IND_TAN_2013_10 TAN_2013_1024 rows selected.OLAP库环境准备<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">create tablespace tan_2013_7 datafile size 5m autoextend on;</span> create tablespace tan_2013_8 datafile size 5m autoextend on;create table tan(t_id number(10),t_name varchar2(100),t_date date )partition by range(t_date)(partition tan_2013_7 values less than(to_date('2013-08-01','yyyy-mm-dd')) tablespace tan_2013_7,partition tan_2013_8 values less than(to_date('2013-09-01','yyyy-mm-dd')) tablespace tan_2013_8);create index ind_tan on tan(t_date) local(partition ind_tan_2013_7 tablespace tan_2013_7,partition ind_tan_2013_8 tablespace tan_2013_8);beginfor i in 1.. 10000 loopinsert into tan values(i,'tan'||i,to_date('2013-'||(mod(i,2)+7)||'-01','yyyy-mm-dd'));end loop;commit;end;/SQL> select count(*) from tan partition(tan_2013_8);COUNT(*)----------5000SQL> select count(*) from tan partition(tan_2013_7);COUNT(*)----------50002.分区交换如今要做的事是迁移2013年9⽉份数据。
Oracle数据文件迁移(详细版)

Oracle数据文件迁移(详细版)如何把数据文件从C盘移动到D盘呢?很简单,三个步骤就行了第一步:把表空间Offline,把表空间的数据文件移动到D盘指定的目录。
第二步:修改表空间文件路径alter database rename file '旧文件路径' to '新文件路径';第三步:把表空间Online,这样就可以了。
以下是一些其它方面的参考:数据文件重命名(filesystem and raw device)filesystemdatabase must be open:1.alter tablespace tbs read only;2.alter tablespace tbs offline;3.在offline时拷贝一份原文件,并命名为新文件名4.alter tablespace tbs rename datafile 'tbs_file_old.dbf' to 'tbs_file_new.dbf';5.alter tablespace tbs online;6.alter tablespace tbs read write;7.alter database recover datafile 'tbs_file_new.dbf';raw devicedatabase must be mounted but not open:1.为新的数据文件创建裸设备链接文件2.starup mount;3.alter database rename file 'tbs_file_old' to 'tbs_file_new';4.alter database recover datafile 'tbs_file_new';5.alter database open;Oracle系统紧急故障处理(数据文件、日志文件以及表空间损坏的处理)Oracle物理结构故障的处理方法:Oracle物理结构故障是指构成数据库的各个物理文件损坏而导致的各种数据库故障。
oracle数据迁移方法

oracle数据迁移方法Oracle数据迁移是将现有的Oracle数据库中的数据、表结构以及相关的约束条件等迁移到另一个Oracle数据库中的过程。
在实际的数据迁移中,存在以下几种常见的方法和工具:1.手动数据迁移:手动数据迁移是一种基本的迁移方法,它需要手工编写SQL语句完成数据迁移的操作。
这种方法适用于迁移的数据量较小的情况,迁移过程相对简单。
迁移操作可以分为以下几个步骤:-创建目标数据库-创建目标数据库的表结构,包括表、索引、约束等-导出源数据库中的数据-将导出的数据文件导入到目标数据库中手动数据迁移方法的优点是灵活性高,适用于各种复杂情况下的迁移操作。
但是由于需要手工编写SQL语句,容易出现错误,对于数据量较大的迁移任务来说,效率较低。
2. Oracle迁移工具:Oracle官方提供了多个数据迁移工具,如Oracle Data Pump和Oracle GoldenGate等。
- Oracle Data Pump是一个用于高效迁移数据和元数据的工具。
它支持全库导出和导入,可以将源数据库中的数据、表结构、存储过程等导出为二进制文件,然后通过网络或者直接复制文件的方式导入到目标数据库中。
Oracle Data Pump在迁移时可以进行数据过滤、表空间映射等操作,可以对数据进行压缩和加密等处理。
- Oracle GoldenGate是一个实时数据复制和数据同步工具,它可以在源数据库和目标数据库之间实时同步数据,保证两个数据库的数据一致性。
GoldenGate可以进行额外的数据转换和过滤操作,支持多种复杂的迁移场景,如异构数据库迁移、分布式迁移等。
3.第三方迁移工具:除了Oracle官方提供的工具,还有一些第三方的数据迁移工具,如TOAD、SQL Developer等。
这些工具提供了可视化的操作界面,可以简化迁移操作的过程,提高效率。
-TOAD是一款功能强大的数据库管理工具,具有数据导入导出、数据比较、数据同步等功能。
ORACLE数据库文件位置调整

由于数据库原始安装的原因造成数据库或整个操作系统的不安全或者由于磁盘空间变化再或者由于业务变化造成的I/O性能需要调整等等原因需要数据库管理员进行数据库文件位置的调整.下面通过一个WINDOWS平台的ORACLE数据文件移动为例子讨论一下数据库文件移动的方法,请大家指正.一.移动数据文件移动数据文件笔者目前使用的有2种办法,权作抛砖引玉.方法一、以数据文件为单位移动1.查看数据文件路径SQL> select name from v$datafile;NAME---------------------------------------------E:\ORACLE\ORADATA\SLUMGABAK\SYSTEM01.DBFE:\ORACLE\ORADATA\SLUMGABAK\UNDOTBS01.DBFE:\ORACLE\ORADATA\SLUMGA\CWMLITE01.DBFE:\ORACLE\ORADATA\SLUMGA\DRSYS01.DBFE:\ORACLE\ORADATA\SLUMGA\EXAMPLE01.DBFE:\ORACLE\ORADATA\SLUMGA\INDX01.DBFE:\ORACLE\ORADATA\SLUMGA\ODM01.DBFE:\ORACLE\ORADATA\SLUMGA\TOOLS01.DBFE:\ORACLE\ORADATA\SLUMGA\USERS01.DBFE:\ORACLE\ORADATA\SLUMGA\XDB01.DBF2.关闭数据库SQL> shutdown immediateDatabase closed.Database dismounted.ORACLE instance shut down.3.MOUNT到数据库SQL> startup mountORACLE instance started.Total System Global Area 135338868 bytesFixed Size 453492 bytesVariable Size 109051904 bytesDatabase Buffers 25165824 bytesRedo Buffers 667648 bytesDatabase mounted.4.把要移动的数据文件剪切到目标目录,这里的要移动SYSTEM数据文件从'E:\oracle\oradata\slumgabak'到'E:\oracle\oradata\slumga'4.alter database方法移动数据文件SQL> alter database rename file 'E:\ORACLE\ORADATA\SLUMGABAK\SYSTEM01.DBF' to 'E:\ORACLE\ORADATA\SLUMGA\SYSTEM01.DBF';Database altered.5.移动其他数据文件同上.但是我们要注意的是TEMP数据文件.在我们上边列出数据文件的命令里没有包含这个文件.而且我们在SQL> alter database rename file 'E:\ORACLE\ORADATA\SLUMGA\temp01.DBF' to 'E:\ORA CLE\ORADATA\SLUMGAbak\temp01.DBF';alter database rename file 'E:\ORACLE\ORADATA\SLUMGA\temp01.DBF' to 'E:\ORACLE\O RADATA\SLUMGAbak\temp01.DBF'*ERROR at line 1:ORA-01511: error in renaming log/data filesORA-01516: nonexistent log file, datafile, or tempfile"E:\ORACLE\ORADATA\SLUMGA\temp01.DBF"SQL> alter database rename tempfile 'E:\oracle\oradata\slumga\temp01.dbf' to 'E:\oracle\oradata\slumgabak\temp01.dbf';alter database rename tempfile 'E:\oracle\oradata\slumga\temp01.dbf' to 'E:\oracle\oradata\slumgabak\temp01.dbf'*ERROR at line 1:ORA-02231: missing or invalid option to ALTER DATABASE是不可行的.具体关于TEMP数据文件我们会在下边讨论.6.移动完以后启动数据库SQL> alter database open;SQL> select name,status from v$datafile;方法二、以表空间为单位进行移动1.把相应表空间offlineSQL> alter tablespace example offline;Tablespace altered.2.操作系统级把数据文件移动到目标目录3.在ORACLE数据库中把该表空间的所有数据文件改名SQL> alter tablespace example rename datafile 'E:\ORACLE\ORADATA\SLUMGABAK\examp le01.DBF' to 'E:\ORACLE\ORADATA\SLUMGA\example01.DBF';Tablespace altered.4.把表空间ONLINESQL> alter tablespace example online;Tablespace altered.5.此方法对系统表空间system、undo表空间和temp表空间无法使用。
Oracle数据库迁移的几种方式

Oracle数据库迁移的⼏种⽅式⾯试:⼀、exp/imp逻辑备份与恢复:⼆、Storage存储迁移:将数据⽂件、控制⽂件、⽇志⽂件、spfile挂到新机器上,然后在新机器上启动数据库。
三、利⽤data guard迁移:四、⽤rman做迁移:我们常常需要对数据进⾏迁移,迁移到更性能配置更⾼级的主机OS上、迁移到远程的机房、迁移到不同的平台下,以下介绍ORACLE的⼏种数据库迁移⽅案: ⼀、exp/imp逻辑备份与恢复: 它是最常⽤最简单的⽅法,⼀般是基于应⽤的owner级做导出导⼊。
操作⽅法为:在新库建⽴好owner和表空间,停⽼库的应⽤,在⽼库执⾏:$ exp user/pwd owner=XXX file=exp_xxx.dmp log=exp_xxx.log buffer=6000000,导⼊dmp⽂件到新库,在新库执⾏如下命令:$ imp user/pwd fromuser=XXX touser=XXX file=exp_xxx.dmp log=imp_xxx.log ignore=y. 优缺点:优点是可以跨平台使⽤;缺点是停机时间长,停机时间为从exp到⽹络传输到新库,再加上imp的时间。
⼆、Storage存储迁移: 这种情况下,数据⽂件、控制⽂件、⽇志⽂件、spfile都在存储上(⼀般情况下是裸设备),我们可以直接把存储挂到新机器上,然后在新机器上启动数据库。
操作⽅法:将⽼库的pfile(因为⾥⾯有指向裸设备的spfile链接),tnsnames.ora,listener.ora,密码⽂件传到新库的对应位置。
将存储切⾄新机,或者⽤⽂件拷贝或dd的⽅式复制数据⽂件,启动数据库。
优缺点:优点是该迁移⽅式⾮常简单,主要的⼯作是主机⼯程师的⼯作,dba只需配合即可,停机时间为停库、切存储、起库的时间;缺点是要求新⽼库都是同⼀平台,是相同的数据库版本。
三、利⽤data guard迁移: ⽤dg我们不仅可以⽤来做容灾,物理的dg我们还可以作为迁移的⽅式。
oracle数据迁移sql语句

在进行Oracle数据库迁移时,您可以使用SQL语句来执行数据迁移任务。
以下是一些常用的SQL语句示例:1. 导出数据:```sqlSELECT * FROM 表名INTO OUTFILE '文件路径'```该语句将从指定的表中检索所有数据,并将其导出到指定的文件中。
您需要将"表名"替换为要导出数据的实际表名,并将"文件路径"替换为要导出数据的实际文件路径。
2. 导入数据:```sqlLOAD DATA INFILE '文件路径' INTO TABLE 表名```该语句将从一个文件中加载数据,并将其导入到指定的表中。
您需要将"文件路径"替换为包含要导入数据的实际文件的路径,并将"表名"替换为要将数据导入的实际表名。
3. 创建表:```sqlCREATE TABLE 表名(列1 数据类型, 列2 数据类型, ...);```该语句用于在数据库中创建一个新的表。
您需要将"表名"替换为要创建的表的名称,并在括号内指定每个列的名称和数据类型。
4. 插入数据:```sqlINSERT INTO 表名(列1, 列2, ...) VALUES (值1, 值2, ...);```该语句用于向表中插入新的行数据。
您需要将"表名"替换为要插入数据的实际表名,并在括号内指定要插入的列的名称和对应的值。
5. 更新数据:```sqlUPDATE 表名SET 列= 新值WHERE 条件;```该语句用于更新表中满足指定条件的数据。
您需要将"表名"替换为要更新数据的实际表名,并在SET子句中指定要更新的列和对应的新值,同时在WHERE子句中指定满足条件的数据行。
这只是一些常用的SQL语句示例,实际的数据库迁移可能会涉及更复杂的操作。
根据您的具体需求和数据库结构,您可能需要编写更复杂的SQL语句来完成数据迁移任务。
oracle数据库迁移方案

oracle数据库迁移方案在进行Oracle数据库迁移时,需要考虑到诸多因素,包括数据的完整性、稳定性和安全性。
本文将介绍一种可行的Oracle数据库迁移方案,希望能够对大家有所帮助。
首先,进行数据库迁移前,需要对现有的数据库进行全面的备份。
这一步非常关键,可以保证在迁移过程中出现问题时,能够及时恢复数据,避免造成不必要的损失。
可以选择使用Oracle提供的备份工具,也可以使用第三方备份软件进行备份操作。
其次,确定目标数据库的环境和配置。
在进行数据库迁移时,目标数据库的环境和配置需要与原数据库保持一致,包括操作系统、数据库版本、存储设备等。
如果目标数据库与原数据库的环境有所不同,需要提前进行环境的调整和配置的优化。
接下来,选择合适的迁移工具。
Oracle提供了多种数据库迁移工具,包括Data Pump、Transportable Tablespaces等。
根据实际情况选择合适的迁移工具,并对迁移工具进行详细的配置和参数设置。
然后,进行数据迁移操作。
在进行数据迁移时,需要确保数据的完整性和一致性。
可以选择全量迁移或增量迁移的方式,根据实际情况选择合适的迁移策略。
在迁移过程中,需要对迁移的数据进行验证和测试,确保数据的准确性和完整性。
最后,进行数据库的验证和性能调优。
在完成数据迁移后,需要对目标数据库进行全面的验证和性能调优。
可以使用Oracle提供的性能调优工具,对数据库的性能进行优化和调整,确保数据库的稳定性和高效性。
综上所述,Oracle数据库迁移是一个复杂的过程,需要对各个环节进行详细的规划和操作。
通过本文介绍的迁移方案,希望能够帮助大家顺利完成数据库迁移操作,确保数据的安全和稳定。
祝大家在数据库迁移的过程中顺利完成,谢谢!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、系统表空间数据文件迁移:
SQL> conn /@study as sysdba
已连接。
SQL>descdba_data_files;
名称是否为空? 类型
----------------------------------------- -------- ----------------------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
ONLINE_STATUS VARCHAR2(7)
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name= 'SYSTEM';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\SYSTEM01.DBF
SYSTEM
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE例程已经关闭。
SQL> host copy D:\oracle\product\10.2.0\oradata\study\system.dbf d:\oracle\study
系统找不到指定的文件。
SQL> host copy D:\oracle\product\10.2.0\oradata\study\system.dbf d:\oracle\study
\
系统找不到指定的文件。
SQL> host copy D:\oracle\product\10.2.0\oradata\study\SYSTEM01.DBF d:\oracle\stu dy\
已复制 1 个文件。
SQL> startup mount
ORACLE 例程已经启动。
Total System Global Area 1140850688 bytes
Fixed Size 2065184 bytes
Variable Size 301993184 bytes
Database Buffers 822083584 bytes
Redo Buffers 14708736 bytes
数据库装载完毕。
SQL> alter database rename file 'D:\oracle\product\10.2.0\oradata\study\system01
.dbf' to 'D:\oracle\study\system01.dbf';
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name= 'SYSTEM';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
D:\ORACLE\STUDY\SYSTEM01.DBF
SYSTEM
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name= 'USERS';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\STUDY\USERS01.DBF
USERS
二、非系统表空间数据文件移动:
SQL> alter tablespace users offline
2 ;
表空间已更改。
SQL> host copy D:\oracle\product\10.2.0\oradata\study\user01.dbf d:\oracle\study
\
系统找不到指定的文件。
SQL> host copy D:\oracle\product\10.2.0\oradata\study\users01.dbf d:\oracle\stud
y\
已复制 1 个文件。
SQL> alter tablespace users rename datafile 'D:\oracle\product\10.2.0\oradata\st
udy\users01.dbf' to 'd:\oracle\study\users01.dbf';
表空间已更改。
SQL> alter tablespace users online
2 ;
表空间已更改。
SQL> select file_name,tablespace_name from dba_data_files where tablespace_name= 'USERS';
FILE_NAME
--------------------------------------------------------------------------------
TABLESPACE_NAME
------------------------------
D:\ORACLE\STUDY\USERS01.DBF
USERS
SQL>。