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