import oracledb from logging_config import get_logger logger = get_logger(__name__) class OracleConnector: def __init__(self, config): self.config = config self.pool = None def initialize_pool(self): try: self.pool = oracledb.create_pool( user=self.config.db_user, password=self.config.db_password, dsn=self.config.db_dsn, min=1, max=5, increment=1 ) logger.info("Oracle connection pool initialized") except Exception: logger.error("Failed to initialize Oracle pool", exc_info=True) raise def get_connection(self): if not self.pool: self.initialize_pool() return self.pool.acquire() def close(self): if self.pool: try: self.pool.close() logger.info("Oracle pool closed") except Exception: logger.error("Error closing pool", exc_info=True)