oracle数据库备份命令(oracle备份数据库)
很多朋友对于oracle数据库备份命令和oracle备份数据库不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
怎样用命令备份还原Oracle数据库
Oracle中没有备份和还原的概念,应该叫导出和导入。
一、导出:
1.获取帮助
exp help=y
2.导出一个完整数据库
exp system/manager file=bible_db log=dible_db full=y
3.导出数据库定义而不导出数据
exp system/manager file=bible_db log=dible_db full=y rows=n
4.导出一个或一组指定用户所属的全部表、索引和其他对象
exp system/manager file=seapark log=seapark owner=seapark
exp system/manager file=seapark log=seapark owner=(seapark,amy,amyc,harold)
注意:在导出用户时,尽管已经得到了这个用户的所有对象,但是还是不能得到这些对象引用的任何同义词。解决方法是用以下的SQL*Plus命令创建一个脚本文件,运行这个脚本文件可以获得一个重建seapark所属对象的全部公共同义词的可执行脚本,然后在目标数据库上运行该脚本就可重建同义词了。
SET LINESIZE 132
SET PAGESIZE 0
SET TRIMSPOOL ON
SPOOL c:\seapark.syn
SELECT'Create public synonym'||synonym_name
||' for'||table_owner||'.'||table_name||';'
FROM dba_synonyms
WHERE table_owner='SEAPARK' AND owner='PUBLIC';
SPOOL OFF
5.导出一个或多个指定表
exp seapark/seapark file=tank log=tank tables=tank
exp system/manager file=tank log=tank tables=seapark.tank
exp system/manager file=tank log=tank tables=(seapark.tank,amy.artist)
6.估计导出文件的大小
全部表总字节数:
SELECT sum(bytes)
FROM dba_segments
WHERE segment_type='TABLE';
seapark用户所属表的总字节数:
SELECT sum(bytes)
FROM dba_segments
WHERE owner='SEAPARK'
AND segment_type='TABLE';
seapark用户下的aquatic_animal表的字节数:
SELECT sum(bytes)
FROM dba_segments
WHERE owner='SEAPARK'
AND segment_type='TABLE'
AND segment_name='AQUATIC_ANIMAL';
7.导出表数据的子集(oracle8i以上)
NT系统:
exp system/manager query='Where salad_type='FRUIT'' tables=amy.salad_type
file=fruit log=fruit
UNIX系统:
exp system/manager query=\"Where salad_type=\'FRUIT\'\" tables=amy.salad_type
file=fruit log=fruit
8.用多个文件分割一个导出文件
exp system/manager
file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G tables=hr.paycheck
9.使用参数文件
exp system/manager parfile=bible_tables.par
bible_tables.par参数文件:
#Export the sample tables used for the Oracle8i Database Administrator's Bible.
file=bible_tables
log=bible_tables
tables=(
amy.artist
amy.books
seapark.checkup
seapark.items
)
10.增量导出
“完全”增量导出(complete),即备份整个数据库
exp system/manager inctype=complete file=990702.dmp
“增量型”增量导出(incremental),即备份上一次备份后改变的数据
exp system/manager inctype=incremental file=990702.dmp
“累计型”增量导出(cumulative),即备份上一次“完全”导出之后改变的数据
exp system/manager inctype=cumulative file=990702.dmp
二、导入:
1.获取帮助
imp help=y
2.导入一个完整数据库
imp system/manager file=bible_db log=dible_db full=y ignore=y
3.导入一个或一组指定用户所属的全部表、索引和其他对象
imp system/manager file=seapark log=seapark fromuser=seapark
imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
4.将一个用户所属的数据导入另一个用户
imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
imp system/manager file=tank log=tank fromuser=(seapark,amy) touser=(seapark1, amy1)
5.导入一个表
imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
6.从多个文件导入
imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y
7.使用参数文件
imp system/manager parfile=bible_tables.par
bible_tables.par参数文件:
#Import the sample tables used for the Oracle8i Database Administrator's
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import
8.增量导入
imp system./manager inctype= RECTORE FULL=Y FILE=A
oracle数据库备份exp命令
oracle数据库备份exp命令:
第一个,表模式,备份某个用户模式下指定的对象(表)。业务数据库通常采用这种备份方式。若备份到本地文件,使用如下命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_csd_yyyymmdd.dmp
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo
若直接备份到磁带设备,使用如下命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_csd_yyyymmdd.log
tables=icdmain.commoninformation,icdmain.serviceinfo,icdmain.dealinfo
注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带。出于速度方面的考虑,尽量不要直接备份到磁带设备。
第二个,用户模式,备份某个用户模式下的所有对象。业务数据库通常采用这种备份方式。若备份到本地文件,使用如下命令:
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=exp_icdmain_yyyymmdd.dmp
log=exp_icdmain_yyyymmdd.log
若直接备份到磁带设备,使用如下命令:
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0
file=/dev/rmt0
log=exp_icdmain_yyyymmdd.log
注:如果磁盘有空间,建议备份到磁盘,然后再拷贝到磁带。如果数据库数据量较小,可采用这种办法备份。
第三个,完全模式,备份完整的数据库。业务数据库不采用这种备份方式。备份命令为:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log
对于数据库备份,建议采用增量备份,即只备份上一次备份以来更改的数据。增量备份命令:
exp icdmain/icd rows=y indexes=n compress=n buffer=65536
feedback=100000 volsize=0 full=y inctype=incremental
file=exp_fulldb_yyyymmdd.dmp(磁带设备则为/dev/rmt0)
log=exp_fulldb_yyyymmdd.log
扩展资料:
关于增量备份必须满足下列条件:
1、只对完整数据库备份有效,且第一次需要full=y参数,以后需要inctype=incremental参数
2、用户必须有EXP_FULL_DATABASE的系统角色。
3.、话务量较小时方可采用数据库备份。
4、如果磁盘有空间,建议备份到磁盘,然后再备份到磁盘。
版权声明:本文为CSDN博主「kalogen」的原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
参考资料来源:Oracle数据库备份(exp/imp命令)
对oracle数据库怎么进行备份急求解决,谢谢!
Oracle数据库的备份,要根据以下不同情况去考虑如何进行备份:
1、根据企业的业务形式-- 24 x 7不停机(银行、通讯等)与每天有一定时间可停机(商场);
2、根据企业的数据库规模--数据量的大小可适当考虑采用的备份方式;
3、根据Oracle数据库的运行方式--日志文件归档与非归档模式。
这里简单说一下两种不同情况所采用的备份方法。
1、企业 24 x 7是不停机--多数采用数据库以归档模式运行,并以逻辑备份和不完全备份相结合的方法。而逻辑备份可按系统方式和用户方式进行备份,而且考虑到备份介质的损坏可能性进行单双日备份。即每种备份留两套,单日一套双日一套。
2、企业业务不是全天性的--可采用数据库以非归档模式运行,并以物理备份和逻辑备份相结合的方法。而逻辑备份可按系统方式和用户方式进行备份,而且考虑到备份介质的损坏可能性进行单双日备份。即每种备份留两套,单日一套双日一套。
注:逻辑备份-- EXP、IMP命令备份;物理备份--关闭数据库备份所有的系统文件;不完全备份--可脱机一些表空间进行备份(此方法用的少)。
关于oracle数据库备份命令,oracle备份数据库的介绍到此结束,希望对大家有所帮助。