网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.当Oracle9i的OPTIMIZER_MODE = F.
.使用 ADDM 快速轻松解决常见的性.
.JDBC存取Oralce数据库的注意几点.
.Oracle中几个关于日期方面的SQL实.
.说一说如何配置Oracle的MTS part2.
.8i中回滚段使用和ORA-1555.
.如何创建LINUX下的快捷方式.
.Oracle数据库取消8080端口占用.
.win2000+Tomcat5.0.27+Oracle8.1.
.ORACLE里面的数据导入到EXCLE.
.Oracle 10G数据库自动内存管理分.
.Oracle9i初始化参数中文说明10.
.用java实现ORACLE数据库的文件上.
.为什么ODBC不是Linux的一个标准特.
.ORACLE在HP-UX下的系列问题处理(.
.Oracle数据库字符集问题解析.
.oracle触发器介绍.
.如何让sendmail不能支持VRFY等功.
.Oracle 9i 游标.
.Oracle erp销售订单订单行状态不.

oracle数据库备份与恢复 a piece of cake (3)

发表日期:2008-2-9



Oracle数据库在线备份:(windows平台)

1. 检查你的数据库是否运行在Archive模式下。
以system连接数据库运行以下的查询语句。
SQL> select name,log_mode from v$database;
NAME      LOG_MODE
--------- ------------
DEMO      ARCHIVELOG
    假如你的log_mode显示为archivelog, OK你的数据库可以进行在线的备份。否则参考文档修改数据为archive mode。
    
2. 建立教本治理目录 C:\oracle\admin\admin script
3. 建立数据库备份的脚本
在上面建立的目录下建立如下的两个脚本。
3.1 建立执行备份任务的脚本(批处理文件)
    文件内容如下:
    
    @echo OFF
Rem ===========================================================================
Rem  NAME     - Open_Backup_Run.bat
Rem  FUNCTION - Creates a backup script for a User Managed backup
Rem  NOTES    - This script will create a script and run OS copy commands 
Rem             on closed (cold) database
Rem  MODIFIED - Tianliang Guo    02/08/12   
Rem ===========================================================================

Rem  For Windows, set environment variables for the root path.
set ORACLE_SID=TSTDB
set ORACLE_CONNECTSTRING=tstdb
set ORACLE_BASE=c:\oracle
set ORACLE_HOME=%ORACLE_BASE%\ora81
set ORACLE_DATA=%ORACLE_BASE%\oradata\%ORACLE_SID%
set ORACLE_ADMIN=%ORACLE_BASE%\admin\%ORACLE_SID%

%ORACLE_HOME%\bin\sqlplus /nolog @Open_Backup.sql > Open_Backup.sql.log

3.2 建立完成备份认为的命令文件(sqlplus内执行的sql脚本)
文件内容如下:

Rem =====================================================================================
Rem  NAME     - Open_Backup.sql 
Rem  FUNCTION - Creates a backup command file for a User Managed Open database backup
Rem  NOTES    - This script will create a script and run OS copy commands 
Rem             on an open (hot) database. The datafile backups will be inconsistent.

Rem  MODIFIED - Mr. Tianliang Guo       2002/08/11         
Rem =====================================================================================

Rem
Rem Set SQL*Plus variables to manipulate output
Rem

set heading off
set pagesize 0
set linesize 600
set verify off
set trimspool on
set feedback off

Rem Set SQL*Plus user variables used in script 

define adm = 'sys'
define pwd = 'oracle8i'

Rem Windows User variables
define dir = 'C:\oracle\admin\TSTDB\backup'
define fil = 'open_backup_commands.sql'
define spo = 'open_backup_output.lst'
define ctl = '&dir\control.ctl'
define cpy = 'ocopy'

Rem login database
connect &adm/&pwd as sysdba;

Rem Create a file containing all the file copy commands needed for open user managed backup

set serveroutput on
spool &fil
prompt spool &spo
prompt archive log list;;
prompt alter system switch logfile;;
prompt alter system archive log all;;

DECLARE
 CURSOR cur_tablespace IS
  SELECT tablespace_name
    FROM dba_tablespaces;

 CURSOR cur_datafile (tn VARCHAR) IS
  SELECT file_name
    FROM dba_data_files
   WHERE tablespace_name = tn;
BEGIN
  FOR ct IN cur_tablespace LOOP
    dbms_output.put_line ('alter tablespace 'ct.tablespace_name' begin backup;');
    FOR cd IN cur_datafile (ct.tablespace_name) LOOP
  dbms_output.put_line ('host &cpy 'cd.file_name' &dir');
    END LOOP;
    dbms_output.put_line ('alter tablespace 'ct.tablespace_name' end backup;');
  END LOOP;

END;
/

prompt alter system switch logfile;;
prompt alter database backup controlfile to '&ctl' REUSE;;

prompt alter database backup controlfile to trace;;

prompt archive log list;;
prompt spool off
spool off;

Rem Run the copy file commands from the operating system
@&

exit;


4. 修改教本定义的变量
在运行教本中定义的一些变量,将其改为本地数据库安装环境的变量。
需要修改的变量有,
在close_Backup_run.bat脚本中:
  set ORACLE_SID=TSTDB
  set ORACLE_CONNECTSTRING=tstdb
  set ORACLE_BASE=c:\oracle
  set ORACLE_HOME=%ORACLE_BASE%\ora81
在close_backup.sql脚本中:
  define adm = 'sys'
  define pwd = 'oracle8i'
  define dir = 'C:\oracle\admin\TSTDB\backup'
  define ctl = '&dir\control.ctl'
  
5. 执行数据库备份任务
在$ORACLE_BASE\admin\admin_script目录下运行open_Backup_run.bat

6. 执行自动备份
在windows系统中添加计划任务,定期运行open_Backup_run.bat


假如你有问题可以联系:
站内的短信:ganku
mail: peter_guo@pub.szedi.com.cn
   guo_tianliang@yahoo.com
上一篇:转载:如何有效的利用数据字典 人气:575
下一篇:数据库运行在非归档模式下,数据文件被误删的解决方法 人气:863
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐