ora 01012 not logged on что это
Исправление: Появляется сообщение об ошибке «ORA-01012» при подключении к базе данных Oracle с помощью MSDAORA
Симптомы
Подключение к базе данных Oracle с помощью поставщика Microsoft OLE DB для Oracle (MSDAORA), а затем завершить подключение на стороне сервера. При открытии нового подключения к базе данных Oracle из приложения появляется следующее сообщение об ошибке исключения:
System.Data.OleDb.OleDbException: Неизвестная ошибка
ORA-01012: не вошел в систему
Причина
При завершении подключения к базе данных Oracle на стороне сервера при использовании MSDAORA неработающие подключение возвращается в пул подключений. Код пула подключения неправильно взаимодействует со свойством ResetConnection MSDAORA. Если это свойство не поддерживается поставщиком, код пула неправильно интерпретирует, что сброс подключения, и что подключение является правильной. Когда клиентский код открывает новое соединение, могут получить физический разрыв соединения, который был возвращен в пул подключений. Таким образом появляется сообщение об ошибке, описанное в разделе «Проблема».
Решение
Сведения об исправлении
Исправление от корпорации Майкрософт доступно. Тем не менее он предназначен только для устранения проблемы, описанной в этой статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка. Это исправление может проходить дополнительное тестирование. Таким образом Если вы не подвержены серьезно эту проблему, рекомендуется дождаться следующего пакета обновления, содержащего это исправление.
Для немедленного решения этой проблемы обратитесь в службу поддержки пользователей Майкрософт для получения исправления. Полный список телефонов службы поддержки клиентов корпорации Майкрософт и сведения о стоимости поддержки посетите следующий веб-сайт корпорации Майкрософт:
http://support.microsoft.com/contactus/?ws=supportПримечание. В особых случаях оплата, предусмотренная за обращение в службу поддержки может быть отменена, если специалист службы технической поддержки Майкрософт определит, что обновление будет решением проблемы. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.
Сведения о файлах
Английская версия данного исправления содержит атрибуты файла (или более поздние атрибуты файлов), приведенные в следующей таблице. Дата и время для этих файлов указаны в формате общего скоординированного времени (UTC). При просмотре сведений о файле, он преобразуется в локальное время. Чтобы узнать разницу между временем по Гринвичу и местным временем, откройте вкладку часовой пояс «Дата и время» панели управления.
Компоненты доступа к данным Microsoft (MDAC) 2.8
Компоненты MDAC 2.7 Пакет обновления 1
Это исправление доступно как часть накопительный пакет исправлений. При получении этого исправления от служб поддержки продуктов Майкрософт, номер статьи, включенного в пакет исправлений будет 839801 для компонентов MDAC 2.8 или 836799 для MDAC 2.7 с пакетом обновления 1. Дополнительные сведения см. ниже статьи базы знаний Майкрософт:
ИСПРАВИТЬ 839801 : исправления для компонентов MDAC 2.8
КОМПОНЕНТЫ MDAC 2.7 С ПАКЕТОМ ОБНОВЛЕНИЯ 1
ИСПРАВИТЬ 836799 : исправления доступны для Пакет обновления 1 для MDAC 2.7
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе «Относится к».
Дополнительные сведения
Действия по воспроизведению проблемы
В области Типы проектоввыберите Проекты Visual Basicи в списке Шаблонывыберите Консольное приложение.
В поле имя введите
MyApp, а затем нажмите кнопку ОК. По умолчанию создается файл Module1.vb.
Добавьте следующий код в начало:
Процедура Mainдобавьте следующий код:
Примечание. Измените строку подключения в соответствии с вашей средой.
В меню Построение выберите команду Построить решение.
В меню Отладка выберите команду
Для запуска. Можно увидеть, что команда отображается в окне консоли.
В Oracle SQL * Plus, выполнить команду, которая отображается в окне консоли.
Нажмите клавишу ВВОД. В окне консоли отображается исключение, описанное в разделе «Проблема».
Ссылки
Дополнительные сведения о поставщик Microsoft OLE DB для Oracle посетите следующий веб-узел Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/ms810685.aspxДля получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
Описание 824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт
Продукты независимых производителей, обсуждаемые в этой статье, производятся компаниями, независимыми от корпорации Майкрософт. Корпорация Майкрософт не дает никаких гарантий, явных или подразумеваемых, относительно производительности или надежности этих продуктов.
ORA-01012: Not Logged On Process ID remote connection (Doc ID 1641869.1)
Last updated on AUGUST 07, 2020
Applies to:
Symptoms
Example messages in the database alert log file
Tue Mar 18 16:22:02 2014
Error 28 trapped in 2PC on transaction 77.4.382071. Cleaning up.
Error stack returned to user:
ORA-02050: transaction 77.4.382071 rolled back, some remote DBs may be in-doubt
ORA-00028: your session has been killed
ORA-02063: preceding line from DBLINK_NAME
Cause
To view full details, sign in with your My Oracle Support account.
Don’t have a My Oracle Support account? Click to get started!
My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.
Oracle offers a comprehensive and fully integrated stack of cloud applications and platform services. For more information about Oracle (NYSE:ORCL), visit oracle.com. пїЅ Oracle | Contact and Chat | Support | Communities | Connect with us | |
|
| Legal Notices | Terms of Use
FIX: You receive an «ORA-01012» error message when you connect to an Oracle database by using MSDAORA
Symptoms
You connect to an Oracle database by using the Microsoft OLE DB Provider for Oracle (MSDAORA), and then you end the connection on the server side. When you open a new connection to the Oracle database from your application, you receive the following exception error message:
System.Data.OleDb.OleDbException: Unspecified error
ORA-01012: not logged on
Cause
When you end the connection to the Oracle database on the server side while using MSDAORA, the broken connection is returned to the connection pool. The connection pooling code incorrectly interacts with the ResetConnection property of MSDAORA. When this property is not supported by the provider, the pooling code incorrectly interprets that the connection is reset, and that the connection is a valid one. When the client code opens a new connection, the broken connection that was returned to the connection pool may be retrieved. Therefore, you receive the error message that is mentioned in the «Symptoms» section.
Resolution
Hotfix information
A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that is described in this article. Apply it only to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next service pack that contains this hotfix.
To resolve this problem immediately, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:
http://support.microsoft.com/contactus/?ws=supportNote In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.
File information
The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.
Microsoft Data Access Components (MDAC) 2.8
MDAC 2.7 Service Pack 1
This hotfix is available as part of a cumulative hotfix package. When you receive this hotfix from Microsoft Product Support Services, the article number that is listed in the hotfix package will be 839801 for MDAC 2.8 or 836799 for MDAC 2.7 SP1. For more information, see the following article in the Microsoft Knowledge Base:
839801 FIX: Hotfixes are available for MDAC 2.8
836799 FIX: Hotfixes are available for MDAC 2.7 Service Pack 1
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the «Applies to» section.
More Information
Steps to reproduce the behavior
On the File menu, point to
New, and then click Project. The New Project dialog box appears.
Under Project Types, click Visual Basic Projects, and then click Console Applicationunder Templates.
In the Name box, type
MyApp, and then click OK. By default, the Module1.vb file is created.
Add the following code at the top:
Add the following code to the Mainprocedure:
Note Modify the connection string according to your environment.
On the Build menu, click Build Solution.
On the Debug menu, click
Start. You see that a command is displayed in the console window.
In Oracle SQL*Plus, run the command that is displayed in the console window.
Press ENTER. In the console window, you see the exception that is mentioned in the «Symptoms» section.
References
For more information about the Microsoft OLE DB Provider for Oracle, visit the following Microsoft Developer Network (MSDN) Web site:
http://msdn2.microsoft.com/en-us/library/ms810685.aspx For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, regarding the performance or reliability of these products.
Ora 01012 not logged on что это
А перед этой ошибкой случайно ORA-00600 не вылезает?
| От: | Аноним |
Дата: | 22.02.08 13:57 | |
Оценка: |
Здравствуйте, Formidable, Вы писали:
F>Здравствуйте, Аноним, Вы писали:
А>>Почему возникает эта ошибка при попытке выполнить запрос SQL? Коннекшн к базе есть, сессию видно при мониторинге. В чем может быть причина?
А>>Использую Pro-C.
F>Это происходит, от того что когда выполняется очередной вызов, соединение с Oracle потерянно. А почему оно теряется — это в форум телепатов, возможно там ребята могут угадывать тексты запросов и программ на расстоянии.
Не теряется оно. 100%
| От: | Аноним |
Дата: | 22.02.08 14:30 | |
Оценка: |
| От: | Formidable |
Дата: | 22.02.08 15:22 | |
Оценка: |
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Formidable, Вы писали:
А>Не теряется оно. 100%
Ну ладно, сделаю вид что я телепат .
На практике происходит вот что (по крайне мере у себя это встречал) — вылетает ORA-0600 (правильно говорит LuciferArh)с разрывом сессии. Но программа воспринимает как нормальную ошибку, и пытается сделать, допустим, Rollback. Вот тут-то ваше ORA-01012 и вылезает.
А то что сессию видно при мониторинге — так это возможно Oracle еще не распознал что она мертвая.
Но это все на уровне домашней телепатии, возможно у тебя там просто идет обращение к другой сессии или еще фигня какая
| От: | LuciferArh |
Дата: | 22.02.08 15:54 | |
Оценка: |
Тогда непонятно. Эта ошибка, которую ты описал, вылетает исключительно при мертвой сессии. Oracle может еще держать ее SID в SESSION, но самой сессии уже нет. Надо смотреть детальный лог. Соответственно с запросом, который сие вызывает. Так что, если ты представишь минимальный тест, при котором ошибка будет воспроизводима, то и рекомендации будут. А пока — ищи ORA-00600 в логах сервера.
| От: | Аноним |
Дата: | 22.02.08 16:09 | |
Оценка: |
| От: | LuciferArh |
Дата: | 22.02.08 16:15 | |
Оценка: |
А вот с этого места и надо было начинать. К прилинкованной базе доступ у пользователя есть? Какой доступ? Если из SQL+ выполнить любой запрос под этим пользователем — запрос отрабатывает или отваливается с ошибкой? Наконец, строку, которой ты создаешь линк на другую базу. И вообще — между серваками точно есть коннект? Или базы на одной машине?
В общем, максимум информации. Телепатов тут дейтствительно нет.
| От: | Аноним |
Дата: | 22.02.08 16:46 | |
Оценка: |
db01 — имя базы (алиас), прописанное в tnsnames.
Вместо user, passwd, dbPkg, storedProc естественно реальные имена, для тестовых целей вбитые непосредственно в код.
Написал всесто CREATE тестовый SELECT в этом месте — выдало ошибку ‘No such table or view in database’ (такой таблицы в этой базе действительно нет), так что connection точно есть.
| От: | MasterZiv |
Дата: | 25.02.08 17:27 | |
Оценка: |
Formidable пишет:
> Но это все на уровне домашней телепатии, возможно у тебя там просто идет
> обращение к другой сессии или еще фигня какая
Startup Fails With ORA-01012: Not Logged On
SQL*Plus: Release 11.2.0.4.0 Production on Thu May 24 08:03:07 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
ERROR:
ORA-12520: TNS:listener could not find available handler for requested type of
server
Enter user-name: sys
Enter password:
ERROR:
ORA-00020: maximum number of processes (1500) exceeded
Enter user-name:
ERROR:
ORA-01017: invalid username/password; logon denied
SP2-0157: unable to CONNECT to ORACLE after 3 attempts, exiting SQL*Plus
[oracle@mezon01
SQL*Plus: Release 11.2.0.4.0 Production on Thu May 24 08:04:06 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> show parameter sga_t;
ORA-01012: not logged on
Process ID: 0
Session ID: 0 Serial number: 0
SQL> startup;
ORA-01012: not logged on
SQL> shutdown immediate;
ORA-01012: not logged on
SQL> show parameter sga_max;
ORA-01012: not logged on
Process ID: 0
Session ID: 0 Serial number: 0
SQL> EXİT
SP2-0042: unknown command “EXİT” – rest of line ignored.
SQL> exit
Disconnected from ORACLE
[oracle@mezon01
]$ sysresv
IPC Resources for ORACLE_SID “IIRDB” :
Shared Memory:
ID KEY
100270098 0x00000000
100302867 0x00000000
100335643 0x14203f64
Semaphores:
ID KEY
136445992 0xf1e96e54
136478764 0xf1e96e55
136511533 0xf1e96e56
136544302 0xf1e96e57
136577071 0xf1e96e58
136609840 0xf1e96e59
136642609 0xf1e96e5a
136675378 0xf1e96e5b
136708147 0xf1e96e5c
Oracle Instance alive for sid “IIRDB”
[oracle@mezon01
]$
Changes
Oracle has been forcefully shutdown at OS level or crashed.
CAUSE
An orphaned shared memory segment belonging to the ORACLE_SID still exists from a previous instance startup.
shows no processes but with ORACLE_SID set the Oracle ‘sysresv’ utility shows a shared memory segment for a non-existing instance, e.g.
IPC Resources for ORACLE_SID “IIRDB” :
Shared Memory:
ID KEY
100270098 0x00000000
100302867 0x00000000
100335643 0x14203f64
Semaphores:
ID KEY
No semaphore resources used
Oracle Instance not alive for sid “IIRDB”
Solution
On OS level, remove the orphaned shared memory segment using:
Connected to an idle instance.
SQL> startup Oracle instance started
Total System Global Area 10689474560 bytes
Fixed Size 2237776 bytes
Variable Size 6375344816 bytes
Database Buffers 4294967296 bytes
Redo Buffers 16924672 bytes
Oracle Instance Started.
Oracle Database Opened.