corda - 连接到设置为生产数据库的 Oracle 数据库时无法启动 Corda 节点
问题描述
我的设置细节如下
- Corda 4.6 企业版
- 数据库:甲骨文 12
我正在通过参考https://docs.corda.net/docs/corda-enterprise/4.6/node/operating/node-database-admin.html进行生产数据库设置。我为每个节点创建了 2 个数据库模式(管理员和受限访问)。我根据文档中的给定更新了 node.conf 数据库连接。我还允许 my_user 访问 my_admin_user
dataSourceProperties = {
dataSourceClassName = "oracle.jdbc.pool.OracleDataSource"
dataSource.url = "jdbc:oracle:thin:@<host>:<port>:<sid>"
dataSource.user = my_user
dataSource.password = "my_password"
}
database = {
schema = my_admin_user
}
但是,当我启动节点时得到以下错误
2021-06-09T16:36:16,400 ERROR databaseInitialisation DatabaseInitialisation(id="rK2VjTKa";status="error";error_code="1";message="**ORA-01031: insufficient privileges** [Failed SQL: CREATE TABLE my_user.DATABASECHANGELOG (ID VARCHAR2(255) NOT NULL, AUTHOR VARCHAR2(255) NOT NULL, FILENAME VARCHAR2(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INTEGER NOT NULL, EXECTYPE VARCHAR2(10) NOT NULL, MD5SUM VARCHAR2(35), DESCRIPTION VARCHAR2(255), COMMENTS VARCHAR2(255), TAG VARCHAR2(255), LIQUIBASE VARCHAR2(20), CONTEXTS VARCHAR2(255), LABELS VARCHAR2(255), DEPLOYMENT_ID VARCHAR2(10))]")
2021-06-09T16:36:16,413 ERROR net.corda.node.internal.NodeStartupLogging **ORA-01031: insufficient privileges**
[Failed SQL: CREATE TABLE my_user.DATABASECHANGELOG (ID VARCHAR2(255) NOT NULL, AUTHOR VARCHAR2(255) NOT NULL, FILENAME VARCHAR2(255) NOT NULL, DATEEXECUTED TIMESTAMP NOT NULL, ORDEREXECUTED INTEGER NOT NULL, EXECTYPE VARCHAR2(10) NOT NULL, MD5SUM VARCHAR2(35), DESCRIPTION VARCHAR2(255), COMMENTS VARCHAR2(255), TAG VARCHAR2(255), LIQUIBASE VARCHAR2(20), CONTEXTS VARCHAR2(255), LABELS VARCHAR2(255), DEPLOYMENT_ID VARCHAR2(10))]
解决方案
在 node.conf 的 dataSourceProperties 下添加以下条目后问题已解决
connectionInitSql="alter session set current_schema=my_admin_user"
推荐阅读
- reactjs - 我将检索对象中的信息要在 FormItem 中执行 antd 如何
- docker - nginx 不会在 80 以外的端口上监听 docker 上的 pgadmin
- terraform - 基于变量的可选块
- flutter - 如何在颤振 sharedprefrence 中存储加密类型
- telosys - Telosys 中 templates.cfg 中的变量
- devexpress - 如何从 Devexpress XtragGrid 的组合框中设置列单元格的值?
- r - 使用聚合函数将月度数据转换为季度数据
- javascript - 使用选择选项隐藏和显示表单的 JavaScript
- ios - iOS JSON 传递给 TableVIewCell 中的 NextViewController
- c# - 如何从视图中的另一个 ViewModel 调用方法 (WPF)