0

Java 1.6.0_65 を使用して、OS X で Oracle インスタントクライアントを起動して実行しようとしています。Oracle ドキュメントに記載されているすべての手順を実行しました: https://docs.oracle.com/cd/E11882_01/install.112/e38228/toc.htm しかし、問題は同じままです:

ロケーション 0x0 rip=0x106369f87 の無効なメモリ アクセス

スタック トレースは次のとおりです。

Process:               java [6234]
Path:                  /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bin/java
Identifier:            com.apple.javajdk16.cmd
Version:               1.0 (1.0)
Code Type:             X86-64 (Native)
Parent Process:        sh [6222]
Responsible:           Terminal [1179]
User ID:               33291

PlugIn Path:             /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bundle/Libraries/libclient64.dylib
PlugIn Identifier:       libclient64.dylib
PlugIn Version:          ??? (1)

Date/Time:             2015-07-28 11:22:49.211 +0200
OS Version:            Mac OS X 10.10.4 (14E46)
Report Version:        11
Anonymous UUID:        54BA4C92-323A-644A-55CF-CDBEDA054F4E


Time Awake Since Boot: 5500 seconds

Crashed Thread:        27  Java: main

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000

VM Regions Near 0:
--> 
    __TEXT                 0000000106233000-000000010623b000 [   32K] r-x/rwx SM=COW  /Library/Java/JavaVirtualMachines/jdk1.6.0_65.jdk/Contents/Home/bin/java

Application Specific Information:
Java information:
 Exception type: Bus Error (0xa) at pc=106369f87

 Java VM: Java HotSpot(TM) 64-Bit Server VM (20.65-b04-462 mixed mode macosx-amd64)

Current thread (7fddcf86d800):  JavaThread "main" [_thread_in_vm, id=309616640, stack(112646000,112746000)]
Stack: [112646000,112746000]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  oracle.jdbc.driver.T2CConnection.t2cSetSessionTimeZone(JLjava/lang/String;)I+0
j  oracle.jdbc.driver.T2CConnection.logon()V+825
j  oracle.jdbc.driver.PhysicalConnection.<init>(Ljava/lang/String;Ljava/util/Properties;Loracle/jdbc/driver/OracleDriverExtension;)V+323
....

32 バージョンと 64 バージョンの両方で試しました。アプリケーションの起動時に -d32 フラグをアクティブ化または非アクティブ化するとともに、適切なクライアント バージョンを使用して実行しました。

どちらも同じ問題を抱えています。

ここで何が間違っているのか誰にも分かりますか?

ありがとう

アップデート:

OCI を THIN に置き換え、クラッシュを先に進めました。

jdbc:oracle:thin:@${dbserver:our.domain.de}:${dbport:1234}:${dbsid:OURSID}
jdbc:oracle:oci:@(description=(ADDRESS=(COMMUNITY=tcp.world)(PROTOCOL=TCP)(Host=our.domain.de)(Port=1521))(connect_data=(sid=OURSID)))

データ ソースの読み取り後にクラッシュするようになりました。

12:53:52,490 INFO  [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
12:53:52,490 INFO  [InjectedDataSourceConnectionProvider] Using provided datasource
Invalid memory access of location 0x0 rip=0x10ff50f87
4

1 に答える 1

0

私の知る限り、クライアントライブラリはOracleによって十分に維持されておらず、最新のOS Xバージョンを何年もサポートしていませんでした。彼らはMacでクラッシュしました

12c ドライバーを使用してみてください。しかし、シン ドライバでも JVM がクラッシュする場合は、Java のインストールに何か問題があるはずです。クラスパスに複数の JDBC ドライバーがあるのではないでしょうか?

于 2015-07-28T13:19:57.197 に答える