linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘建议留言网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > article > unix > unix入门 >
栏目导栏
资料搜索
热门文章
·SCO OpenServer系统手册
·solaris迅速查找手册
·UNIX常用命令-目录及文件操作命
·常见的“压缩与解压缩”方法
·SUN的入门培训资料
·Solaris FAQ 1.2
·UNIX系统操作入门篇
·unix大全下载基地
·教你如何配置安全的SOLARIS系统
·吐血奉献.samba安装设置!
·solaris常用命令及简单解释
·UNIX 常识总集~!
·Windows XP 与 Solaris 10 双操
·隆重推荐:Solaris硬盘分区简介
·UNIX基础知识
最新文章
·Solaris SSH的配置和管理介绍
·在Unix环境下mount ISO文件
·Solaris 管理员常用的168条命令
·solaris raid 制作大集合
·在Solaris下使用USB存储设备
·SecureCRT访问HPUX没办法用vi问
·scounix网络设置心得
·solaris网络配置
·solaris上直接运行linux二进制
·HP Unix的补丁安装
·系统备份与恢复命令:fbackup+
·Oracle 10g基于Solaris 9 x86平
·完全硬盘安装solaris10
·solaris点滴9.29-10.07
·solaris volume manager do RA
Google
 
SCO unix 系统下定时备份oracle数据库
[ 作者:jmr  加入时间:2006-08-14 16:38:36  来自:chinaunix ]

前提:

1、需要知道的信息:

oracle 的system密码以及要备份数据库账户的账户名和密码

Sco unix 的root密码、oracle密码

2、会使用vi编辑文件、mkdir创建文件夹、chmod改变文件权限、su 切换用户、文件的执行

3、了解sco unix的用户、组、权限及crontab的用途、oracle的dmp文件生成

一、建立数据库dmp文件存放目录

#su - oracle

$cd /dbf

$mkdir dmpbak

$cd dmpbak

$mkdir zd

$mkdir cm

二、建立导出数据库dmp的文件

1、指定目录

#su - oracle

$cd bin

2、用vi编辑exp_t文件

$vi exp_t

exp_t内容:

ORACLE_HOME=/oracle

ORACLE_SID=ora7

ORACLE_TERM=ansi

export ORACLE_HOME ORACLE_SID ORACLE_TERM

MENU5PATH=$ORACLE_HOME/forms30/admin/resource

export MENU5PATH

ORATERMPATH=$ORACLE_HOME/forms30/admin/resource

export ORATERMPATH

NLS_LANG=American_America.ZHS16CGB231280

export NLS_LANG

ORA_NLS=/oracle/ocommon/nls/admin/data

export ORA_NLS

home1='/dbf/dmpbak'

dt1=`date "+%y%m%d%H%M"`

echo ' ' >'$home1/'new_record

file_name="$home1"/zd/zd"$dt1"

echo $file_name >>'$home1'/new_record

$ORACLE_HOME/bin/exp zd/zdzd file=$file_name.dmp owner=zd grants=y buffer=204800 rows=y indexes=y compress=y

file_name="$home1"/cm/cm"$dt1"

echo $file_name >>'$home1'/new_record

$ORACLE_HOME/bin/exp common/cmcm file=$file_name.dmp owner=common grants=y buffer=204800 rows=y indexes=y compress=y

file='/dbf/dmpbak/new_record'

backup_dir='/oracle/sec_back'

if [ -d $backup_dir ]

then

for i in `cat $file`

do

cp $i $backup_dir/

done

echo ' '>$file

fi

3、给exp_t权限

$chmod 755 exp_t

4、测试exp_t

$cd /oracle/bin

$exp_t

5、查看dmp文件是否生成

$cd /dbf/dmpbak/zd

$ls

如果生成dmp文件,证明exp_t可以使用

三、编辑删除dmp文件的脚本(因为不可能备份太多数据,一般留24个小时的就可以了)

1、用vi编辑deldmp文件

# su - oracle

$cd /oracle/bin

$vi deldmp

内容:

home1='/dbf/dmpbak'

TZ=CST+16;export TZ

dt1='date"+%y%m%d"'

file_name="$home1"/zd/zd"$dt1"

rm $file_name*.dmp

file_name="$home1"/cm/cm"$dt1"

rm $file_name*.dmp

TZ=CST-16;export TZ

2、检查脚本作用

$/oracle/bin/deldmp

四、编辑crontab

#crontab -e

增加行:

35 * * * * su - oracle -c /oracle/bin/exp_t

55 1 * * * /oracle/bin/deldmp

第1行意思是每天每个小时的35分备份一次dmp文件

第2行意思是每天1点55删除前面一天的dmp内容

Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·关于SCO unix 系统下定时备份oracle数据库dmp文件  (2006-08-10 10:17:08)