oracle,mysql,命令行启动脚本执行简单操作

单位工作环境内外网隔离,我的机器通过一个开关手工切换内外网。远程维护软件通过外网连接到单位机器操作不了内网数据库,我不在单位数据库需要维护的时候,只能视频连线让在单位的同事协助进行。他们不是专门的计算机人员,远程指挥他们操作,即麻烦又危险。

然后就想通过命令行启动脚本的方式,把执行操作写成一个批处理文件,通过外网放到桌面上,然后让他们切换机器到内网,把屏幕上的快捷方式双击一下,问题解决了,简单又安全。

oracle和mysql都需要安装客户端才可以执行。oracle没什么可说的,mysql麻烦点。我机器里平时用的是mysql workbench,里面有个可执行的mysql,按理说它应该可以连接到服务器,但怎么试也没好使,只好又下载一个单独的客户端,mysql-shell。

用文本文件编辑器在桌面写一个bat文件,内容如下:

1、exp username/password@orcl file=d:\bko.dmp

2、sqlplus username/password@orcl < d:\or.sql

3、C:\"Program Files"\"MySQL"\"MySQL Workbench 6.1 CE"\mysqldump -h 192.168.31.5 -u username -ppassword databasename > d:\bkm.sql

4、C:\mysql-shell-8.0.32-windows-x86-64bit\bin\mysqlsh -h 192.168.31.5 -u username -ppassword  --sql < d:\my.sql

解释一下上面这个批处理文件:

我的oracle路径被加入进了系统路径,执行时不需要再指定,mysql没有加入,所以执行时需要指出文件在哪里。

1、oracle备份,具体命令内容根据自己需要来写,比如指定用户,指定表等等。

2、执行oracle脚本,or.sql内容为需要执行的一系列任务,比如以下的示例

修改表结构:alter table FIN_IPR_SIINMAININFO add acct_mulaid_pay number(10,2);
插入记录:insert into fin_ipr_siinmaininfo ( non_insu_amount,insutype。。。。) values( 0,'310' 。。。);
修改记录:update fin_opb_invoiceinfo set paykind_code = '02', pact_code = '2' where  invoice_no = '000000806573';    
提交:commit;

3、mysql备份,如不需要完整备份,可以根据自己需要备份指定表。
4、执行mysql脚本,my.sql内容为需要执行的一系列任务,比如以下的示例

插入记录:

use database;
insert into com_printer_setting (p_type, p_item,p_top,p_left,p_width,p_height,p_font_name,p_font_size,p_position,p_mode,p_print_item,p_item_type) values('门诊收据', '共济',104,88,25,4,'宋体',3.5,0,1,'共济','itemtype');

这样处理之后,需要维护数据库的时候就省心多了。

posted @ 2023-03-10 19:50  桑底坡  阅读(152)  评论(0编辑  收藏  举报