用批处理写的:数据库备份还原工具

简介:
由于平时要进行数据库的备份和还原操作,为了提高效率和节省时间就有了下面的批处理程序,这是针对oracle编写的,可以用在不同的电脑上,因为它会自动读取当前电脑的环境变量,从而取得oracle的安装路径,唯一有一点不足的地方是程序中运行过程中会产生一个中间文本文件,不过这并不碍大事,备份或者还原完了以后将会自动删除产生文本文件,代码如下:
@echo off&setlocal enabledelayedexpansion 
color 0a 
:start 
for /f "tokens=2 delims==" %%a in ('path') do ( 
        set "str=%%a" 
        set str=!str: =+! 
        for %%i in (!str!) do ( 
                set "var=%%i" 
                set var=!var:+= ! 
                echo !var!>>change.txt 
  for /f "delims=" %%i in ('findstr "Db_1\bin" change.txt') do set var=%%i 
        ) 
         


set /p choice=1.备份 2.还原 3.按任意键退出: 
if %choice%==1 goto exp 
if %choice%==2 goto imp 
:exp 
del /q change.txt 
set /p file=请输入备件数据库的文件名: 
set /p path=请输入存放的路径(记得输冒号:): 
"%var%"\exp.exe smhr/smhr@orcl file=%path%\%file% full=n 
set /p choice=1.继续 2.按任意键退出: 
if %choice%==1 goto start 
:imp 
del /q change.txt 
set /p file=请将要导入的数据库文件拖入窗体内: 
"%var%"\imp.exe smhr/smhr@orcl file=%file% full=y 
set /p choice=1.继续 2.按任意键退出: 
if %choice%==1 goto start
要注意代码中的@orcl 如果你的电脑上只有一个数据库,那么这个写不写是不碍事的,但是如果有两个数据那么这个是必须得写的,否则会出现用户名密码失败。
 
今天(2010.07.15)又再次看了看,以前写过的这个批处理,发现了一些问题,以前考虑的是环境变量中的第一条路径是oracle的,可是在我现在工作的电脑上的环境变量是这样的
e:\Oracle\product\10.1.0\Client_1\bin;e:\Oracle\product\10.1.0\Client_1\jre\1.4.2\bin\client;e:\Oracle\product\10.1.0\Client_1\jre\1.4.2\bin;e:\oracle\product\10.1.0\Db_1\bin;e:\oracle\product\10.1.0\Db_1\jre\1.4.2\bin\client;e:\oracle\product\10.1.0\Db_1\jre\1.4.2\bin;E:\Python26;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;E:\Program Files\Subversion\bin;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs
看到了吧前面的并不是我们想要的,我写的这个批处理真正需要的是以下这行路径
e:\oracle\product\10.1.0\Db_1\bin
所以需要将原代码中的
for /f "delims=" %%i in ('findstr "oracle" change.txt') do set var=%%i
改为
for /f "delims=" %%i in ('findstr "Db_1\bin" change.txt') do set var=%%i
这样以来,就能适应任何环境的主机了,因为我们查询的是Db_1\bin
 
本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/353376,如需转载请自行联系原作者
相关文章
|
4月前
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
268 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
6月前
|
关系型数据库 MySQL 数据库连接
数据库连接工具连接mysql提示:“Host ‘172.23.0.1‘ is not allowed to connect to this MySQL server“
docker-compose部署mysql8服务后,连接时提示不允许连接问题解决
|
4月前
|
SQL 分布式计算 数据库
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
【YashanDB 知识库】Hive 命令工具 insert 崖山数据库报错
|
4月前
|
SQL 关系型数据库 网络安全
Navicat Premium 17 最新版下载与配置:5分钟完成企业级数据库工具部署
Navicat Premium 17 是一款支持多种主流数据库(如 MySQL、Oracle、PostgreSQL 等)的多数据库管理工具,提供可视化数据建模、SQL 编辑和数据同步等功能。试用版提供 14 天全功能体验,商业版支持跨平台使用。安装环境要求 Windows 10/11 或 macOS 12.0+,最低配置为 4GB 内存。下载并解压安装包后,按步骤启动安装程序、接受许可协议、自定义安装路径并完成安装。首次运行时需激活许可证并配置数据库连接。常见问题包括无法写入注册表、试用期续费及连接数据库权限问题。高级功能涵盖 SSH 通道加速、自动化任务调度和性能调优建议。
1114 19
|
3月前
|
SQL Oracle 数据库
这款免费数据库工具,可能是YashanDB图形化管理的最佳选择
DBeaver for YashanDB 是一款专为国产自研数据库 YashanDB 定制的图形化管理工具,基于全球流行的开源数据库工具 DBeaver 二次开发而成。它深度适配 YashanDB 的各种架构,支持 HEAP/LSC 多形态表管理和 Oracle 生态兼容,提供高效的对象管理、智能 SQL 开发和工业级 PL/SQL 调试功能。通过可视化操作,开发者可轻松完成物化视图配置、存储过程管理等复杂任务,大幅提升效率。该工具完全免费,支持多平台,为企业级数据库管理提供了成熟解决方案。
|
5月前
|
关系型数据库 数据库连接 数据库
循序渐进丨MogDB 中 gs_dump 数据库导出工具源码概览
通过这种循序渐进的方式,您可以深入理解 `gs_dump` 的实现,并根据需要进行定制和优化。这不仅有助于提升数据库管理的效率,还能为数据迁移和备份提供可靠的保障。
122 6
|
4月前
|
SQL 分布式计算 数据库
【YashanDB知识库】Hive 命令工具insert崖山数据库报错
【YashanDB知识库】Hive 命令工具insert崖山数据库报错
|
7月前
|
SQL 程序员 Linux
推荐几个不错的数据库设计工具
推荐几个不错的数据库设计工具
355 11
|
8月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
586 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
9月前
|
SQL 数据可视化 关系型数据库
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
【数据库工具】DBeaver:一款免费的通用数据库工具和 SQL 客户端
684 1

热门文章

最新文章