powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28759: failure to open file
5 сообщений из 5, страница 1 из 1
ORA-28759: failure to open file
    #40046648
brnatalia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. На удаленном сервере установлена Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 – Production.
На сервере и на клиенте настроено подключение по TLS с использованием самоподписанных сертификатов.

При подключении с клиента выводится ошибка:

SQL*Plus: Release 12.2.0.1.0 Production on Thu Feb 18 15:06:49 2021

Copyright (c) 1982, 2016, Oracle. All rights reserved.

ERROR:

ORA-28759: failure to open file


Подскажите, пожалуйста, в чем проблема?

Прилагаю файлы настроек

Сервер
listener.ora


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
LIPKAPORA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = KEYPKAPORA))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.53.39.218)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCPS)(HOST = 10.53.39.218)(PORT = 2484))
    )
  )

SID_LIST_LIPKAPORA =
  (SID_LIST = 
    (SID_DESC =
      (GLOBAL_DBNAME = tkli-pkksb0009_pkapora)
      (ORACLE_HOME = /oracle/app/oracle/product/base19/19) 
      (SID_NAME = pkapora) 
    ) 
  )

ADR_BASE_LISTENER = /oracle/app/oracle
CONNECTION_RATE_LIPKAPORA= 50
RATE_LIMIT_LLIPKAPORA = yes
INBOUND_CONNECT_TIMEOUT_LIPKAPORA= 250
SECURE_REGISTER_LIPKAPORA= (IPC)
SSL_CLIENT_AUTHENTICATION = TRUE
SSL_CIPHER_CUITES = (SSL_RSA_WITH_AES_128_CBC_SHA256)
WALLET_LOCATION = (SOURCE = (METHOD = FILE)(METHOD_DATA = (DIRECTORY = /oracle/app/oracle/wallet)))



sqlnet.ora

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
sqlnet.expire_time=60
sqlnet.inbound_connect_timeout=300
sqlnet.allowed_logon_version_server=10
sqlnet.allowed_logon_version_client=10

# Включаем авторизацию по сертификату, оставляем остальные способы, если удалить, авторизация под linux учеткой oracle будет невозможна
SQLNET.AUTHENTICATION_SERVICES = (TCPS, BEQ, NONE)
SSL_CLIENT_AUTHENTICATION=TRUE
# Расположение хранилища сертификатов на стороне базы данных, файлы хранилища должны лежать непосредственно в указаннйо папке, подпапки не проверяются
WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/oracle/app/oracle/wallet)))
# Используемая спека шифрования, у оракла начинается на SSL, на стороне Java аналогичный спек начианется на TLS (TLS_RSA_WITH_AES_128_CBC_SHA256)
SSL_CIPHER_CUITES = (SSL_RSA_WITH_AES_128_CBC_SHA256)
#Контроль отозванных сертификатов. Значение REQUESTED - подключение прерывается, только если сертификат отозван. Если же список отозванных сертификатов не был найден, это не
#препятствует подключению
SSL_CERT_REVOCATION = REQUESTED

SQLNET.ENCRYPTION_SERVER = ACCEPTED 
SQLNET.CRYPTO_CHECKSUM_SERVER = ACCEPTED 
SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (SHA1) 
SQLNET.ENCRYPTION_TYPES_SERVER = (AES256, AES192, AES128)
SQLNET.CRYPTO_SEED = EAWCqGUCmUUCsCAsjZulQCnZHhNytWdDuYoRoNZXsdUDcOuGUhsOTlzLhjBk



tnsnames.ora

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
PKAPORA,TKLI-PKKSB0009_PKAPORA =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.53.39.218)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SID = pkapora)
    )
  )

LIPKAPORA_IPC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = IPC)(KEY = KEYPKAPORA))
    (CONNECT_DATA =
      (SID = pkapora)
    )
  )




Клиент

sqlnet.ora


Код: plsql
1.
2.
3.
4.
5.
6.
7.
# SQLNET.ORA Network Configuration File: C:\oracle\product\11g\client\NETWORK\ADMIN\sqlnet.ora
# Generated by Oracle configuration tools.

SQLNET.AUTHENTICATION_SERVICES = (NTS, TCPS)
NAMES.DIRECTORY_PATH = (TNSNAMES, ONAMES, HOSTNAME, EZCONNECT)
WALLET_LOCATION = (SOURCE = (METHOD=File) 
	(METHOD_DATA = (DIRECTORY = C:\Users\Safonova4-NV\client_cacerts.jks)))



tnsnames.ora

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
PKAPORA_SSL =

   (DESCRIPTION =

     (ADDRESS =

        (PROTOCOL = TCPS)

        (HOST = 10.53.39.218)

        (PORT = 2484)

     )

     (CONNECT_DATA =

        (SERVER = DEDICATED)

        (SERVICE_NAME = pkapora)

     )

   )
...
Рейтинг: 0 / 0
ORA-28759: failure to open file
    #40046652
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
brnataliaПодскажите, пожалуйста, в чем проблема?

В том, что индусы, написавшие SQL*Plus, не додумались в сообщении об ошибке вывести имя
файла, который отказывается открываться. Теперь придётся мучиться с Process Monitor или
strace для выяснения этой немаловажной детали.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ORA-28759: failure to open file
    #40046662
brnatalia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

погуглив по номеру ошибки, я так поняла, что проблема в правильности создания хранилищ и сертификатов. Для сервера я создавала wallet вот так:

Код: plsql
1.
2.
3.
cd $ORACLE_BASE/admin/$ORACLE_SID/wallet

orapki wallet create -wallet . -auto_login_local



Создание серверного самоподписанного сертификата:

Код: plsql
1.
orapki wallet add -wallet . -dn "CN=tklid-oradl0003" -keysize 1024 -self_signed -validity 365



Подписание клиентского сертификата и экспорта корневого самоподписанного сертификата:

Код: plsql
1.
2.
3.
orapki cert create -wallet . -request /tmp/CAB-WOV-V87IY_req.csr -cert /tmp/CAB-WOV-V87IY_signed.cert -validity 365

orapki wallet export -wallet . -dn "CN=tklid-oradl0003" -cert /tmp/tklid-oradl0003_CA.cert



После чего, я скачала на комп клиентский и корневой сертификаты и добавила их в хранилище .jks. Для создания wallet на клиенте недостаточно прав. Может поэтому не хочет подключаться?
...
Рейтинг: 0 / 0
ORA-28759: failure to open file
    #40046729
brnatalia
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
brnatalia,


Пересоздала хранилище на клиенте в формате p.12. Не помогло, ошибка та же:(
...
Рейтинг: 0 / 0
ORA-28759: failure to open file
    #40046743
Фотография SeaGate
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка возникает, например, когда я указываю не существующий wallet:
Код: plsql
1.
2.
3.
4.
5.
[oracle@rac1 network]$ cat sqlnet.ora
WALLET_LOCATION = (SOURCE = (METHOD=File)(METHOD_DATA = (DIRECTORY = /tmp/x)))
trace_level_client=support
trace_directory_client=/home/oracle/network/trace
diag_adr_enabled=off


Воспроизводим ошибку:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
[oracle@rac1 network]$ sqlplus tc/tc@tcps://rac1:1522/pdb

SQL*Plus: Release 19.0.0.0.0 - Production on Thu Feb 18 12:29:00 2021
Version 19.9.0.0.0

Copyright (c) 1982, 2020, Oracle.  All rights reserved.

ERROR:
ORA-28759: failure to open file


Клиентская трассировка SQL*Net вполне явно дает ответ, в чем проблема (см параметры выше):
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
(1951427712) [18-FEB-2021 12:29:00:405] snzdfo_open_file: Opening file /tmp/x/ewallet.p12 with READ ONLY permissions
(1951427712) [18-FEB-2021 12:29:00:405] snzdfo_open_file: File Open/Close error
(1951427712) [18-FEB-2021 12:29:00:405] nzdfo_open: File Open/Close error
(1951427712) [18-FEB-2021 12:29:00:405] nziropen: rio open failed with error 28759
(1951427712) [18-FEB-2021 12:29:00:405] nzirclose: entry
(1951427712) [18-FEB-2021 12:29:00:405] nziropen: entry
(1951427712) [18-FEB-2021 12:29:00:405] nzdfo_open: entry
(1951427712) [18-FEB-2021 12:29:00:405] snzdfo_open_file: entry
(1951427712) [18-FEB-2021 12:29:00:405] snzdfo_open_file: Opening file /tmp/x/cwallet.sso with READ ONLY permissions
(1951427712) [18-FEB-2021 12:29:00:405] snzdfo_open_file: File Open/Close error
(1951427712) [18-FEB-2021 12:29:00:405] nzdfo_open: File Open/Close error
(1951427712) [18-FEB-2021 12:29:00:405] nziropen: rio open failed with error 28759
(1951427712) [18-FEB-2021 12:29:00:405] nzirclose: entry
(1951427712) [18-FEB-2021 12:29:00:405] nzdtrsr_store_certreq: nziropen() returned error 28759
(1951427712) [18-FEB-2021 12:29:00:405] nztwOpenWallet: Could not open wallet from file:/tmp/x: NZ error 28759
(1951427712) [18-FEB-2021 12:29:00:405] nztwOpenWallet: exit
(1951427712) [18-FEB-2021 12:29:00:405] ntzlogin: Wallet open failed with error 28759
(1951427712) [18-FEB-2021 12:29:00:405] ntzlogin: returning NZ error 28759 in result structure
(1951427712) [18-FEB-2021 12:29:00:405] ntzlogin: failed with error 540
(1951427712) [18-FEB-2021 12:29:00:405] ntzlogin: exit
(1951427712) [18-FEB-2021 12:29:00:405] ntzConfigure: failed with error 540
(1951427712) [18-FEB-2021 12:29:00:405] ntzConfigure: exit
(1951427712) [18-FEB-2021 12:29:00:405] ntzCreateConnection: failed with error 540
(1951427712) [18-FEB-2021 12:29:00:405] ntzCreateConnection: exit
(1951427712) [18-FEB-2021 12:29:00:405] ntzdisconnect: entry
(1951427712) [18-FEB-2021 12:29:00:405] ntzFreeNTZData: entry
(1951427712) [18-FEB-2021 12:29:00:405] ntzFreeNTZData: exit
(1951427712) [18-FEB-2021 12:29:00:405] nttdisc: entry
(1951427712) [18-FEB-2021 12:29:00:405] nttdisc: Closed socket 8
(1951427712) [18-FEB-2021 12:29:00:405] nttdisc: exit
(1951427712) [18-FEB-2021 12:29:00:405] ntzdisconnect: exit
(1951427712) [18-FEB-2021 12:29:00:405] ntzconnect: returning NZ error 28759 in result structure
(1951427712) [18-FEB-2021 12:29:00:405] ntzconnect: failed with error 540


Включите параметры на клиенте, как в моем примере, воспроизведите ошибку, и приложите полученный трассировочный файл.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28759: failure to open file
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]