[英]cx_oracle connection lost on DB restart
我正在使用cx_oracle連接器將我的API層連接到Oracle DB,這里的問題是由於某些其他原因,我的DB計算機不斷重啟。
我想讓我的API層免於重新建立連接或嘗試重新連接,對此的最佳解決方案是什么?
請不要建議嘗試並抓住。
我的連接代碼:
import cx_Oracle
connection_string = "{user}/{password}@{server}:{port}/{sid}".format(
user=config.DB_USER,
password=config.DB_PASSWORD,
server=config.DB_HOST,
port=config.DB_PORT,
sid=config.DB_SID)
db_conn = cx_Oracle.connect(connection_string)
cursor = db_conn.cursor()
我對此了解不多,但是這里有一個會話/連接池會有所幫助嗎?
如果使用會話池(cx_Oracle.SessionPool),則無論何時從池中請求死會話,都將替換死會話。 這將無法幫助您處理從池中獲取的現有會話。 但是,如果遇到錯誤,然后將會話釋放回池中,然后再次從池中獲取會話,則將獲得可以使用的會話。 如果您想獲得更高級的數據庫故障保護,則需要探索Oracle數據庫必須提供的一些更高級的技術,例如RAC(Real Application Clusters)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.