Corda Enterprise支持Oracle钱包。以下是Oracle Wallet的工作配置,并已在Oracle 11g和Oracle 12c上进行了测试。
-
Oracle wallet配置为自动登录(
-auto_login_local
-
假设节点的数据库连接URL是在中配置的
tnsnames.ora
,化名为
"db11g"
$ echo 'For JDBC URL ==> "jdbc:oracle:thin:@localhost:1521/xe" ==> below is an example of tnsnames.ora'
$ cat ~/oracle_experiment/tnsnames.ora
db11g =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = xe)
)
)
-
钱包位置在中配置
sqlnet.ora
:
$ cat ~/oracle_experiment/sqlnet.ora
WALLET_LOCATION =
(SOURCE =
(METHOD = FILE)
(METHOD_DATA =
(DIRECTORY = /Users/corda/oracle_wallet/)
)
)
SQLNET.WALLET_OVERRIDE = TRUE
SSL_CLIENT_AUTHENTICATION = FALSE
SSL_VERSION = 0
-
Sqlplus应能够在无密码挑战的情况下登录:
sqlplus /@db11g
SQL*Plus: Release 12.2.0.1.0 Production on Tue Nov 27 15:17:00 2018
Copyright (c) 1982, 2017, Oracle. All rights reserved.
Last Successful login time: Tue Nov 27 2018 14:46:09 +08:00
Connected to:
Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production
SQL>
-
从以下位置更改特定于数据库的配置:
$ cat dbconfig_oracle11g.conf
dataSourceProperties = {
dataSourceClassName = "oracle.jdbc.pool.OracleDataSource"
dataSource.url = "jdbc:oracle:thin:@localhost:1521/xe"
dataSource.user = corda_es_user
dataSource.password = corda_es_passwd
}
到
$ cat dbconfig_oracle_wallet.conf
dataSourceProperties = {
dataSourceClassName = "oracle.jdbc.pool.OracleDataSource"
dataSource.url = "jdbc:oracle:thin:/@db11g"
dataSource.user=null
dataSource.password=null // user and password can't be ignored and can't be left blank.
}
-
drivers
文件夹:
]$ ls <corda>/drivers/
ojdbc8.jar
osdt_cert.jar
osdt_core.jar
oraclepki.jar
-
oracle.net.wallet_location
和
oracle.net.tns_admin
选项:
]$ java -Doracle.net.wallet_location=/Users/corda/oracle_wallet/ -Doracle.net.tns_admin=/Users/corda/oracle_experiment/ -jar corda.jar