`
libin0019
  • 浏览: 237441 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

还原测试环境的两种方法

 
阅读更多

一、测试环境

数据库:Oracle10g

前台:Dojo

二、恢复测试环境的三种方法:

1、采用虚拟机,将Web应用及数据库都放到虚拟机上,通过快照的方式恢复测试环境(最好)

2、开启数据库的

三、实现方式

1.Ant方式(以编程方式动态调用Ant文件)

 

(1)新建Java文件,内容如下:

package com.neusoft.server;
import java.io.File;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DefaultLogger;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.ProjectHelper;

/** 
 * <p>Description: [还原数据库]</p>
 * @author  <a href="mailto: xxxx@xxxxxx.com">xxxx</a>
 * @version $Revision$ 
 */ 
public class FlashBack {
	private Project project;
	private File buildFile;
	private ProjectHelper helper;

	/**
	 * <p>Discription:[构造器方法描述]</p>
	 * @coustructor 方法.
	 */
	public FlashBack() {
		buildFile = new File("build.xml");
		project = new Project();
		DefaultLogger consoleLogger = new DefaultLogger();
		consoleLogger.setErrorPrintStream(System.err);
		consoleLogger.setOutputPrintStream(System.out);
		consoleLogger.setMessageOutputLevel(Project.MSG_INFO);
		project.addBuildListener(consoleLogger);
		project.fireBuildStarted();
		project.init();
		helper = ProjectHelper.getProjectHelper();
	}
	
	/**
	 * <p>Discription:[闪回数据库]</p>
	 * @param time
	 * @return
	 * @author:[xxxx]
	 * @update:[日期YYYY-MM-DD] [更改人姓名][变更描述]
	 */
	public boolean flashBack(String time) {
	    //验证时间格式
	    Pattern p = Pattern.compile("\\d{4}-\\d{2}-\\d{2}:\\d{2}:\\d{2}:\\d{2}");  
	    Matcher m = p.matcher(time);  
	    boolean tag = false;
	    if(m.matches())
	    {
	    	try {
				project.setProperty("time", time);
				helper.parse(project, buildFile);
				project.executeTarget(project.getDefaultTarget());
				project.fireBuildFinished(null);
				tag = true;
			} catch (BuildException e) {
				project.fireBuildFinished(e);
				e.printStackTrace();
			}
	    }
		return tag;
	}
}

 

(2)新建Ant文件,内容如下:

 

<?xml version="1.0" encoding="UTF-8"?>
<project name="flashBack" default="startVM" basedir="." xmlns:ora="antlib:net.sf.incanto">
	<!-- 虚拟机镜像文件目录-->
	<property name="vmware.dir" value=" E:\\UbuntuVM\\Ubuntu.vmx">
	</property>
	<!-- 虚拟机快照名称,名称之间不允许包含空格-->
	<property name="snapshot" value="Snapshot3">
	</property>
	<!-- 方式1:通过执行SQL语句还原数据库 -->
	<target name="runSql">
		<ora:sqlplus logon="/NOLOG" silent="true" failonerror="true">
			<![CDATA[
        	--首先以DBA身份连接数据库;
        	conn system/tiger as sysdba;
        	--关闭数据库;
        	shutdown immediate;
        	--进入MOUNT状态;
        	startup mount;
        	--开始闪回数据;
        	flashback database to timestamp  to_date('${time}','yyyy-mm-dd:hh24:mi:ss'); 
        	--打开数据库;
        	alter database open resetlogs;
        	--退出;
        	exit;  
            ]]>
		</ora:sqlplus>
	</target>
	<!-- 方式2:通过调用虚拟机的Vmrun命令,还原虚拟机快照-->
	<target name="revertSnap">
		<exec executable="cmd.exe">
			<arg line="/c vmrun -t ws revertToSnapshot ${vmware.dir} ${snapshot}" />
		</exec>
	</target>
	<target name="startVM" depends="revertSnap">
		<exec executable="cmd.exe">
			<arg line="/c vmrun -t ws start ${vmware.dir}" />
		</exec>
	</target>
</project>

参考资料:

 

以编程方式调用 Apache Ant

 

http://www.ibm.com/developerworks/cn/websphere/library/techarticles/0502_gawor/0502_gawor.html

 

2.批处理方式(描述:使用批处理文件调用SQL文件)

(1)新建FlashBack.bat文件,内容如下:

@echo off 
sqlplus /nolog @runSql.sql

(2)新建runSql.sql文件,内容如下:

--首先以DBA身份连接数据库;
conn system/tiger as sysdba;
--关闭数据库;
shutdown immediate;
--进入MOUNT状态;
startup mount;
--开始闪回数据;
flashback database to timestamp  to_date('2011-08-09:16:53:01','yyyy-mm-dd:hh24:mi:ss'); 
--打开数据库;
alter database open resetlogs;
--退出;
exit;  
分享到:
评论

相关推荐

    摄像头色彩还原准确度测试

    彩色图卡是一种包含多种标准颜色的图表,用于校准和测试摄影设备的色彩还原能力。试验环境要求温度范围在20°C至30°C之间,湿度介于35%RH至60%RH,这样的环境条件可以减少外部因素对测试结果的影响。样品状态方面,...

    行业-电子政务-用于测量氧化还原电位的装置、测试条、方法和系统.zip

    标题提到的"用于测量氧化还原电位的装置、测试条、方法和系统"是一个关键的技术环节,它与环境监测、水质分析以及公共卫生管理等多个方面密切相关。氧化还原电位(Redox Potential,ORP)是衡量一个体系中氧化与还原...

    桌面虚拟化测试方案.pdf

    三、测试环境 所有厂家均使用类似的逻辑结构进行测试。服务器统一放置在商管楼105 机房内,通过网络分别为各自部署的瘦客户机提供服务。在测试过程中,要求至少30 台虚拟机出于开机运行状态。 四、测试过程与成绩 ...

    穿透还原卡和还原软件的代码.rar_还原卡_还原软件

    这种代码可能用于测试、调试或者非法目的,比如在还原环境中安装更新或保存用户数据。然而,这并不意味着我们可以随意使用这类代码,因为这可能违反版权法和软件使用协议,可能导致法律责任。 穿透代码通常涉及到对...

    C#中数据库还原操作

    - 开发测试:在软件开发和测试过程中,经常需要使用真实的数据库数据,但又不能直接访问生产环境的数据库,这时可以通过恢复备份数据来创建一个接近真实环境的测试环境。 ### 五、注意事项 - 在进行数据库恢复操作...

    高一化学同步测试《氧化还原反应》[精选].doc

    综上所述,这个高一化学同步测试重点考察了学生对氧化还原反应的基本概念、氧化剂与还原剂的识别、氧化还原反应与四种基本化学反应类型的关联、还原性强弱的判断、以及氧化还原反应方程式的理解和书写。这些知识点都...

    介绍备份和还原MySQL数据的两种方法

    在本篇介绍中,我们将详细探讨两种备份和还原MySQL数据的方法,并且这些操作示例都是在CentOS操作系统环境下进行的。 第一种方法是使用mysqldump工具进行备份和还原。mysqldump是MySQL官方提供的一种逻辑备份工具,...

    Sql2000数据库备份文件还原到sql2005

    - **备份文件格式**:尽管两种版本之间的备份文件格式基本一致,但在某些特定情况下可能存在不兼容的情况。 ##### 3. SQL Server 2000备份文件还原到SQL Server 2005的步骤 - **创建新数据库**:首先,在目标SQL ...

    图像质量客观测试标准.docx

    与色彩还原测试相同。 **测试步骤:** 1. 设置色温箱至指定光源。 2. 按上述要求调整摄像头位置。 3. 待图像稳定后拍照。 4. 通过Imatest软件分析不同色温下拍摄的照片。 5. 分析20-22色块S的值。 **测试标准:** ...

    达梦数据库-备份与还原-国产数据库-DM8备份与还原.pdf

    这两种备份结合在一起才能确保数据的一致性和完整性。 ##### 1.2 基本概念 **1.2.1 表空间与数据文件** 表空间是逻辑上的存储单位,它由一个或多个物理数据文件组成。每个表空间都有自己的数据文件,这些数据文件...

    SqlServer数据库的备份与还原

    在SqlServer2017中,可以采用手动备份和自动备份两种方式进行数据库的备份,同时在必要时进行还原操作。 首先,我们来了解手动备份。手动备份是通过SQL Server Management Studio(SSMS)这个工具来完成的。操作...

    计算机公共机房软件系统的备份与还原

    根据实际需求的不同,备份方法可以分为两种:直接使用GHOST进行分区到镜像的备份以及通过重新封装软件系统的方式进行备份。 ##### 直接使用GHOST进行分区到镜像的备份 这种方式适用于不需要对硬件配置做特别考虑的...

    软件测试中功能测试点总结.pdf

    但从这些片段中我们可以隐约推测一些内容可能与软件测试相关的一些工具、测试方法和测试环境有关。在此基础上,我将尽最大努力整理和推测这些文字片段背后可能蕴含的知识点。 首先,文档标题提到的是“软件测试中...

    电子政务-光电式互感器稳定性测试装置及方法.zip

    测试方法通常分为实验室环境测试和现场运行测试两部分。实验室测试主要模拟实际运行条件,通过改变温度、湿度、电源电压等因素,观察互感器性能的变化。现场运行测试则是在真实环境中监测互感器的长期工作状态,以...

    图像质量测试的介绍.pdf

    测试中会对比这两种传感器在不同光照条件和测试环境下的表现。 10. Imatest、Photoshop等工具 Imatest和Photoshop是常用于图像质量分析的专业软件。通过这些软件,可以执行包括分辨率、噪点、畸变、MTF(模量传递...

Global site tag (gtag.js) - Google Analytics