松原网站建设哪家专业,网站网速慢,检察机关门户网站建设自查报告6,怎么获得一个免费的域名一个开启Oracle服务和更改主机名的脚本真不知道该起一个什么题目#xff0c;这是昨天数据库老师提出的问题。由于实验室的机器都装了还原卡#xff0c;每次开机或重启都会回到初始状态#xff0c;所以数库的listener.ora、tnsnames.ora文件里的host不是本机的计算机名#…一个开启Oracle服务和更改主机名的脚本真不知道该起一个什么题目这是昨天数据库老师提出的问题。由于实验室的机器都装了还原卡每次开机或重启都会回到初始状态所以数库的listener.ora、tnsnames.ora文件里的host不是本机的计算机名每次都需要手动修改很麻烦。所需要写一个脚本来自动化的完成这个任务。第一次写技术博客不知道问题描述清楚了没有。我分是两部分完成的开启服务和获取主机名是用批处理命令然后把主机名作为参数传入一个python脚本来完成对文件的修改。下面是批处理部分文件名start.bat 01echo off02rem 这是注释0304rem 获取计算机名05python update.py %computername%0607rem 开启Oracle服务08net start OracleServiceORCL09net start OracleOraDb10g_home1TNSListener1011pauseupdate.py:01#codingutf-802import sys0304print u计算机名:05print sys.argv[1]0607print u见证奇迹的时刻。。。0809#修改主机名10def update_file(path,old_name,new_name):1112python 不能直接修改文本的内容尝试了几种方法发现下面的方法比较好。13先取出文件的内容查找替换计算机名重写写入覆盖原来的文件。14注意用 w 或 w 方式打开文件时可以写入如果文件名存在会先清除原来的内容。1516file open(path,r)17content file.read()18content content.replace(old_name, new_name)19file.close()20file open(path,w)21file.write(content)22file.close()23return2425#三个文件的路径26path1 C:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/listener.ora27path2 C:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/tnsnames.ora28path3 C:/oracle/product/10.2.0/client_1/NETWORK/ADMIN/tnsnames.ora2930#文件里的计算机名和本机的计算机名31old_name sdwh11932new_name sys.argv[1]3334update_file(path1, old_name, new_name)35update_file(path2, old_name, new_name)36update_file(path3, old_name, new_name)后来发现实验室里虽然都有python但是环境变量没有配置所以每次开机还要先配置python的环境变量“C:\Python27;”。两个脚本都很简单但是也不是一下就写出来的。批处理的内容都是现学现卖。下面是一个同学完全使用批处理的做法现在还是有几个符号看不懂也不想懂了01echo off02setlocal enabledelayedexpansion03cd\04cd oracle\product\10.2.0\db_1\NETWORK\ADMIN05for /f delims %%a in (tnsnames.ora) do (06set aa%%a07set aa!aa:sdwh119%computername%!08echo !aa!temp.txt09)10del tnsnames.ora11ren temp.txt tnsnames.ora12for /f delims %%a in (listener.ora) do (13set aa%%a14set aa!aa:sdwh119%computername%!15echo !aa!temp.txt16)17del listener.ora18ren temp.txt listener.ora19cd\20cd oracle\product\10.2.0\client_1\NETWORK\ADMIN21for /f delims %%a in (tnsnames.ora) do (22set aa%%a23set aa!aa:sdwh119%computername%!24echo !aa!temp.txt25)26del tnsnames.ora27ren temp.txt tnsnames.ora28net start OracleServiceORCL29net start OracleOraDb10g_home1TNSListener