网站首页 > 技术文章 正文
1. 准备工作
Oracle JDBC驱动
下载ojdbc8.jar(或与Oracle版本匹配的驱动),放置到Kettle的/data-integration/lib/目录下。
Oracle服务端配置
确保Oracle已启用TLS,并配置了以下文件:
sqlnet.ora:设置SSL_CLIENT_AUTHENTICATION和WALLET_LOCATION。
listener.ora:监听端口配置为TCPS协议(如2484)。
2. Kettle连接配置
方法1:使用JDBC Thin连接(推荐)
在Spoon中创建新的数据库连接,选择Oracle类型。
填写连接信息:
text
Copy Code
Hostname: <Oracle服务器IP>
Port: 2484(默认TCPS端口)
Database Name: <Service_Name>
Username/Password: <认证信息>
关键参数(在“Options”标签页添加):
text
Copy Code
javax.net.ssl.trustStore=<信任库路径>
javax.net.ssl.trustStorePassword=<密码>
oracle.net.ssl_version=1.2
oracle.net.ssl_server_dn_match=true
JDBC URL格式(可选手动填写):
text
Copy Code
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)(HOST=<host>)(PORT=2484))(CONNECT_DATA=(SERVICE_NAME=<service>)))
方法2:使用OCI连接(需Oracle客户端)
确保ORACLE_HOME环境变量指向已配置TLS的Oracle客户端。
在tnsnames.ora中配置TLS条目:
text
Copy Code
ALIAS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCPS)(HOST = <host>)(PORT = 2484))
(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = <service>))
)
在Kettle中选择连接类型为OCI,填写TNS别名。
3. 测试连接
点击“Test”按钮验证连接,确保无ORA-28860(TLS握手失败)等错误。
检查Kettle日志(/data-integration/logs/)确认TLS协商成功。
4. 常见问题解决
证书问题:确保信任库(.jks或.p12)包含Oracle服务器的CA证书。
协议版本:若Oracle版本较旧,尝试将oracle.net.ssl_version改为1.0或1.1。
驱动兼容性:使用ojdbc10.jar或更高版本支持TLS 1.3。
注意事项
端口冲突:TCPS默认端口为2484,非标准端口需与DBA确认。
性能影响:TLS加密会增加少量开销,建议对敏感数据使用。
猜你喜欢
- 2025-09-19 Nmap 7.90发布,史上最强漏洞扫描器
- 2024-08-05 Oracle表空间管理和用户管理(oracle表空间管理方式)
- 2024-08-05 Linux新手入门系列:linux下Oracle定时备份
- 2024-08-05 Oracle用户管理,权限管理,角色管理
- 2024-08-05 关于Oracle12c连接认证协议问题--ORA-28040
- 2024-08-05 oracle身份验证(oracle身份认证)
- 2024-08-05 Oracle - 数据库的实例、表空间、用户、表之间关系
- 2024-08-05 Oracle参数设置两则(oracle参数说明)
- 2024-08-05 oracle11g部署搭建(部署oracle数据库)
- 2024-08-05 超实用的6个oracle plsql配置选项
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)