oracle的导出、导入和数据迁移

本文提供了一份详细的 Oracle 数据库迁移与数据导出导入的步骤指南,包括查询数据库文件路径、修改 spfile 指向路径、数据库日记、导出与导入数据等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这段是网上看到的导出教程(英文说明说中的)
$exp test/test123@appdb
Enter array fetch buffer size: 4096 > 回车
Export file: expdat.dmp > m.dmp 生成导出的文件名
(1)E(ntire database), (2)U(sers), or (3)T(ables): (2)U > 3
Export table data (yes/no): yes > 回车
Compress extents (yes/no): yes > 回车
Export done in ZHS16GBK character set and ZHS16GBK NCHAR character set
About to export specified tables via Conventional Path ...
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > cmamenu 要导出的表名
. . exporting table CMAMENU 4336 rows exported
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > 要导出的表名n
Table(T) or Partition(T:P) to be exported: (RETURN to quit) > 回车
Export terminated successfully without warnings.


以下是我自己写的:
//数据迁移

//登陆
sqlplus
sys as sysdba
sys

//查询数据库文件路径
select file_name from dba_data_files;

select tablespace_name, file_id, file_name,
   round(bytes/(1024*1024),0) total_space
   from dba_data_files
   order by tablespace_name;
//查询所在路径方法2
select name from v$datafile;


//操作spfile

show parameter spfile;
create pfile from spfile;

修改spfile 的指向路径

开数据库
startup mount


alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\system01.dbf' TO 'D:\oracle\product\10.2.0\oradata\orcl\system01.dbf';

alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\SYSAUX01.DBF' TO 'D:\oracle\product\10.2.0\oradata\orcl\SYSAUX01.DBF';

alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\TEMP01.DBF' TO 'D:\oracle\product\10.2.0\oradata\orcl\TEMP01.DBF';

alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\UNDOTBS01.DBF' TO 'D:\oracle\product\10.2.0\oradata\orcl\UNDOTBS01.DBF';

alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF' TO 'D:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF';

//修改数据库日记
alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\REDO03.LOG' TO 'D:\oracle\product\10.2.0\oradata\orcl\REDO03.LOG';

alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\REDO02.LO
G' TO 'D:\oracle\product\10.2.0\oradata\orcl\REDO02.LOG';

alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\REDO01.LO
G' TO 'D:\oracle\product\10.2.0\oradata\orcl\REDO01.LOG';

//修改资源文件
SQL> alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\CONTROL03
.CTL' TO 'D:\oracle\product\10.2.0\oradata\orcl\CONTROL03.CTL';

SQL> alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\CONTROL02
.CTL' TO 'D:\oracle\product\10.2.0\oradata\orcl\CONTROL02.CTL';

SQL> alter database RENAME FILE 'F:\oracle\product\10.2.0\oradata\orcl\CONTROL01
.CTL' TO 'D:\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL';

//*备注:控制文件可以不迁移。迁移后可能导致数据文件路径不对!

//导出导入
exp
$exp userid=sys/orcl@orcl //简单命令输入这个后可以按提示操作
导出的文件肯能在c:\ 或是在 database下
或是C:\Documents and Settings\Administrator


//以下是比较健全的写法。最好记得加上log 属性
$EXP USERID='SYS/orcl@orcl as sysdba' FILE=E:\orcl.DMP LOG=e:\orcl.log FULL=Y BUFFER=604000

REM -----导入备份的数据文件到ORCL备份数据库

$IMP USERID='SYS/oracle@local as sysdba' FILE=E:\hisback\ZLHIS0.DMP FULL=Y IGNORE=Y COMMIT=Y BUFFER=1024000

REM ---导入后对无效对象进行重新编译

sqlplus sys/oracle@local @e:\hisback\invalid.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值