|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Добрый день! Oracle Label Security у меня работал в версии Oracle 11g. Попытался настроить в Oracle 12c. Включил опцию Oracle Label Security: Код: plsql 1. 2.
Включил пользователя LBACSYS. Пытаюсь создать policy: Код: plsql 1.
Не работает! Ошибка "ошибка преобразования символа в число ошибка числа или значения" Error starting at line : 2 in command - BEGIN SA_SYSDBA.create_policy('sss'); END; Error report - ORA-06502: PL/SQL: : ошибка преобразования символа в число ошибка числа или значения ORA-06512: на "LBACSYS.LBAC_LGSTNDBY_UTIL", line 94 ORA-06512: на "LBACSYS.LBAC_SYSDBA", line 132 ORA-06512: на "LBACSYS.LBAC_LGSTNDBY_UTIL", line 73 ORA-06512: на "LBACSYS.SA_SYSDBA", line 16 ORA-06512: на line 1 06502. 00000 - "PL/SQL: numeric or value error%s" *Cause: An arithmetic, numeric, string, conversion, or constraint error occurred. For example, this error occurs if an attempt is made to assign the value NULL to a variable declared NOT NULL, or if an attempt is made to assign an integer larger than 99 to a variable declared NUMBER(2). *Action: Change the data, how it is manipulated, or how it is declared so that values do not violate constraints. Попытался запустить такую-же процедуру из примера описания: Код: plsql 1. 2. 3. 4. 5. 6.
Вот от сюда: https://docs.oracle.com/database/121/OLSAG/getstrtd.htm#OLSAG3731 Эффект одинаковый. Подозреваю, что не те какие-то настройки всей БД. Но где искать... Спасибо за помощь! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 20:13 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Wassja, Попробуйте отловить так alter session set event '6502 trace name errorstack level 3'; exec SA_SYSDBA.create_policy('sss'); select value from v$dai_info where name='Default Trace File'; exit смотрите трейс ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2017, 21:57 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
orac_list, спасибо за помощь, стало легче, не полностью... Запустил процедурку: Код: plsql 1. 2. 3. 4.
Получил результат: файл orcl_ora_4996.trc В последних строчках получил описание ошибок: Код: plaintext 1. 2. 3. 4.
В реестре таких ключей нет. В интернете подобных проблем я не нашел. Может быть кто-то встречался с подобными? Спасибо! ОС - Windows Server 2016 Standard. При установки Oracle ошибок не было. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.11.2017, 23:20 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Если у тебя не RAC, то забей на эти сообщения или установи CRS_NOTIFICATION_LISTENER_NAME=OFF в LISTENER.ORA. SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 00:09 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
WassjaПолучил результат: файл orcl_ora_4996.trc В последних строчках получил описание ошибок:не туда смотришь: Сначала ищешь в трейсе строчку "Current cursor: ". Допустим, там будет "Current cursor: 18" Берешь это число и ищешь в трейсе строчку "Cursor#18" там ниже будет его дамп, в нем и найдешь в чем ошибка, если не можешь сам, то выложи сюда этот кусок ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 01:05 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
xtenderДопустим, там будет "Current cursor: 18"Интересное допущение. На этих версиях там непроговариваемо длинные числа. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 07:28 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Wassja, Выполните из под sysdba set serverout on declare VERSION VARCHAR2(100); COMPAT NUMBER; STMT VARCHAR2(100); COMPAT_LEVEL VARCHAR2(100); begin STMT := 'BEGIN SYS.DBMS_UTILITY.DB_VERSION(:ver,:compat); END;'; EXECUTE IMMEDIATE STMT USING OUT VERSION, OUT COMPAT_LEVEL; COMPAT := TO_NUMBER(SUBSTR(COMPAT_LEVEL, 1,INSTR(COMPAT_LEVEL, '.', 1, 2) - 1)); dbms_output.put_line('COMPAT_LEVEL: '||COMPAT_LEVEL); dbms_output.put_line('VERSION: '||VERSION); dbms_output.put_line('COMPAT: '||COMPAT); end; / Ошибка ORA-06502 будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 10:29 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
orac_list, запустил вашу программу. Получил ошибку. Малость подправил программу и запустил: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Получил вот такой результат: Код: plaintext 1. 2. 3. 4. 5.
Получается преобразование строки в число должно быть с запятой, а не с точкой. Наверное можно настроить наоборот, но возможно, что-нибудь еще отвалится... Или я что-то не понимаю? Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 11:45 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Wassja, Покажите что у вас в параметре compatible? Show parameter compat или select name,value from v$spparameter where name='compatible'; select name,value from v$parameter where name='compatible'; Настройки NLS select * from NLS_DATABASE_PARAMETERS; select * from NLS_INSTANCE_PARAMETERS; ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 12:12 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Wassjaorac_list, запустил вашу программу. Получил ошибку. Малость подправил программу и запустил: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Получил вот такой результат: Код: plaintext 1. 2. 3. 4. 5.
Получается преобразование строки в число должно быть с запятой, а не с точкой. Наверное можно настроить наоборот, но возможно, что-нибудь еще отвалится... Или я что-то не понимаю? Спасибо! Какую ошибку получили? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 12:13 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
xtender, попробовал сделать, как ты предлагаешь, но полезного ничего не нашел. Может ты сможешь тут разобраться... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 12:20 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
orac_listКакую ошибку получили? Ошибка старая: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 12:24 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
orac_listWassja, Покажите что у вас в параметре compatible? Show parameter compat или select name,value from v$spparameter where name='compatible'; select name,value from v$parameter where name='compatible'; Настройки NLS select * from NLS_DATABASE_PARAMETERS; select * from NLS_INSTANCE_PARAMETERS; Код: plaintext 1. 2. 3. 4. 5. 6.
Для NLS_NUMERIC_CHARACTERS - ".," NLS_LANGUAGE RUSSIANNLS_TERRITORY RUSSIANLS_SORT NLS_DATE_LANGUAGE NLS_DATE_FORMAT NLS_CURRENCY NLS_NUMERIC_CHARACTERS NLS_ISO_CURRENCY NLS_CALENDAR NLS_TIME_FORMAT NLS_TIMESTAMP_FORMAT NLS_TIME_TZ_FORMAT NLS_TIMESTAMP_TZ_FORMAT NLS_DUAL_CURRENCY NLS_COMP BINARYNLS_LENGTH_SEMANTICS BYTENLS_NCHAR_CONV_EXCP FALSE ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 12:33 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Wassja, Удалось воспроизвести alter session set NLS_NUMERIC_CHARACTERS=', '; declare VERSION VARCHAR2(100); COMPAT NUMBER; STMT VARCHAR2(100); COMPAT_LEVEL VARCHAR2(100); begin STMT := 'BEGIN SYS.DBMS_UTILITY.DB_VERSION(:ver,:compat); END;'; EXECUTE IMMEDIATE STMT USING OUT VERSION, OUT COMPAT_LEVEL; COMPAT := TO_NUMBER(SUBSTR(COMPAT_LEVEL, 1,INSTR(COMPAT_LEVEL, '.', 1, 2) - 1)); dbms_output.put_line('COMPAT_LEVEL: '||COMPAT_LEVEL); dbms_output.put_line('VERSION: '||VERSION); dbms_output.put_line('COMPAT: '||COMPAT); end; ERROR at line 1: ORA-06502: PL/SQL: numeric or value error: character to number conversion error ORA-06512: at line 9 http://www.sql.ru/forum/258743/to-number-and-nls-numeric-characters ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 12:40 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Wassja, Попробуйте так alter session set NLS_NUMERIC_CHARACTERS='.,'; exec SA_SYSDBA.create_policy('sss'); ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 12:45 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Wassja, Блин ну все понятно же в приведенном дампе: обратите внимание на замену литералов биндами и прочтите это: Oracle SQL Developer 17.3.0: Кривой биндинг переменных В общем либо используйте sqlplus либо установите параметр из той темы ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 14:39 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Elic, Это не 10046, а errorstack dump, в нем курсоры указываются так. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 14:40 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
xtenderWassja, Блин ну все понятно же в приведенном дампе: обратите внимание на замену литералов биндами и прочтите это: Oracle SQL Developer 17.3.0: Кривой биндинг переменных В общем либо используйте sqlplus либо установите параметр из той темы Невдупляю причем здесь замена литералов если ошибка происходит на ORA-06512: на "LBACSYS.LBAC_SYSDBA", line 132 --LBAC_SYSDBA-- 129 STMT := 'BEGIN SYS.DBMS_UTILITY.DB_VERSION(:ver,:compat); END;'; 130 EXECUTE IMMEDIATE STMT USING OUT VERSION, OUT COMPAT_LEVEL; 131 132 COMPAT := TO_NUMBER(SUBSTR(COMPAT_LEVEL, 1, 133 INSTR(COMPAT_LEVEL, '.', 1, 2) - 1)); И в sqlplus можно воспроизвести 20968760 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 14:48 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
xtenderWassja, Блин ну все понятно же в приведенном дампе: обратите внимание на замену литералов биндами и прочтите это: Oracle SQL Developer 17.3.0: Кривой биндинг переменных В общем либо используйте sqlplus либо установите параметр из той темыхотя я ошибся - надо было полный дамп дать, а так orac_list правильно ответил ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 14:53 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
orac_list, да, это я быстро глянул и не туда... а, так да, в начале темы все понятно было зы. а secureliterals все-таки лучше выключить, оно может приводить к таким же проблемам ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 14:56 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
orac_listWassja, Попробуйте так alter session set NLS_NUMERIC_CHARACTERS='.,'; exec SA_SYSDBA.create_policy('sss'); Помогло! Большое спасибо! Буду дальше настраивать OLS... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 15:20 |
|
Не создается policy в OLS (Oracle 12c)
|
|||
---|---|---|---|
#18+
Wassjaorac_listWassja, Попробуйте так alter session set NLS_NUMERIC_CHARACTERS='.,'; exec SA_SYSDBA.create_policy('sss'); Помогло! Большое спасибо! Буду дальше настраивать OLS... Хорошо. Возможно имеет смысл открыть SR на эту тему, похоже на баг. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2017, 15:32 |
|
|
start [/forum/topic.php?fid=52&msg=39554666&tid=1880466]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 138ms |
0 / 0 |