08.04.2009 10:28
konvik
 
Ребята, помогите пожалуйста! Почему может возникнуть такая ошибка? база не открывается
08.04.2009 10:32
kadr
 
а откуда эта ошибка? из алерт-лога?
Сама Оракловая ошибка используется для трансляции ошибки PL|SQL и вообще-то не должна влиять на запуск и открытие базы
а вот народ поделился текстом с металинка
Цитата:
Curtesy of oracle metalink
=================




Problem Description:
====================

You are doing any of the following activities

1. Compiling PL/SQL
2. Running or executing a PL/SQL script or block
3. Connecting to SQL*Plus
4. Running "catproc.sql"

and receive:

PLS-213: Package standard not accessible
Cause: The PL/SQL compiler could not find package STANDARD in the current
Oracle database. To compile a program, PL/SQL needs package STANDARD.
Action: Check that package STANDARD is available in the current Oracle
database, then retry the operation.

--AND/OR--

ORA-06553: PLS-213: package STANDARD not accessible


You may also receive the following error:

ORA-01933: cannot create a stored object using privileges from a role
running catproc.sql.
Cause: An attempt was made to create a stored object using privileges
from a role. Stored objects cannot use privileges from roles.
Action: Grant the required privileges to the user directly.


Solution Description:
=====================

You need to verify the package STANDARD is valid and owned by SYS. Do the
following:

1) Check the status of the package STANDARD using:

connect sys/<password>
SQL> SELECT * FROM DBA_OBJECTS WHERE OWNER = 'SYS'
AND OBJECT_NAME = 'STANDARD';

If you find the status is 'INVALID' then:

SQL> ALTER PACKAGE STANDARD COMPILE;

You may also find that a number of other packages are in 'INVALID'
state. They should ALL be (re)compiled.

If you find STANDARD does not exist then:

Verify "$ORACLE_HOME/rdbms/admin/standard.sql" exists.

If this file does not exist then:

You probably did not install PL/SQL.
You must use the Installer to install PL/SQL.

If the file does exist then:

Verify that your ORACLE_SID is set correctly:

SQL> connect sys/<password>
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql


2) Verify that STANDARD is owned by SYS:

SQL> SELECT * FROM DBA_OBJECTS WHERE OBJECT_NAME = 'STANDARD';

If OWNER != SYS then catproc.sql was not correctly executed
by SYS. You will have to drop these packages and rerun catproc
as SYS.

3) Try running "catalog.sql" and "catproc.sql" while opening a spool file
to catch any errors that may have occurred.

Look for Errors like:

ORA-00604: error occurred at recursive SQL level 1
ORA-04031: unable to allocate 2192 bytes of shared memory ("shared pool,

","PROCEDURE$","KQLS heap","KQLS MEM BLOCK")

Create or Replace:
*
ORA-06553: PLS-213: package STANDARD not accessible
grant execute on STANDARD to public

ORA-04042: procedure, function, package, or package body does not exist

In this case, you would need to increase the "SHARED_POOL_SIZE" in the
"init<sid>.ora".

Then re-execute CATALOG and CATPROC.

Increasing "SHARED_POOL_SIZE" will allocate more resources and
allow the scripts to run successfully.


Explanation:
============

The PL/SQL compiler could not find package STANDARD in the current
Oracle database. To compile a program, PL/SQL needs package STANDARD.

Troubleshoot the PLS-213 by verifying the information above.
08.04.2009 11:56
OlegON
 
У меня было аналогичное у клиента, когда винт посыпался. Попытки перекомпиляции пошли лесом. Пришлось схему супермага экспортнуть в новую базу.
08.04.2009 12:02
konvik
 
Сделали SQL> ALTER PACKAGE STANDARD COMPILE;
Выдал ошибку The following error has occurred: ORA-04020: обнаружена внутр.блокировка при SUPERMAG.DBPASSWORDCHANGE
08.04.2009 12:05
OlegON
 
Надеюсь, всяческие сервисы Супермага остановлены?
08.04.2009 12:22
konvik
 
Цитата:
OlegON Надеюсь, всяческие сервисы Супермага остановлены?
остановлены :(
08.04.2009 13:53
deucel
 
Цитата:
konvik Сделали SQL> ALTER PACKAGE STANDARD COMPILE;
Выдал ошибку The following error has occurred: ORA-04020: обнаружена внутр.блокировка при SUPERMAG.DBPASSWORDCHANGE
На этот триггер оракл даже ругается при переносе таблиц в другое табличное пространство.

Код:
ALTER TRIGGER "SUPERMAG"."DBPASSWORDCHANGE" DISABLE
тебе в помощь.
:)
08.04.2009 16:36
konvik
 
Цитата:
deucel На этот триггер оракл даже ругается при переносе таблиц в другое табличное пространство.

Код:
ALTER TRIGGER "SUPERMAG"."DBPASSWORDCHANGE" DISABLE
тебе в помощь.
:)
Спасибо!!!! Работает!
08.04.2009 17:00
OlegON
 
Цитата:
konvik Спасибо!!!! Работает!
Чтобы не искать битые объекты методом тыка:
Цитата:
select owner||'.'||OBJECT_NAME from dba_objects where status='INVALID'
08.04.2009 20:34
konvik
 
Цитата:
OlegON Чтобы не искать битые объекты методом тыка:
Да, invalid нашли сразу. Он просто не хотел компилироваться. Триггер помог. Хотелось бы знать - почему он вдруг побился? Что произойти могло?
Часовой пояс GMT +3, время: 22:58.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.