powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28759 Сбой при открытии файла
9 сообщений из 9, страница 1 из 1
ORA-28759 Сбой при открытии файла
    #33046344
ship_A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
где посмотреть название файла, в котором есть ошибка
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ORA-28759 Сбой при открытии файла
    #39119092
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы помощи от ГУРУ...

ORACLE стоит под WIN SERVER 2012 r2

Настроено ACL:
Код: plsql
1.
SELECT host, lower_port, upper_port, acl FROM dba_network_acls


HOSTLOWER_PORTUPPER_PORTACL*.proZZZ.ru<пусто><пусто>/sys/acls/ZZZZ_test.xml
Код: plsql
1.
select acl, principal, privilege, is_grant, invert from dba_network_acl_privileges


ACLPRINCIPALPRIVILEGEIS_GRANTINVERT/sys/acls/ZZZZ_test.xml<USER>connecttruefalse/sys/acls/ZZZZ_test.xml<USER>resolvetruefalse

Кинут сертификат...
Код: plsql
1.
2.
3.
orapki wallet add -wallet <Путь>\wallet -trusted_cert -cert <Путь>\<Сертификат>.cer -pwd <PASSWORD>
orapki wallet add -wallet <Путь>\wallet -trusted_cert -cert <Путь>\<Сертификат_1>.cer -pwd <PASSWORD>
orapki wallet add -wallet <Путь>\wallet -trusted_cert -cert <Путь>\<Сертификат_2>.cer -pwd <PASSWORD>


При запуске:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
DECLARE
    req             utl_http.req;
    resp            utl_http.resp;
    content VARCHAR2(32767);
BEGIN
    
    UTL_HTTP.set_wallet('file:D:\oracle\admin\<MY_DB>\wallet', 'PASSWORD');
    
    req := utl_http.begin_request('https://httpsZZZ.proZZZ.ru/ZZZZ/index.pl');
    
    resp := utl_http.get_response(req);
    
    UTL_HTTP.READ_TEXT(resp,content,32766);
    
    utl_http.end_response(resp);
    
    dbms_output.put_line('content:');
    dbms_output.put_line(content);
    dbms_output.put_line('-----');

EXCEPTION
    WHEN utl_http.end_of_body THEN utl_http.end_response(resp);
END;

Выдает ошибку
Error at line 1
ORA-29273: сбой запроса HTTP
ORA-06512: на "SYS.UTL_HTTP", line 1130
ORA-28759: сбой при открытии файла
ORA-06512: на line 10 (это: req := utl_http.begin_request('https://httpsZZZ.proZZZ.ru/ZZZZ/index.pl'); )

В инете нашел:
Некоторые ошибки и их устранение
автор ORA-28759: сбой при открытии файла
....
Суть проблемы в том, что Oracle Wallet Manager (OWM) при редактировании wallets меняет разрешения на доступ к файлу. В результате файл становится доступным только пользователю, от которого был запущен OWM.
Решение:
Измените разрешения на доступ к файлу так, чтобы пользователь, от которого работает Oracle DB, имел доступ хотя бы на чтение.
Вот здесь я не понял кому доступ дать на чтение ???
...
Рейтинг: 0 / 0
ORA-28759 Сбой при открытии файла
    #39119113
UDW
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СА,

Судя по всему - процессу system winows, под которым и запущен Oracle.
...
Рейтинг: 0 / 0
ORA-28759 Сбой при открытии файла
    #39119163
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UDWВладимир СА,

Судя по всему - процессу system winows, под которым и запущен Oracle.Спа...
Точно... сертификаты надо чтобы SYSTEM видел...
Блин... чего я так лоханулся...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
ORA-28759 Сбой при открытии файла
    #39734920
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не минула и меня чаша сия.
Создал директорию и прочитал файл, чтобы проверить, что проблема не в правах.
Wallet manager открывает его с тем же паролем, что указываю в utl_http.set_wallet.
Что еще?

Код: 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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
Connected to Oracle Database 18c Standard Edition 2 Release 18.0.0.0.0 
Connected as system@//192.168.1.3/TEST

SQL> create directory TEST as 'C:\ora18\wallet';

Directory created

SQL>begin
  dbms_network_acl_admin.create_acl (
    acl         => 'utl_http.xml',
    description => 'HTTP Access',
    principal   => 'SYSTEM',
    is_grant    => TRUE,
    privilege   => 'connect',
    start_date  => null,
    end_date    => null
  );

  dbms_network_acl_admin.add_privilege (
    acl        => 'utl_http.xml',
    principal  => 'SYSTEM',
    is_grant   => TRUE,
    privilege  => 'resolve',
    start_date => null,
    end_date   => null
  );

  dbms_network_acl_admin.assign_acl (
    acl        => 'utl_http.xml',
    host       => '*',
    lower_port => 443,
    upper_port => 443
  );
  commit;
end;
/

PL/SQL procedure successfully completed


SQL> Connected to Oracle Database 18c Standard Edition 2 Release 18.0.0.0.0 
Connected as system@//192.168.1.3/TEST


SQL> CREATE OR REPLACE PROCEDURE http_client AS
  2  
  3      lo_req          utl_http.req;
  4      lo_resp         utl_http.resp;
  5      resp_text       varchar2(30000);
  6      f utl_file.file_type;
  7  begin
  8      f := utl_file.fopen('TEST', 'ewallet.p12', 'r');
  9      utl_file.get_line(f, resp_text, 10000);
 10      utl_file.fclose(f);
 11      dbms_output.put_line(resp_text);
 12  
 13      utl_http.set_transfer_timeout(180);
 14  
 15      utl_http.set_wallet('file:c:\ora18\wallet\ewallet.p12', '*******');
 16      lo_req := utl_http.begin_request('https://***.ru');
 17      lo_resp := utl_http.get_response(lo_req);
 18      utl_http.read_text(lo_resp, resp_text, 30000);
 19      utl_http.end_response(lo_resp);
 20  end;
 21  /

Procedure created

SQL> exec http_client;
begin http_client; end;

ORA-29273: сбой запроса HTTP
ORA-28759: сбой при открытии файла
ORA-06512: на  "SYS.UTL_HTTP", line 380
ORA-06512: на  "SYS.UTL_HTTP", line 1148
ORA-06512: на  "SYSTEM.HTTP_CLIENT", line 16
ORA-06512: на  line 1

SQL> 

...
Рейтинг: 0 / 0
ORA-28759 Сбой при открытии файла
    #39734921
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
 15      utl_http.set_wallet('file:c:\ora18\wallet\ewallet.p12', '*******');

параметр должен указывать путь к кошельку, не к сертификату.
...
Рейтинг: 0 / 0
ORA-28759 Сбой при открытии файла
    #39734932
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.
Продолжу с ORA-29024
...
Рейтинг: 0 / 0
ORA-28759 Сбой при открытии файла
    #39735027
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прочитал, что надо импортировать иерархию сертификатов, кроме сертификата сайта.
Не знаю, правильно ли сделал. Пока ORA-29024.

Код: powershell
1.
2.
orapki wallet create -wallet c:\dm\wallet -pwd "test=1234" -auto_login
orapki wallet add -wallet c:\dm\wallet -trusted_cert -cert "DSTRootCAX3.p7c" -pwd "test=1234"


Права доступа - добавил SYSTEM, скопировал ораклу.

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
orapki wallet display -wallet c:\ora11\orahome\wallet
Oracle PKI Tool : Version 11.2.0.1.0 - Production
Copyright (c) 2004, 2009, Oracle and/or its affiliates. All rights reserved.


Requested Certificates:
User Certificates:
Trusted Certificates:
Subject:        CN=DST Root CA X3,O=Digital Signature Trust Co.
Subject:        OU=Class 2 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject:        OU=Secure Server Certification Authority,O=RSA Data Security\, Inc.,C=US
Subject:        OU=Class 3 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject:        OU=Class 1 Public Primary Certification Authority,O=VeriSign\, Inc.,C=US
Subject:        CN=GTE CyberTrust Global Root,OU=GTE CyberTrust Solutions\, Inc.,O=GTE Corporation,C=US
...
Рейтинг: 0 / 0
ORA-28759 Сбой при открытии файла
    #39740766
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С sql.ru соединился успешно.

Код: 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.
CREATE OR REPLACE NONEDITIONABLE PROCEDURE http_client AS
    lo_req          utl_http.req;
    lo_resp         utl_http.resp;
    resp_text       varchar2(30000);
begin
    utl_http.set_wallet('file:c:\ora12\orahome\wallet', 'test=1234');
    lo_req := utl_http.begin_request(url => 'https://sql.ru/forum/oracle',  https_host => 'sql.ru');
    lo_resp := utl_http.get_response(lo_req);
    utl_http.read_text(lo_resp, resp_text, 30000);
    utl_http.end_response(lo_resp);
    dbms_output.put_line(resp_text);
end;  

Connected to Oracle Database 12c Standard Edition Release 12.2.0.1.0 
Connected as user1@//maslovd.ru/TEST

SQL> set serveroutput on;
SQL> exec http_client;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Invalid Header</h2>
<hr><p>HTTP Error 400. The request has an invalid header name.</p>
</BODY></HTML>


PL/SQL procedure successfully completed


SQL> 



С этим сайтом - видимо, надо достать еще сертификат, который не дает Firefox
Просмотрел его программой OpenSSL ( openssl s_client -showcerts )

---
Certificate chain
0 s:/C=RU/ST=PFO/L=NiNo/O=Internet Widgits Pty Ltd/CN=*
i:/C=RU/ST=PFO/L=NiNo/O=Internet Widgits Pty Ltd/CN=*
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-28759 Сбой при открытии файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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