Oracle REST Data Service apex_pu

Я попытался установить Oracle REST Data Service, и я получил эту ошибку: (на java -jar ords.war install)

SEVERE: The pool named: apex_pu is not correctly configured, 
error: ORA-01017: invalid username/password; logon denied

oracle.dbtools.common.jdbc.ConnectionPoolException: 
The pool named: apex_pu is not correctly configured, 
error: ORA-01017: invalid username/password; logon denied

        at oracle.dbtools.common.jdbc.ConnectionPoolException.badConfiguration(ConnectionPoolException.java:88)
        at oracle.dbtools.common.config.db.DatabasePools.badConfiguration(DatabasePools.java:198)

6 ответов

Упомянутый пул "apex_pu" содержится в файле conf/apex_pu.xml. Этот файл предназначен для ORDS_PUBLIC_USER.

Ошибка может быть по одной из двух причин.

1 - пароль аккаунта ORDS_PUBLIC_USER изменен или срок его действия истек. Измените его и отредактируйте файл apex_pu.xml и поместите! перед паролем. Это запустит ORDS для кодирования пароля при следующем запуске.

<entry key="db.password">!NewPASSWORD</entry>

2 - БД также выдает эту ошибку, если разрешение прокси было отозвано пользователем для выполнения вызова REST как. Если это произошло, грант может быть переиздан со следующими

alter user USERNAME grant connect through ords_public_user

Я решил проблему, изменив "Табличное пространство по умолчанию" для пользователя APEX_PUBLIC_USER.

java -jar ords.war uninstall 

тогда снова

java -jar ords.war install

Как было отмечено Райсом выше, пользователь ORDS_PUBLIC_USER должен быть освобожден от истечения срока действия. При работе с БД контейнера этот пользователь может существовать как в БД контейнера, так и в БД ROOT. Вы должны проверить корневую БД, и там не должно быть истечения срока ее действия.

Переустановка, предложенная Cioanta, не является надежным решением. Основная причина ошибки заключается в том, что ORDS_PUBLIC_USER назначен профилю пользователя DEFAULT и, следовательно, его пароль истекает через 180 дней. Это должно быть дано для неинтерактивного пользователя службы подключения, даже если это значение по умолчанию после сценария настройки oracle.

Чтобы избежать проблем с повторением каждые 180 дней, сделайте следующее:

select profile from DBA_USERS where username = 'ORDS_PUBLIC_USER';
--> DEFAULT
select * from V$PARAMETER where name like 'common_user_prefix';
-- > C##

CREATE PROFILE C##UNLIMITED_PWD_EXPIRATION LIMIT
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
CONNECT_TIME UNLIMITED
IDLE_TIME UNLIMITED
SESSIONS_PER_USER UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL UNLIMITED
PRIVATE_SGA UNLIMITED
COMPOSITE_LIMIT UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_GRACE_TIME DEFAULT
PASSWORD_REUSE_MAX UNLIMITED
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_LOCK_TIME 1
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION_11G;

-- optional, ist hier ja schon gesetzt
alter profile <User_profile> limit password_life_time UNLIMITED;

ALTER USER ORDS_PUBLIC_USER PROFILE C##UNLIMITED_PWD_EXPIRATION;
SELECT username, account_status, created, lock_date, expiry_date FROM dba_users  where username = 'ORDS_PUBLIC_USER';
-- no expiration date set nomore 

После того, как вы установили Oracle REST Data Services, вы должны запустить скрипт @apex_rest_config.sql, чтобы создать учетные записи APEX_LISTENER и APEX_REST_PUBLIC_USER.

Измените имя пользователя, пароль в файле apex_pu.xml на значения в apex.xml.

Вам необходимо изменить пароль APEX_PUBLIC_USER:

java -jar ords.war user APEX_PUBLIC_USER

И повторно введите пароль.

Новый ORDS 3 не обязательно нуждается в APEX для работы.

ORDS 3 может подключаться к своим собственным схемам без использования APEX, он также может подключаться к базе данных Oracle NOSQL: Oracle REST включает базы данных Oracle и Oracle NoSQL.

По сути, теперь у вас есть два способа настроить ORDS

  1. С APEX

    настройка java -jar ords.war

Скажи нет (2) для verify/install Oracle REST Data Services schema

Скажи да (1) для PL/SQL Gateway (APEX, вы все еще получаете REST через apex_rest_public_user)

Для этого используются публичные пользователи APEX. (APEX_PUBLIC_USER, APEX_LISTENER, APEX_REST_PUBLIC_USER)

  1. Oracle REST Data сервисы

    java -jar ords.war установить

Это создает схемы ORDS (ORDS_PUBLIC_USER, ORDS_METADATA)

java -jar ords.war setup

Скажи Да (1) для verify/install Oracle REST Data Services schema

Скажи нет (2) для PL/SQL Gateway (Апекс)

Вы, вероятно, даете пароль APEX пользователю ORDS.

Надеюсь, это проясняет.

Другие вопросы по тегам