oracle其他数据库的dbf文件如何加入到当前数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle其他数据库的dbf文件如何加入到当前数据库相关的知识,希望对你有一定的参考价值。

一)、导出/导入(EXPORT/IMPORT)
EXPORT/IMPORT是用来将ORACLE中数据移出/移入数据库。
1、EXPORT将数据库中数据备份成一个二进制系统文件称为“导出转储文件”(EXPORT
DUMP FILE),并将重新生成数据库写入文件中。
它有三种模式:
a.用户模式:导出用户所有对象以及对象中的数据;
b.表模式:导出用户所有表或者指定的表;
c.整个数据库:导出数据库中所有对象。
它的备份有三种类型:
a.完全型(COMPLETE EXPORT):备份整个数据库;
b.积累型(COMULATIVE ERPORT):备份上一次积累型备份所改变的数据;
c.增量型(INCREAMENTAL EXPORT):备份上一次备份后改变的数据。
EXPORT 的命令可以交互式进行,各参数的具体含义见附录。
在进行导出备份时我们要考虑一点问题,那就是导出的一致性,在导出过程 中导出每读
一次就读取一个表,因而尽管导出是在一个特点时自己开始的,但不同的表读取的时间不同,
因此,导出开始读一个表时,此时表中的数据才是导出的数据,这样当大多数表按内部关键字
和外部关键字相互联系时,在导出过程中这些相关联表的改变就会导致导出的不一致性,要避
开这个,我们可以将导出过程安排在不对表操作的时候进行。另外,当ORACLE中RESTRICTEP
2、IMPORT导入:
导入的过程是导出的逆过程,这个命令先读取导出来的导出转储二进制文件,并运行文件
IMPORT命令执行的方法和EXPORT方案有关。
1、如果EXPORT所实施的是完全型方案(FULL)则在IMPORT时所有的数据对象,包括表空间
,数据文件,用户都会在导入时创建,但考虑到数据库中的物理布局,预先创建表空间和用户
2、如果EXPORT使用的是INCREMENTAL/CUMULATIVE方式,则需要预先设置好表空间、用户
(二):冷备份
冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提供给我们一个完整的数据
数据库使用的每个文件都被备份下来,这些文件包括:
☆所有数据文件
☆所有控制文件
☆所有联机REDO LOG 文件
☆INIT.ORA文件(可选)
值得注意的是冷备份必须是数据库关闭的情况下完成,当数据库开着的时候,执行数据库
作冷备份一般步骤是:
1:正常关闭要备份的实例(instance);
2: 备份整个数据库到一个目录
3:启动数据库 1: SQLDBA>connect internal
SQLDBA>shutdown normal
2: SQLDBA>! cp
或 SQLDBA>!tar cvf /dev/rmt/0 /wwwdg/oracle
3: SQLDBA>startup
(三)热备份(ACHIRELOG)
数据库需要二十四小时运行,而且随时有新的数据加入.数据丢失将影响整个公司.采用
?设置数据库为automatic archivelog mode,
#su - oracle
%svrmgrl svrmgrl>connect internal
svrmgrl>startup mount
svrmgrl>alter database archivelog
svrmgrl>shutdown
svrmgrl>exit
%vi initoracle7.ora
加入log_archive_start = true # if you want automatic archiving
log_archive_dest = $ORACLE_HOME/dbs/arch

log_archive_format = log%s.arc
%dbstart
%ps -ef|grep arch
oracle 1743 1 0 15:20:20 ? 0:00 ora_arch_oracle7
注:oracle database is in automatic archivelog mode
?full offline entire database backup, 当数据库初始完成后 这份备份是将来备份的
%dbshut
%cp /oracle/oradata/oracle7/system.dbf
/oracle/oradata/oracle7/rbs.dbf
/oracle/oradata/oracle7/temp.dbf
/oracle/oradata/oracle7/tools.dbf
/oracle/oradata/oracle7/users.dbf
/oraclecle/app/oracle/product/7.3.2/dbs/application.dbf
/oracle/app/oracle/product/7.3.2/dbs/apptmpsp.dbf
/oracle/app/oracle/product/7.3.2/dbs/apprlbksp.dbf
/oracle/oradata/oracle7/redooracle.log
/oracle/oradata/oracle7/control1.ctl
/oracle/oradata/oracle7/control2.ctl
/oracle/oradata/oracle7/control3.ctl
%dbstart
注:以上*.dbf文件为数据文件,*.log文件为日志文件,*.ctl文件为控制文件
%exit %tar uvf /dev/rmt/0
注:如果为oracle 7.2 ,则copy 相应的 data files,relog files,control files.
6.3、每天做一次 partial online with archiving backups .
#su - oracle
%svrmgrl %svrmgrl>connect internal
%svrmgrl>alter tablespace billsp begin backup
%svrmgrl>alter tablespace billtmpsp begin backup
%svrmgrl>alter tablespace billrlbksp begin backup
%svrmgrl>alter tablespace system begin backup
%svrmgrl>alter tablespace rbs begin backup
%svrmgrl>alter tablespace temp begin backup
%svrmgrl>alter tablespace tools begin backup
%svrmgrl>alter tablespace users begin backup
%svrmgrl>host cp all datafile to the backup storage. #文件名如第一步中以.dbf结尾的.
%svrmgrl>alter tablespace billsp end backup
%svrmgrl>alter tablespace billtmpsp end backup
%svrmgrl>alter tablespace billrlbksp end backup
%svrmgrl>alter tablespace system end backup
%svrmgrl>alter tablespace rbs end backup
%svrmgrl>alter tablespace temp end backup
%svrmgrl>alter tablespace tools end backup
%svrmgrl>alter tablespace users end backup
做一个sql文件,如上所写.
The billing system can recover to the point of failure when the failure occur.
参考技术A 貌似不行吧,可以使用import的方式实现吧

oracle迁移数据文件

步骤如下:

1.  把数据文件迁移到/u02对应的目录

[oracle@localhost hsbop]$ mv /u01/app/oracle/oradata/orcl/acptdat.dbf  /u02/oradata/hsbop/acptdat.dbf

[oracle@localhost hsbop]$ mv /u01/app/oracle/oradata/orcl/acptidx.dbf /u02/oradata/hsbop/acptidx.dbf

[oracle@localhost hsbop]$ mv /u01/app/oracle/oradata/orcl/archdat.dbf /u02/oradata/hsbop/archdat.dbf

[oracle@localhost hsbop]$ mv /u01/app/oracle/oradata/orcl/archidx.dbf /u02/oradata/hsbop/archidx.dbf

2. 数据库启动到mount状态

SQL> startup mount

ORACLE instance started.

Total System Global Area  536870912 bytes

Fixed Size     1220408 bytes

Variable Size   171966664 bytes

Database Buffers   356515840 bytes

Redo Buffers     7168000 bytes

Database mounted.

3. 进行数据文件的rename

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/acptdat.dbf' to '/u02/oradata/hsbop/acptdat.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/acptidx.dbf' to '/u02/oradata/hsbop/acptidx.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/archdat.dbf' to '/u02/oradata/hsbop/archdat.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/archidx.dbf' to '/u02/oradata/hsbop/archidx.dbf';

Database altered.

4. 打开数据库

SQL> alter database open;

Database altered.

--迁移redo log同理。

以上是关于oracle其他数据库的dbf文件如何加入到当前数据库的主要内容,如果未能解决你的问题,请参考以下文章

oracle如何将数据库文件(*.dbf)移到别的文件夹?

oracle的dbf文件如何把数据导出来

dbf如何导入oracle

dbf如何导入oracle

如何将VFP中的dbf文件导入到sql2000中去,要比较详细的步骤。急!在线等

oracle dbf 文件更换目录