python 通过cx_Oracle操作oracle database

来源:互联网 发布:2016中国近几年gdp数据 编辑:程序博客网 时间:2024/06/05 03:07

python 通过cx_Oracle对oracle database的打开关闭操作

def dbShutdownImmediate(sid):

    try:

        os.environ['ORACLE_SID']=sid
        # need to connect as SYSDBA or SYSOPER
        connection = cx_Oracle.connect(“/”, mode = cx_Oracle.SYSDBA)

        connection.shutdown(mode = cx_Oracle.DBSHUTDOWN_IMMEDIATE)

        # now close and dismount the database
        cursor = connection.cursor()
        cursor.execute(“alter database close normal”)
        cursor.execute(“alter database dismount”)

        # perform the final shutdown call
        connection.shutdown(mode = cx_Oracle.DBSHUTDOWN_FINAL)
        print “dbShutdownImmediate OK!”
        return True
    except cx_Oracle.DatabaseError,info:
        print “Error: “,info
        return False

def dbShutdownAbort(sid):
    try:
        os.environ['ORACLE_SID']=sid
        handle= cx_Oracle.connect(“/”,mode = cx_Oracle.SYSDBA | cx_Oracle.PRELIM_AUTH)
        handle.shutdown(mode = cx_Oracle.DBSHUTDOWN_ABORT)
        print “dbShutdownAbort OK!”
        return True
    except cx_Oracle.DatabaseError,info:
        print “Error: “,info
        return False

def dbStartup(sid):
    lbok=True
    if lbok: lbok=dbStartupNomount(sid)
    if lbok: lbok=dbMount(sid)
    if lbok: lbok=dbOpen(sid)

# startup nomount:
def dbStartupNomount(sid):
    try:
        os.environ['ORACLE_SID']=sid
        connection = cx_Oracle.connect(“/”,mode = cx_Oracle.SYSDBA | cx_Oracle.PRELIM_AUTH)
        connection.startup()
        print “dbStartupNomount OK!”
        return True
    except cx_Oracle.DatabaseError,info:
        print “Error: “,info
        return False

# mount:
def dbMount(sid):
    try:
        os.environ['ORACLE_SID']=sid
        handle=cx_Oracle.connect(“/”, mode = cx_Oracle.SYSDBA)
        cursor = handle.cursor()
        cursor.execute(“alter database mount”)
        print “dbMount OK!”
        return True
    except cx_Oracle.DatabaseError,info:
        print “Error: “,info
        return False

# open
def dbOpen(sid):
    try:
        os.environ['ORACLE_SID']=sid
        handle=cx_Oracle.connect(“/”, mode = cx_Oracle.SYSDBA)
        cursor = handle.cursor()
        cursor.execute(“alter database open”)
        print “dbOpen OK!”
        return True
    except cx_Oracle.DatabaseError,info:
        print “Error: “,info
        return False

原创粉丝点击