ANT 操控 ORACLE数据库实践
Ant
执行系统命令没有任何问题,这次实际系统命令中可以说遇到了两个问题,一个是启动服务的命令是含有空格的,第二个如何备份数据库可以自动加上日期。
首先,我们启动oracle数据库,操作有两个:
1.启动监听:
<exec
executable="lsnrctl" >
<arg line=" start
"/>
</exec>
2.打开数据库实例:
<exec
executable='cmd' >
<arg line="/c net start
oracleservice${ORA_SID}
"/>
</exec>
第一个操作在这里没有什么区别,就是ant调用系统命令的标准用法,我们来看一下第二个命令,
net start
oracleservice${ORA_SID},如果你直接放入到executable属性中,执行结果一定会是:
BUILD FAILED:
E:\java\TestAnt\build.xml:44: Execute failed: java.io.IOException:
CreateProcess: "net start oracleservicemy_oracle"
error=2
痛苦吧,带有空格的命令应该使用以下方法:
<exec executable='cmd'
>
<arg line="/c net start oracleservice${ORA_SID}
"/>
</exec>
如果在备份数据库的时候加上时间标记,我在linux下面使用教本备份oracle数据库,可以使用data
命令很方便的在备份的文件上面加上日期后缀,ant可以么?
我查了很多资料,终于搞定:
<tstamp>
<format
property="DB_BACKUP_TIME"
pattern="yyyy-MM-dd"/>
</tstamp>
使用 tstamp
target可以非常方便的定义日期属性,这样再生成需要备份文件的名字,方便的解决你的问题。
Ok,你可以参考完成的ant脚本:
附录:参考脚本
<!--
2005 by guipei. -->
<project
name="TestAntOracle" default="demo" basedir="./">
<!-- set
global properties for this build -->
<property
name="DB_BACKUP_DIR" value="." />
<property name="ORA_SID"
value="my_oracle"/>
<property name="ORA_USER"
value="scott"/>
<property name="ORA_PWD"
value="tiger"/>
<property name="ORA_RESTORE_FILE"
value="db_back.dmp"/>
<target name="demo"
>
<echo> ant db_backup to backup db
</echo>
<echo> ant db_restore to restore db
</echo>
<echo> ant db_start to start db
</echo>
<echo> ant db_stop to stop db
</echo>
</target>
<target
name="db_backup">
<tstamp>
<format
property="DB_BACKUP_TIME"
pattern="yyyy-MM-dd"/>
</tstamp>
<property
name="DB_BACKUP_FILE" value="MYDB_${DB_BACKUP_TIME}.DMP"
/>
<echo>will backup db at
${DB_BACKUP_FILE}</echo>
<exec dir="${DB_BACKUP_DIR}"
executable="exp" >
<arg line="
${ORA_USER}/${ORA_PWD}@${ORA_SID}
file=MYDB_${DB_BACKUP_TIME}.DMP "/>
</exec>
</target>
<target
name="db_restore">
<exec dir="${DB_BACKUP_DIR}"
executable="imp" >
<arg line="
${ORA_USER}/${ORA_PWD}@${ORA_SID} file=${ORA_RESTORE_FILE}
full=y"/>
</exec>
</target>
<target
name="db_start">
<exec executable="lsnrctl"
>
<arg line=" start
"/>
</exec>
<exec executable='cmd'
>
<arg line="/c net start
oracleservice${ORA_SID} "/>
</exec>
</target>
<target
name="db_stop">
<exec executable="lsnrctl"
>
<arg line=" stop
"/>
</exec>
<exec executable='cmd'
>
<arg line="/c net stop
oracleservice${ORA_SID} "/>
</exec>
</target>
</project>
http://blog.csdn.net/wgw335363240/article/details/6941435
利用Ant向数据库插入数据
ANT 操控 ORACLE数据库实践的更多相关文章
- Oracle数据库测试和优化最佳实践: OTest介绍 (转)
当前Oracle数据库最佳测试工具OTest * Otest是用于Oracle数据库测试.优化.监控软件. * Otest是免费提供给Oracle客户和广大DBA工程师使用的软件.由原厂技术专家王 ...
- Oracle数据库基础知识
oracle数据库plsql developer 目录(?)[-] 一 SQL基础知识 创建删除数据库 创建删除修改表 添加修改删除列 oracle cascade用法 添加删除约束主键外 ...
- Java连接oracle数据库的OCI和THIN
使用jdbc连接上oracle有两种方法: 1. 使用thin连接 由于thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与 ...
- 细说Oracle数据库与操作系统存储管理二三事
在上大学的时候,学习操作系统感觉特别枯燥,都是些条条框框的知识点,感觉和实际应用的关联不大.发现越是工作以后,在工作中越想深入了解,发现操作系统知识越发重要.在实践中结合理论还是不错的一种学习方法.自 ...
- Windows server2008 搭建ASP接口访问连接oracle数据库全过程记录--备用
真的是太不容易了,以前的时候在window server 2003上面搭建了一套asp+oracle的接口系统,就费了好大的劲儿,其实那会迷迷瞪瞪的也不知道怎么的就弄好了,也懒得管了.OK,从昨天到今 ...
- 浅谈Oracle数据库性能优化的目标
Oracle性能优化保证了Oracle数据库的健壮性,为了保证Oracle数据库运行在最佳的性能状态下,在信息系统开发之前就应该考虑数据库的优化策略.从数据库性能优化的场景来区分,可以将性能优化分为如 ...
- [译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了
[译]ASP.NET Core Web API 中使用Oracle数据库和Dapper看这篇就够了 本文首发自:博客园 文章地址: https://www.cnblogs.com/yilezhu/p/ ...
- Java连接oracle数据库的两种常用方法
1. 使用thin连接 由于thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与平台无关的,你无需安装Oracle客户端,只 ...
- Oracle 数据库备份和恢复配置
可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻 ...
随机推荐
- strstr() strpos() 获取db报错,判断报错中是否包含字符串,判断错误类型
model中直接获取添加公司的错误.(公司名称不能重复) $enterprise_id = $this->add($enterprisedata ); $err = $this->getD ...
- #include 和 #pragma comment 的相对路径起点
#include 是以当前文件所在路径为当前目录 #pragma comment 是以当前工程所在路径为当前目录 #include "../../../../ThirdParty/Inclu ...
- Openjudge-计算概论(A)-数组顺序逆放
描述: 将一个数组中的值按逆序重新存放.例如,原来的顺序为8,6,5,4,1.要求改为1,4,5,6,8.输入输入为两行:第一行数组中元素的个数n(1<n<100),第二行是n个整数,每两 ...
- 【Loadrunner】初学Loadrunner——IP欺骗
因为在默认情况下,同一个用户用同一个IP访问运行是不符合实际情况的,而且很多网站会自动屏蔽同个IP多次重复访问.那么就想到了Loadrunner的虚拟IP技术,也就是常说的IP欺骗.在用Loadrun ...
- 设n是奇数,证明:16|(n4+4n2+11)(整除原理1.1.1)
设n是奇数,证明:16|(n4+4n2+11) 解: 令n=2k+1,k∈z n4+4n2+11 =(2k+1)4+4(2k+1)2+11 =(4k2+4k+1)2+(2k+1)2+11 =16k4+ ...
- ASP.NET中的Excel操作(OLEDB方式)
一:OLEDB方式操作Excel的个人理解 就是把要操作的Excel当作一个数据库,所有对Excel的操作,就变成了对“数据库”的操作.那么这时就需要有一个数据库的连接字符串. 代码如下: connS ...
- 虚拟机装的XP,无法上网,因为没有安装网卡驱动,怎么解决
本帖可以解决2个问题: 问题1. 虚拟机装的XP,无法上网,因为没有安装网卡驱动,怎么解决 问题2. 怎么往Oracle VM VirtualBox里传输文件??????? 步骤: 一.在虚拟机的左上 ...
- A. Mike and Cellphone(Round 361 Div.2)
写一半去开程序的时候不小心关了网页,LOFTER我都不奢望加入代码高亮,最起码我关闭的时候弹个对话框,再不济也给我定时保存一下草稿吧. A. Mike and Cellphone time limit ...
- H5加载优化
- Hbase查看
Client HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC:对于数据读写类操作,Cli ...