来历:chinaitlab
问:公司里的oracle数据库有20G之大大(这是一个方案的大大小.副本这个方案有30G,我已经把能删的数据都删了),若何备份?感受备份一次好慢啊.专家有什么指点一下的吗?(另:20G的数据库是不是备份也要20G这样?)我希冀能每周备份一次,最好每天一次.
答:办法一:首选需求在UNIX下成立一个管道(只成立一次即可): $mknod ./exp_pipe p
$ ls -l exp_pipe
prw-rw-r-- 1 report group 0 Mar 17 05:20 exp_pipe
然后经过议定管道,将EXP导出的数据直接紧缩,注重:上面二行要写在同一个shell脚本中。 compress < ./exp_pipe >./tmp_now.dmp.Z &
20G的DMP文件,紧缩后的大大小在4G旁边。
exp user/passwd@数据库衔接串 file=./exp_pipe direct=y compress=no log=./exp.log
办法二:思索到机器的速率和效用的成效,浅显不发起运用exp对数据量大大的数据库胁制备份,因为比较慢。
oracle的rman备份可以支持增量备份,你可以自己设置一个备份计策,比方每周日做一次数据库全备份(level 0 级的备份),然后周一周二做增量备份(level 1 级的备份),周三在做一次数据库全备份(level 0),末端周四、周五、周六做数据库的增量备份(level 1)。这样既可以保证你的备份在大大部门时光内比较快,并且也可一保证在需求恢复时较快。详细的备份计策要根据你的要求而定,我只是举个例子。
引见一下什么是Oracle的rman备份:
Oracle 的RMAN备份- -
搜查那此后运用阿谁spfile文件 : SQL>select name,value from v $parameter where name='spfile';
1。反省数据库的归档体式格式。要是不是规则体式格式,则要点窜数据库为归档体式格式。
1.1 以dba帐号上岸,
$ sqlplus '/as sysdba';
SQL>archive log list;
Database log mode No Archive Mode #非归档体式格式
Automatic archival Enabled
Archive destination /oracle/bakram/log_archive
Oldest online log sequence 161
Current log sequence 163
1.2 要是第一步为 No Archive Mode ,则将数据库点窜点窜为归档体式格式
1.2.1 成立存档途径.
$mkdir /oracle/bakram/log_archive
1.2.2 在/oracle/OracleHome/dbs/成立一文件 firstSpfile.ora
文件内容为:
SPFILE="/oracle/OracleHome/dbs/spfileorcyehoo.ora" # 实例称号
log_archive_start=true;
log_archive_format=ARC%T%S.arc #样式
log_archive_dest=/oracle/bakram/log_archive #存放的途径
1.3 中缀数据库
$/oracle/dbstop.sh
1.4 点窜归档体式格式
1.4.1 成立一个dbstartmount.sh文件
--------
echo "begin to start oracle mount..."
lsnrctl start
sqlplus /nolog <
connect /as sysdba
startup mount
exit
exit
sleep 10
echo "oracle have started oracle mount..."
--------
执行./dbstartmount.sh
SQL>alert database archivelog;
Database altered.
将数据库掀开
SQL>alert database open;
Database altered.
SQL>
版权声明:
原创作品,赞成转载,转载时请务必以超链接办法标明文章 原始情由 、作者信息和本声明。不然将穷究法律责任。