如何停止oracle exp备份,Oracle exp 自动备份

Exp方法 备份

一、本地备份

步骤:

1、设置备份目录

Su – oracle

Mkdir /home/oracle/backup

cd /home/oracle

2、编写备份脚本

vi testbackup

RACLE_HOME=/opt/oracle/product/10g;export ORACLE_HOME

ORACLE_SID=nssdb;export ORACLE_SID

rm /home/oracle/backup/*

/opt/oracle/product/10g/bin/exp system/ffcsnss file=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M` log=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M`

保存,退出

Chmod 777testbackup

3、执行脚本:

vi monitor

#!/bin/sh

.home/oracle/.bash_profile

CDR=/home/oracle/

cd $CDR

nohup ./testbackup >> /dev/null 2>&1 &

保存,退出

Chmod 777monitor

4、设置自动执行

Su – oracle

Crontab –e

添加内容:

30 22* * * /home/oracle/monitor

保持,退出

这样,每天晚上10:30自动执行数据库备份,并将之前的配置文件删除。

5、补充说明:

数据库导出有四种模式full(全库导出), owner(用户导出), tables(表导出), tablespaces(表空间导出).,以下分别说明:1)full(全库导出):

导出除ORDSYS,MDSYS,CTXSYS,ORDPLUGINS,LBACSYS这些系统用户之外的所有用户的数据.

例如:

/opt/oracle/product/10g/bin/exp system/ffcsnss file=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M` log=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M` full=y2)owner(用户导出):

导出某个或某些用户的所有权限和数据.

例如:

/opt/oracle/product/10g/bin/exp system/ffcsnss file=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M` log=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M` wner=(ffcsnss,ffcssacyy)3)tables(表导出):导出某些表(可以是不同用户的)的结构和数据.

/opt/oracle/product/10g/bin/exp system/ffcsnss file=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M` log=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M` tables=(ffcsnss.log_url,ffcssacyy.event_ids)4、tablespaces(表空间导出):表空间导出数据.

/opt/oracle/product/10g/bin/exp system/ffcsnss file=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M` log=/home/oracle/backup/exp_`date +%Y-%m-%d-%H-%M` tablespaces=(ffcsnss,ffcssacyy)

具体用那一种,根据实际情况设计脚本

6、Exp-00091错误

如果在备份过程,出现EXP-00091错误

EXP-00091: Exporting questionable statistics.

解决办法如下:

原因:

在数据库的服务器端和客户端字符集不同的情况下,导出(dump)数据库表时,会产生这个错误。虽然产生这个错误,但好像对导入没有影响

解决步骤:

1、sqlpluls /nolog

conn /as sysdba

SELECT * FROM V$NLS_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';

其中'NLS_CHARACTERSET'必须为大写

如果select的结果如下:

PARAMETER

--------------------

VALUE

--------------------

NLS_CHARACTERSET

ZHS16GBK

Cd /home/oracle

Vi .bash_profile

添加一行

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

保存退出

Source .bash_profile

退出终端,重新登陆

二、异地备份

1、设置ftp存放目录

在备份机器创建一个备份目录例如:

Mkdir /date/oradat/backup

在备份机上创建ftp用户名和密码,例如:

Username:root

Password:ffcsnss

在本地机(安装有oracle数据库机)oracle根目录下(/home/oracle)创建一个.netrc文件。

2、ftp执行脚本

添加.netrc文件内容为:

machine 172.168.0.128

login root

password ffcsnss

macdef init

bin

lcd /home/oracle/backup

cd /data/oradata/backup

mput *

bye

bye

保存退出

Chmod 600 .netrc

使该文件只能被该用户所访问。

注意:.netrc脚本中bye以前,不能使用空行隔开,不然不得成功;.netrc文件使用两个bye,且两个bye之间使用空行隔开

3、设置自动传输

Su – oracle

Crontab –e

添加内容为

30 23* * * ftp -i 172.168.0.128

保存退出

这样,每天晚上11点30分自动将/home/oracle/backup下的所有文件上传到ftp服务器(172.168.0.128)备份机的/data/oradata/backup/目录下。

用crontab –l查看,看到的内容应该为:

30 22* * * /home/oracle/monitor

30 23* * * ftp -i 172.168.0.128

同时在/var/spool/cron/crontabs目录下查看是否增加了一个Oracle文件

三、备份数据导入

数据导入命令用imp:

例如:

imp system/ffcsnss file=/home/oracle/backup/exp_2009-04-29-17-21.dmpfull=yignore=y

如果后面没有加ignore=y,因为有的表已经存在,就报错,对该表就不进行导入。在后面加上ignore=y就可以了对该表进行导入。

数据导入功能可以使用oracle界面导入,这里就不做详细说明。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值