LoveUnix » ORACLE等数据库 » 【请教】含有多实例的数据库全备份
让LU留住您的每

一天 让LU博客留住您的每一天
2006-4-29 12:02 Alilin
【请教】含有多实例的数据库全备份

我想进行oracle数据库的全备份。
由于oracle上面有4个数据库实例,用ps -ef|grep mon 显示可见:
ora_smon_eipdb
ora_sm on_cwld
ora_smon_odsdb
ora_smon_wpsdb

所以要4个都进行备份。我打算各自写4个备份的脚本。这样可以灵活的进行其中某一个实例比如eipdb的备份。
(不知道思路对不对?)
于是,我在full=y之前加了owner=eipdb
最后脚本改为:
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp susername/passwd [color=Red]owner=eipdb full=y[/color] file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
---------------------------------------------------------------------------------
但是手工执行改命令后,运行后显示的信息:
exp-00026:conflicting modes specified
好像是有冲突吧?

我又把脚本的full=y去除,只留owner=eipdb。如下:
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp susername/passwd [color=Red]owner=eipdb [/color]file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
---------------------------------------------------------------------------------
手工执行后信息:
About to export specified users ...
EXP-00010: EIPDB is not a valid username or not an exportable username
Export terminated successfully with warnings.

是什么意思?

麻烦指点一下谢谢。

[[i] 本帖最后由 Alilin 于 2006-5-9 14:41 编辑 [/i]]

2006-4-29 12:08 charly
root下,需要这样:
0 1 * * *  su - oracle exec /oracle/app/oracle/product/8.1.7/bin/ora_expbak.sh
oracle用户下不许要这样,但是你报什么错误啊?

4个库还是1个库4个实例啊?

2006-4-29 13:49 Alilin
谢谢 charly (无学无为)


是oracle上的4个实例

2006-4-29 17:35 charly
[quote]原帖由 [i]Alilin[/i] 于 2006-4-29 13:49 发表
谢谢 charly (无学无为)


是oracle上的4个实例 [/quote]

1个数据库?
4个数据库?

2006-4-30 16:24 Alilin
写了crontab 之后是到时间没有生成备份,也没有相关的信息显示;

报错的是另外一个情况下,就是想实现以下4个在oracle下的4个数据库的备份(带我的老师说是实例,后来我问了以后说,实际上就是4个数据库了)
eipdb
cwld
odsdb
wpsdb

2006-4-30 16:24 Alilin
具体的报错是:


2)另外一个问题是:

由于上面有4个数据库实例:
ora_smon_eipdb
ora_sm on_cwld
ora_smon_odsdb
ora_smon_wpsdb

所以要都进行备份。我打算各自写4个备份的脚本。这样可以灵活的进行其中某一个实例比如eipdb的备份。
于是,我在full=y之前加了owner=eipdb
最后脚本改为:
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp susername/passwd owner=eipdb file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
---------------------------------------------------------------------------------
但是手工执行改命令后,运行后显示的信息:
exp-00026:conflicting modes specified
好像是有冲突吧?

我又把脚本的full=y去除,只留owner=eipdb。如下:
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp susername/passwd owner=eipdb file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
---------------------------------------------------------------------------------
手工执行后信息:
About to export specified users ...
EXP-00010: EIPDB is not a valid username or not an exportable username
Export terminated successfully with warnings.

2006-5-1 11:30 charly
EIPDB这个用户存在吗?有没有export/import的权限?

2006-5-9 10:21 Alilin
不太清楚 我在oracle用户下看、etc下的passwd好像没有。 (方法不知道对不对?)


现在不明白的是,这的两个脚本是哪个正确呀?
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp susername/passwd [color=Red]owner=eipdb full =y[/color] file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
---------------------------------------------------------------------------------
但是手工执行改命令后,运行后显示的信息:
exp-00026:conflicting modes specified
好像是有冲突吧?

我又把脚本的full=y去除,只留owner=eipdb。如下:
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp susername/passwd [color=Red]owner=eipdb [/color]file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
---------------------------------------------------------------------------------

(不好意思,刚才笔误,现在改了)

[[i] 本帖最后由 Alilin 于 2006-5-9 14:05 编辑 [/i]]

2006-5-9 12:45 charly
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp susername/passwd owner=eipdb file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
---------------------------------------------------------------------------------
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp susername/passwd owner=eipdb file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
===
有什么区别吗?owner 和full=y是不能一起的,
owner表示导出属于owner的数据和对象
full表示全库导出。

2006-5-9 14:20 Alilin
那么请问 我要根据以下显示的实例:
ora_smon_eipdb
ora_sm on_cwld
ora_smon_odsdb
ora_smon_wpsdb
得知要备份以下4个数据库:eipdb。cwld。odsdb。wpsdb。
就是要选择全备(full=y)就可以了吧?
那么,能不能实现4个库分别的单独备份呢?

2006-5-9 14:40 charly
全备,只是针对一个库的多个用户来说,即exp最多只能备份一个数据库,不能同时导出多个数据库。

full对应就是owner。

4个数据库,就的写4个Script去执行

2006-5-9 14:47 Alilin
恩!我想的就是这样。就是要写4个Script去执行。每一个都是执行全备份(full=y).

想问的是:4个Script的不同点在那里?用基于以下的脚本怎么修改呢?
--------------------------------------------------------------------------------
DATE=`date +"%y%m%d"`
/oracle/app/oracle/product/8.1.7/bin/exp susername/passwd full=y file=/orabak
/eipdb_$DATE.dmp log=/orabak/eipdb_$DATE.log
---------------------------------------------------------------------------------

2006-5-9 23:56 charly
不要告诉我4个数据库在同一用户下运行。那我昏倒

页: [1]


Powered by Discuz! Archiver 5.5.0  © 2001-2006 Comsenz Inc.