python - 为什么使用 cx_oracle 执行 SQL 命令失败但手动执行?
问题描述
我正在处理 oracle12C1 RAC 设置,我正在尝试将 FILE 钱包迁移到 HSM,目前我在两个节点上的 sqlnet.ora 如下:
Node1: ENCRYPTION_WALLET_LOCATION = ( SOURCE =(METHOD = HSM)(METHOD_DATA = (DIRECTORY = /etc/ORACLE/WALLET/ORCL)))
Node2: ENCRYPTION_WALLET_LOCATION = ( SOURCE =(METHOD = HSM)
(METHOD_DATA =
(DIRECTORY = /etc/ORACLE/WALLET/ORCL)))
我正在尝试使用 cx_Oracle 将钱包从 FILE 钱包迁移到 HSM 钱包,如下所示
ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY IDENTIFIED BY "Ssl12345#" MIGRATE USING "ssl12345" with backup
并出现以下错误
ORA-28416: specify the correct keystore in the sqlnet.ora file
如果我通过在 node1 上调用 sqlplus 手动执行它,它可以顺利运行。
SQL> ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY IDENTIFIED BY "Ssl12345#" MIGRATE USING "ssl12345" with backup;
keystore altered.
你能准确地说出这两次执行之间的区别吗?
我的努力:我尝试搜索这个特定的 oracle 错误,但得到的只是
When migrating to HSM, the keystore specified in sqlnet.ora file should be HSM and similarly when migrating to wallet, the keystore specified in sqlnet.ora should be wallet. Check if the sqlnet.ora file configuration is correct and, if not, correct it.
解决方案
推荐阅读
- audio - 如何通过 RTP 流发送 G722 编码的音频?
- laravel - 为什么 Laravel Horizon 执行排队命令的速度比简单的工匠队列:工作快得多?
- python-3.x - 这适用于我的在线课程,但不适用于我的 IDE
- java - 如何不将重复项添加到数组列表
- python - 列表继承:"extend" vs "+" vs "+="
- xmpp - ejabberd - 无法将自定义 IQ 发送给其他用户
- python - 使用来自 Db2 (Warehouse) on Cloud 的凭据来初始化 flask-sqlalchemy
- python - Scrapy KeyError: 0 解析下一页
- python - Django datetime.date.min 和 Mysql DATE 最小值不同
- java - Thymeleaf - 一次加载元数据并在所有页面中使用