Как установить процедурную опцию в Oracle 11gr2

Я пытался создать пакеты PL/SQL и запустить процедуры для локальной установки Oracle 11gR2 на моем компьютере, и я продолжал получать ошибку ORA-00900. Основываясь на этой статье, похоже, что Procedural Option не был установлен.

Это вывод sqlplus, когда я вошел в систему:

C:\Users\NgCH>sqlplus

SQL*Plus: Release 11.2.0.1.0 Production on Thu Feb 14 13:11:34 2013

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

Enter user-name: system@orcl
Enter password:

Connected to:
Oracle Database 11g Release 11.2.0.1.0 - 64bit Production

SQL>

Как я могу установить его? Если мне нужно переустановить Oracle, какие параметры я должен выбрать в программе установки? Я выбрал Enterprise Edition, Desktop Class.

Спасибо.

Редактировать:

Это очень простой код пакета, который я пытался выполнить в DBeavor (64-разрядная версия) версии 2.0.6 для локальной базы данных Oracle с тонким подключением к Oracle:

CREATE OR REPLACE PACKAGE TEST AS

hello_world constant varchar(20) := 'hello world';

END TEST;

Ошибка от DBeavor:

Error occurred during SQL query execution

Reason:
SQL Error [900] [42000]: ORA-00900: invalid SQL statement

person ngch    schedule 14.02.2013    source источник
comment
StackOverflow предназначен для вопросов по программированию. Это принадлежит SuperUser, IMO.   -  person Piccolo    schedule 14.02.2013
comment
Я сомневаюсь, что процедурный вариант - это ваша проблема. Я никогда не слышал о таком варианте и не могу себе представить, зачем кому-то устанавливать Oracle без PL/SQL или почему такой вариант вообще может быть. Когда я искал фразу, первое совпадение я нашел в официальная документация подразумевает, что эта опция была удалена более 20 лет назад, в версии 7.1. Скорее всего, это синтаксическая ошибка, и вам нужно опубликовать соответствующий код.   -  person Jon Heller    schedule 14.02.2013
comment
Баннер SQL * Plus в этой ссылке в любом случае не упоминает PL/SQL. Вы можете убедиться, что у вас действительно установлен PL/SQL (и я не думаю, что его можно не иметь, так как он не указан как отдельный компонент в dba_registry и от него зависит так много внутренних вещей), запросив v$version вид. oerr просто говорит «Неверный оператор SQL» по крайней мере до 9i, хотя документы тогда еще упоминали процедурный вариант; с тех пор его вообще не было в списке.   -  person Alex Poole    schedule 14.02.2013
comment
Для будущих вопросов: вы всегда должны публиковать SQL, который вы запускаете, указывать инструмент, который вы используете для его запуска, и публиковать точное сообщение об ошибке, которое вы получаете.   -  person a_horse_with_no_name    schedule 16.02.2013


Ответы (2)


Я последовал совету в комментариях и узнал, что моя проблема вовсе не в установке базы данных Oracle.

Я использовал DBeaver при попытке запустить какой-то скрипт pl/sql, и по какой-то причине я не знаю, что это не удалось с ORA-00900. После публикации вопроса я запустил тот же скрипт в Toad для Oracle, и он работает без проблем. Запуск того же сценария в SQL Plus также работает нормально.

Я пока не знаю, что вызывает ошибку в DBeaver, но, по крайней мере, теперь я знаю, что код ошибки ORA-00900 не означает, что в моей базе данных отсутствует какая-либо функция Procedural Option. Оглядываясь назад, я, вероятно, должен был сначала протестировать свой скрипт в SQL Plus, прежде чем публиковать вопрос.

В любом случае, спасибо за комментарии, ребята, это действительно помогло мне.

person ngch    schedule 16.02.2013

DBeaver не может выполнять PL/SQL, поскольку они рассматривают его как специфичный для Oracle, каковым он и является. Это может быть реализовано в будущем.

person faqin ejet    schedule 25.02.2014