写一个脚本,每天用操作系统的定时任务自动调用. 可以用冷备份,就是关闭数据库后将全部文件用操作系统COPY一份,比较简单.要COPY的文件可从下面的方式得到: 用SYSTEM用户登陆到Oracle SQL>SELECT NAME FROM v$datafile; SQL>SELECT NAME FROM v$tempfile; SQL>SELECT NAME FROM v$controlfile; SQL>SELECT member FROM v$logfile;脚本的内容应该是(如果是Windows系统): net stop oracleservice%ORACLE_SID% copy %ORACLE_HOME%\oradata\%ORACLE_SID%\datafile\* F:\backup\ copy %ORACLE_HOME%\oradata\%ORACLE_SID%\logfile\* F:\backup\ copy %ORACLE_HOME%\oradata\%ORACLE_SID%\controlfile\* F:\backup\ net start oracleservice%ORACLE_SID%
可以用冷备份,就是关闭数据库后将全部文件用操作系统COPY一份,比较简单.要COPY的文件可从下面的方式得到:
用SYSTEM用户登陆到Oracle
SQL>SELECT NAME FROM v$datafile;
SQL>SELECT NAME FROM v$tempfile;
SQL>SELECT NAME FROM v$controlfile;
SQL>SELECT member FROM v$logfile;脚本的内容应该是(如果是Windows系统):
net stop oracleservice%ORACLE_SID%
copy %ORACLE_HOME%\oradata\%ORACLE_SID%\datafile\* F:\backup\
copy %ORACLE_HOME%\oradata\%ORACLE_SID%\logfile\* F:\backup\
copy %ORACLE_HOME%\oradata\%ORACLE_SID%\controlfile\* F:\backup\
net start oracleservice%ORACLE_SID%
exp system/manager@lau file=c:\xx.dmp log=c:\xx.dmp full=y
把记事本改成.bat文件,在任务计划里添加,就可以了
生产库不会让DBA停止的。这种方式理论可行,实际上行不通啊!
connect target sys/admin_123@orcl;
report obsolete;
delete obsolete;
run
{
allocate channel c1 device type disk;
backup database
format '/orabak/databackup/db_%d_%s_%p_%T' skip readonly
plus archivelog skip inaccessible delete all input
format '/orabak/logbackup/log_%d_%s_%p_%T';
sql 'alter system archive log current';
release channel c1;
}
run
{
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete redundancy=1;
}
exit;
能否进入控制界面.
如果不能,证明你本机不支持rman
手动备份一次试一下啊,
在机器上直接 rman target /
看进的了rman的命令行不,
然后把10楼的命令敲一把可以参考下对命令的解释
http://leng.javaeye.com/blog/64347
===========================
怎么不行,报给出的什么错误,另外你应该把 format 部分的路径根据你的实际情况修改一下,注意 windows
平台下的路径格式和 unix (linux) 不同。
不过建议使用RMAN....