分类：电脑/网络-程序设计-数据库
问题：ORACLE数据库如何备份数据?最好是备份哪些东西呢?? 
ORACLE如何备份数据?最好是备份哪些东西呢??
回答：一)、导出/导入(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% c 　　%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.