"Доступ запрещен" при настройке DBMS_XDB.SETHTTPORT
Я вошел как обычный пользователь в базу данных:
SQL> connect
Enter user-name: myusername
Enter passwort:
Connected.
А потом я попытался установить http-порт по умолчанию следующим образом:
SQL> Exec DBMS_XDB.SETHTTPPORT(3000);
Но я получил следующее сообщение об ошибке:
ERROR at line 1:
ORA-31050: Access denied
ORA-06512: at "XDB.DBMS_XDB", line 528
ORA-06512: at "XDB.DBMS_XDB", line 667
ORA-06512: at line 1
Что пошло не так? Возможно, потому что я не администратор? Но как добавить администратора?
1 ответ
Решение
Посмотри на это:
SQL> conn hr/hr
Connected.
SQL> exec dbms_xdb.sethttpport(3000);
BEGIN dbms_xdb.sethttpport(3000); END;
*
ERROR at line 1:
ORA-31050: Access denied
ORA-06512: at "XDB.DBMS_XDB", line 528
ORA-06512: at "XDB.DBMS_XDB", line 667
ORA-06512: at line 1
SQL> conn / as sysdba
Connected.
SQL> exec dbms_xdb.sethttpport(3000);
PL/SQL procedure successfully completed.
SQL> grant execute on dbms_xdb to hr
2 /
Grant succeeded.
SQL> conn hr/hr
Connected.
SQL> exec dbms_xdb.sethttpport(3002);
BEGIN dbms_xdb.sethttpport(3002); END;
*
ERROR at line 1:
ORA-31050: Access denied
ORA-06512: at "XDB.DBMS_XDB", line 528
ORA-06512: at "XDB.DBMS_XDB", line 667
ORA-06512: at line 1
SQL> conn / as sysdba
Connected.
SQL> grant sysdba to hr
2 /
Grant succeeded.
SQL> conn hr/hr as sysdba
Connected.
SQL> exec dbms_xdb.sethttpport(3003);
PL/SQL procedure successfully completed.
Таким образом, вы должны иметь привилегию SYSDBA для выполнения этого пакета.