① linux系统下如何备份还原ORACLE数据库,在同一台机器上,想还原到以前的备份
如果是同一个数据库实例,直接用EXPDP导出的DMP文件是不可以恢复的。可以DBCA新建一个数据库实例,然后用IMPDP指定DMP文件导入就好了。
② linux服务器中如何登陆另一台Linux服务器中的Oracle数据库进行全库备份
1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B
例如计划任务0 0 * * * /data1/backup/expdp_db_bak.sh;
expdp_db_bak.sh内容:
#!/bin/sh
. ~/.bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}.dmp
logfile=expdp_db_${today}.log
expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \
mpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile [email protected]:/data1/backup/db_bak
exit 0;
2、也可以在服务器B用exp直接导出数据
exp 'user01/778899@DB01' file=$bakfile FULL=Y log=bak.log
3、开启归档模式,在服务器A用rman 做全备或增量备份,然后将备份同步到服务器B
指定路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U';
全备份,默认Format
backup incremental level 0 database;
增量备份
backup incremental level 1 database;
将备份rsync 到服务器B
/usr/bin/rsync -av '-e ssh -p 22' [email protected]:/data1/rman /data1
4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据
③ 菜鸟求助:linux下oracle数据库自动备份脚本,脚本可实现数据库自动备份功能,并删除三天前的备份
这个好办。 cp 你的数据库`date +'%y%m%d'` 指定目录 这个是以年月日来命名备份 删除的命令是
rm -f 你的数据库名字`date -d "3 days ago" +'%y%m%d'` 这个是删除匹配你数据库的备份名日期前3天的备份文件 他会按照日期-3天匹配3天前的日期来删除备份的
④ Linux下备份oracle数据库的步骤 求解高手解决,小弟感激尽!
给的分太少了,不过还是帮帮你吧!
1、如果备份本机的数据库,比如本地数据库实例名为:orcl
那就使用:exp username/password@orcl file=bak.dmp log=bak.log buffer=10240
2、如果是备份另外一台Oralce,要分两步
(1)、配置datasource 比如本地服务器A的IP是192.168.1.101,要备份的服务器B的IP是192.168.1.102,实例名为:orcl 在oracle的tnsnames.ora中配置datasource
db102 = 这个名称随便起
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.102)(PORT = 1521)) 这里为机器B的地址及数据库端口号
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =orcl) 这个名称为机器B 数据库SID的值
)
)
测试数据库连通性,在机器A如下;
[oracle@localhost admin]$ tnsping db102
显示如下;
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Proction . 04-JAN-2009 16:53:23
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
/home/oracle/oracle/proct/10.2.0/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DE.ION = (ADDRESS = (PROTOCOL = TCP)(HOST = 61.172.197.197)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = jjtdb)))
OK (10 msec)
测试通过
(2)写脚本 exp username/password@db102 file=bak.dmp log=bak.log buffer=10240
⑤ linux oracle 自动备份详解
写个备份脚本,然后将脚本添加到crontab中,就可以自动执行备份了。
⑥ 怎么执行oracle数据库自动备份 linux 脚本
Oracle自动备份数据库不外乎以下三种方式WINDOWS下的任务计划(At命令)
UNIX下的Crontab
第三方工具如Viritas
在以上三种方式中Viritas属于第三方工具,很多人可能都没有接触,主要说一下windows的任务计划与unix的cron
1、生成脚本文件,如backup.rcv 假定文件内容如下:
$>cat backup.rcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; release channel c1; release channel c2; release channel c3; }
2、生成执行文件在windows上生成backup_archive.bat,内容包括rman cmdfile = backup.rcv 在unix下生成 backup_archive.sh,内容包括oracle/ramn/rman cmdfile = backup.rcv
3、加入调度在windows中用任务计划向导即可,或使用at命令。在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下
$>cat oracle
0 23 * * 0 backup_archive.sh
#表示星期天23点对数据库备份
0 12,18 * * * backup_archive.sh
#表示每天12点,18点备份
Crontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来
⑦ 怎样在Linux系统中备份Oracle数据库
1导入dmp文件,报 IMP-00013: only a DBA can import a file exported by another DBA 的问题,解决方法
首先应该登陆编辑模式sqlpluse / as sysdba.修改当前的用户的权限
SQL>grant sysdba to user;
SQL>grant imp_full_database to user;
2在导入的时候可能以前的这个用户是存在的并且表也是存在的,那么在导入的时候会报错
我的解决方法是两中新建用户另一种就是把但前的用户下面的表和数据全部删掉。
⑧ linux系统上怎么备份oracle数据库
步骤如下:
一、编写备份数据库的shell
1、创建保存shell文件的文件夹,
2、文件内容为:
#!/bin/sh
PATH=$PATH:$HOME/bin
export PATH
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=HRDB
export ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export PATH
exp fact/fact file=/backup/fact`date +%y%m%d`.dmp
log=/backup/factlog`date +%y%m%d`.log
shell文件编写完毕
一、运行以上的shell文件
看是否能生成备份的.dmp文件,如果能则表示shell文件编写成功
二、然后在此shell
文件的所在终端输入命令,将此文件授权让root用户可以执行:
三、命令为:chmod +x backup.sh
四、然后到root终端编写定时备份的语句
五、语句为:crontab –e
六、输入i
七、输入10 17 ,,,/home/backupscript/backup.sh
八、按下esc建,输入:wq 退出并保存即可。
⑨ linux下不能自动备份oracle数据库
用ORACLE用户执行这个BAK.SH脚本
要看看对/BACKUP目录是不是有可写的权限。
另外就是 BAK.SH这个脚本,最好放在 /home/oracle/ 这个目录下,免得oracle用户访问不到。
另外,30 0 * * * 是 每天0点30开始备份,你这个机器时钟,难道是0点?