Python编写的生成"增加ORACLE表空间数据文件sql"小程序

使用python编写的增加表空间数据文件SQL的小程序

1.需求分析:

工作时候遇到一个很烦人的问题,每次表空间满了之后需要手动添加多个表空间数据文件,需要一个一个改,或者一个一个点,很麻烦很浪费时间,同事建议编一个小程序解决这个问题,所以自己动手使用python写了一个小程序来解决这个问题。

工具:pyCharm
语言:python3.7.4
功能:生成多条sql语句,用于增加oracle表空间文件

输入:表空间名 路径 开始个数 结束个数
输出:n个sql添加文件sql语句

2.实现思路:

单条添加表空间数据文件SQL语句为:

 ALTER TABLESPACE "newjava" ADD DATAFILE 'G:\ORACLEDATA\FILE20.DBF' SIZE 1024M AUTOEXTEND ON NEXT 10M MAXSIZE 32768M;

该语句意思为:在newjava表空间下添加数据文件,数据文件名为G:\ORACLEDATA\FILE20.DBF,其实大小为1G,自动扩展大小,每次添加10M,最大为32G。
多个数据文件需要重复上面的语句,但是需要修改数据文件的名称,所以通过python来实现上面的sql多行输出。

3.代码如下:

#!/usr/bin/python3
'''
增加表空间数据文件
输入:表空间名 name
     路径 path
     开始个数 start
     结束个数 end

输出:n个sql添加文件sql语句
'''
def add(name,path,start,end):
    f = open('ADDSQL.txt','a')
    for i in range(start,end+1):
        print("ALTER TABLESPACE \""+name+"\" ADD DATAFILE \'"+path+str(i)+".DBF\' SIZE 1024M AUTOEXTEND ON NEXT 10M MAXSIZE 32768M;")
        f.write("ALTER TABLESPACE \""+name+"\" ADD DATAFILE \'"+path+str(i)+".DBF\' SIZE 1024M AUTOEXTEND ON NEXT 10M MAXSIZE 32768M;"+"\n")
    print("表空间: ", name)
    print("路径名: ", path)
    print("文件开始: ", start)
    print("文件结束: ", end)
    print("增加个数: ", int(end)-int(start))
    f.close()
    print("保存SQL到当前路径")

if __name__ == '__main__':
    print("==========增加表空间文件小程序=========")
    name = input("请输入表空间名:")
    path = input("请输入路径名:")
    start = int(input("请输入表空间文件开始数:"))
    end = int(input("请输入表空间文件结束数:"))
    add(name,path,start,end)

4.生成小程序:

python将.py文件打包生成.exe文件的小程序文件需要安装依赖pyinstaller
这里参考了这篇csdn:https://blog.csdn.net/qq_32939413/article/details/86564611

5.结果展示:

Python编写的生成
Python编写的生成

剩下的步骤在oracle中复制粘贴以上sql使用即可!

你可能感兴趣的:(python,python,oracle)