Вопросы и ответы

Если у вас есть вопросы, полезные материалы или какие-либо предложения для автора блога — Вы можете написать и отправить их тут.

 

Задайте свой вопрос

Я не спамер: введите суму 0+2


Список заданных вопросов

Hевозможно подсоединиться к база данных: conn /as sysdba

Здравствуйте. Подскажите, пожалуйста, где проблема? На новом сервере невозможно подсоединиться к базе данных: conn /as sysdba. В данном случае происходит попытка экспортировать данные в dmp: Export: Release 9.2.0.6.0 - Production on Пнд Апр 7 18:50:32 2008 Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

EXP-00056: ORACLE выдала ошибку 12154 ORA-12154: TNS:невозможно разрешить имя службы EXP-00000: Экспорт данных завершился неудачно.

Под явно указанными пользователями sys as sysdba, system и другими пользователями экспорт происходит. Где искать причину? Заранее благодарю.

Надеюсь, подключиться к база как conn /as sysdba вы пытаетесь на самом сервере?

Чаще всего проблему нужно искать в двух направлениях:

  1. в C:\oracle\ora92\network\ADMIN\sqlnet.ora должно быть:
    SQLNET.AUTHENTICATION_SERVICES = (NONE)
  2. На сервер вы должны были зайти пользователем которым инсталировали оракл или тем пользователем, который включен в группу ORA_DBA и группу администраторов.

Проверьте эти 2 пункта и , думаю, проблема будет разрешена

Успехов!

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

Есть тестовая БД Оракл 10 на ноутбуке, ОС Windows XP. 2 базы данных - cf и sdb.

Первой создавала БД cf, и именно cf прописан как ORACLE_SID в Виндоузе. Когда запускаю ОС, Оракл автоматически стартует, и обе БД в рабочем состоянии.

Проблема возникла в следующем: на БД sdb мне нужно поменять режим архивирования на поддержку ARCHIVELOG, т.е. выполнить alter database sdb archivelog; Но выполнить эту команду я могу только когда БД sdb смонтирована, но не открыта.

Пытаюсь соединиться через SQL*: если БД sdb выключена, то на команду connect sys/passwd@sdb_localhost AS SYSDBA SQL* ругается, что TNS ничего не знает о такой службе (sdb_localhost), соединяет только если БД SDB уже работает.

ТО есть получается, что с БД не по умолчанию SDB я смогу соединиться, только если прописать ORACLE_SID в SDB? Заранее большое спасибо за помощь! С уважением, Анна

Первым делом откройте на Вашем рабочем месте файл tnsnames.ora. В нем внимательно разберитесь к какой базе данных какая строка конекта.

Например, у мене в этом файле есть такие строки :


STK.DPA.MY_DOMAIN =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOST_SERVER)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME =STK.DPA.MY_DOMAIN )
   )
 )
 

Поэтому пишу так

sqlplusw /nolog
conn sys/пароль@STK.DPA.MY_DOMAIN as sysdba

Аналогично для другой базы данных. И не важно на сервере какой ORACLE_SID. Так у меня на одном сервере 3 базы данных. Не важно, какая из них первая ставилась.

При одном условии важно какой ORACLE_SID — это когда вы на самом сервере подключаетесь как conn / as sysdba

Если Вы на самом сервере работаете, и не используете conn / as sysdba, то действия аналогичны работе на клиенте. начинайте с tnsnames.ora

Успехов!

Получаю ошибку ORA-12514

База нахоится в Shutdown. В sqlplus набираю

connect sys/password@SID_BASE as sysdba

Выходит ошибка ORA-12514: TNS:прослушиватель в данный момент не имеет данных о службе, запрашиваемой в дескрипторе соединения

Если сначала пишу SET ORACLE_SID=SID_BASE потом connect sys/password as sysdba, соединяет с простаивающим экземпляром как положено. Отсоединяюсь, снова набираю connect sys/password@SID_BASE as sysdba. Выходит ошибка ORA-12514: TNS

Windows Server 2003 SP2, две базы на одном сервере. Сервер не в домене. Что может быть?

Вы попробуйте у себя:

  1. прописать ORACLE_SID в системных переменных среды;
  2. global_name сотворить - alter database rename global_name to ....;
  3. global_name должно быть таким как в листенере;
  4. это же имя прописано в tnsnames.ora как SERVICE_NAME.

Как удалить процесс в оракле?

Сессии удаляются

alter system kill session 'SESSION_ID,serial#'

Значения SESSION_ID и serial# возьмите из запроса: select * from v$session.

Процессы из ОС удаляются так:
orakill SID_ВАШЕГО ЭКЗЕМПЛЯРА SPID, где SPID можно получить из запроса: select SPID,OSUSER,B.PROGRAM from v$process a,v$session b where a.addr=b.Paddr

ora-01113: file 1 needs media recovery

Подскажите пожалуйста что тут нужно делать:


ora-01113: file 1 needs media recovery
ora-01110: data file 1: 'C:\database\system.dat'

Если база не очень большая,то можно попробовать: recover automatic database

Получаем ошибку ORA-24778

Наша система написана на .NET 2, база данных Oracle 10.2.3. Пока работаем с одним сервером Oracle все в порядке.

При обращении к другому серверу с помощью database link в некоторых случаях (не всегда!)получаем ошибку ORA-24778.

Если вы скажете, что можете попробовать помочь, я опишу все более подробно. Заранее большое спасибо!

Сразу скажу, что мне в работе ошибка ORA-24778 никогда не встречалась. Поэтому практического совета дать не могу. Вы уже наверняка прочитали все, что в интернете есть поэтому поводу. Из:

Cause    The migratable transaction tried to access a remote database
when the session itself had opened connections to remote database(s).
Action   Close the connection(s) in the session and then try to access
the remote database from the migratable transaction. If the error
still occurs, contact Oracle customer support.
я себе представляю, что скорее всего ваша система открыла сессию на сервере. А затем транзакция в этой сессии пробует получить данные с того же сервера используя database link.

Предполагаю, что нужно рыться в вашей системе, а не в оракле. Если, конечно, database link работает безупречно.

Успехов!

При разворачивании БД из RMAN-копии, возникла ошибка

При разворачивании БД из RMAN-копии, возникла ошибка. Файлы *.DBF были предварительно удалены. Проделал следующее.

Запускаем sqlplusw:
Выполнить=>Run sqlplusw /nolog
Присоединяемся к БД и запускаем без монтирования:

SQL> connect sys@dbname as sysdba
Enter password: ****************
Connected.
SQL> startup nomount;
SQL>exit;

Запускаем rman:
Выполнить=>Run rman
Задаём идентификатор экземпляра

RMAN> set dbid=123456789;
executing command: SET DBID

Присоединяемся к БД

RMAN> connect target sys@dbname
target database Password:
connected to target database:  (not mounted)

Создаем контрольный файл для вновь создаваемой базы данных:

RMAN> run {
2> restore controlfile from 'G:\backup\bcp_ctrl_dbname_c-563882817-20080202-00';
3> }

Монтируем БД, и запускаем восстановление файлов базы данных:

RMAN> run {
2> mount database;
3> }

RMAN> run {
2> restore database;
3> }

RMAN> run {
2> recover database until sequence 0000 thread 1;
3> }

sequence был указан верный. 
До этого момента всё прошло без ошибок
Далее:

Из SQL провели команду: alter database open reset logs;
Выдало ошибку: ORA-03113

Попытались провести эту команду в RMAN: 

RMAN> set dbid=563882817;

executing command: SET DBID

RMAN> connect target sys@dbname

target database Password:
connected to target database (not started)

RMAN> alter database open resetlogs;

using target database controlfile instead of recovery catalog
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 09/29/2008 10:37:58
RMAN-06403: could not obtain a fully authorized session
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist

RMAN>

На другой базе разворачивал также, но команду "alter database open reset logs;" проводил в RMANе - просто выкинуло.

Имя БД заменено везде на DBNAME.

Ответить не получилось сразу. Вы уже, наверняка, разобрались и у вас все вышло. Просто несколько моих замечаний по поводу вашего вопроса. Букв очень много, а сути вопроса не видно: какую задачу Вы решали — построение стендбая или восстановление базы? Какая версия оракла, какая операционная система? Если Вас еще волнует проблема, то сформулируйте вопрос лаконично и четко, а то такое количество букв, как в этом вопросе, шокирует и сути не уловить.

Для тех, у кого аналогичная проблема. Админ, задавший этот вопрос, самостоятельно решил проблему:

Я разобрался. Проблема была в том, что нужно было перевести БД в режим maximize performance. Делал так:
SQL> alter database set standby database to maximize performance;
Потом пошло всё отлично.

Что делать, если удален system01.dbf

У меня большая проблема. Удален system01.dbf меры по восстановлению с винта уже все опробованы и не принесли результата. Есть дамп двух годичной давности. Есть ли у меня какие нибудь шансы вытащить данные?

Шанс есть - если Вы сохранили ВСЕ архивные файлы, созданные базой после последнего бекапа. В Вашем случае - за два года. Админ должен гарантировать восстановление базы данных, поэтому должен вовремя принимать меры.

После отсновки и запуска Oracle! Возникла ошибка при соединении удаленных и локальныз пользователей. ORA-01034 и ORA-27101. Подключился как sysdba и запустил базу написав startup. Но почему после пере

После отсновки и запуска Oracle! Возникла ошибка при соединении удаленных и локальныз пользователей. ORA-01034 и ORA-27101. Подключился как sysdba и запустил базу написав startup. Но почему после перезапуска, база не открылась. Подскажите пожалуйста?

Проверяем ORACLE_HOME, SID, TNSNAMES.ORA,LISTENER.ORA А затем разбираемся с oradim.exe Но самое первое, что нужно сделать - посмотреть в alert.log

SQL> CREATE SPFILE FROM PFILE; после этой команды мне пишется что : невозможно создать spfile, уже используемый данным экземпляромпожалуйста помогите, в чем моя ошибка, и что я недопоняла??

startup pfile= тогда можно CREATE SPFILE FROM PFILE; А если было startup, то тогда только CREATE PFILE FROM SPFILE; Надеюсь, Вы понимаете что хотите сделать.

Установка Oracle 9i проходит до момента начала создания экземпляра базы данных. После того, как бегунок копирования файлов показал 100% появляется сообщение "Прекращена работа JREW.exe", после чего пр

Установка Oracle 9i проходит до момента начала создания экземпляра базы данных. После того, как бегунок копирования файлов показал 100% появляется сообщение "Прекращена работа JREW.exe", после чего процесс установки приходится прекратить. Сервер - Core 2 Duo, OC Vista. Инсталяцию запускаю как администратор. Подскажите пожалуйста, в чем тут дело? Ставится ли Oracle сервер под Висту в принципе? Может быть нужна более новая версия Oracle?

Мне не приходилось работать с такой ОС. Для Red Hat Enterprise Linux AS release 4 (Nahant Update 4) 2.6.9 42.ELlargesmp (64-bit), платформа x86_64 мы искали соответствующих оракл. Что можно можно посоветовать: поставить сначала только софт. Затем сгенерировать скрипты для создания базы. И последовательно их выполнять. Так, возможно, найдете причину своих проблем.

Подскажите, после установки патча на oracle 9.2.0.7 перестали автоматически запускаться базы, приходится каждый раз в Enerprise Manager Console делать старт базе, как сделать автоматический старт баз

Подскажите, после установки патча на oracle 9.2.0.7 перестали автоматически запускаться базы, приходится каждый раз в Enerprise Manager Console делать старт базе, как сделать автоматический старт баз в самом oracle?

Проверьте установлен ли у вас автостарт базы. Изучите сообщения в alert.log. Проверьте ORACLE_HOME, SID, TNSNAMES.ORA,LISTENER.ORA,PWD.ora.

странная ситуация. проблема оракла или нет?оракл 9.2 , есть клиентская прога, при вводе неправильного пароля выдает ошибку, при вводе правильного виснет. машины xp sp2, sp3. т.е. разные. коннект раб

странная ситуация. проблема оракла или нет? оракл 9.2 , есть клиентская прога, при вводе неправильного пароля выдает ошибку, при вводе правильного виснет. машины xp sp2, sp3. т.е. разные. коннект работает.

Сложно что-то конкретное сказать. Мои действия в аналогичной ситуации: на клиенте tnsping.Если проходит, то подключиться к схеме пользователя с помощью sqlplus. Попробовать сделать несколько выборок из основных таблиц. Выполнить анализ схемы. Если tnsping не проходит, то посмотреть настройки в tnsnames.ora, sqlnet.ora. Если все нормально с клиентом, то начинаем разбираться с сервером. Просматриваем alert.log. Подключаемся как sysdba и разбираемся с сессией,запросами.

Пытаюсь потушить экземпляр нажав на кнопку shutdown выпадает эта ошибка в броузер. После перезагрузки этой проблемы нет. (oracle 10g)В чем может быть проблема? 500 Internal Server Error

Пытаюсь потушить экземпляр нажав на кнопку shutdown выпадает эта ошибка в броузер. После перезагрузки этой проблемы нет. (oracle 10g) В чем может быть проблема? 500 Internal Server Error java.lang.NullPointerException at oracle.sysman.emo.adm.instance.changeState.ChangeStateObject.setDbUserPassword(ChangeStateObject.java:335) at oracle.sysman.emo.adm.instance.changeState.ChangeStateObject.setSecretPassword(ChangeStateObject.java:1971) at oracle.sysman.eml.creds.CredsUtil.loadCreds(CredsUtil.java:1223) at oracle.sysman.emSDK.creds.CredsBean.loadCreds(CredsBean.java:544) at oracle.sysman.emSDK.creds.DBCredsBean.loadCreds(DBCredsBean.java:260) at oracle.sysman.emSDK.creds.DBComboCredsBean.loadCreds(DBComboCredsBean.java:208) at oracle.sysman.emSDK.creds.CredsBean.initCreds(CredsBean.java:118) at oracle.sysman.emSDK.creds.DBCredsBean.initCreds(DBCredsBean.java:91) at oracle.sysman.db.adm.inst.ChangeStateController.getChangeStateObject(ChangeStateController.java:385) at oracle.sysman.db.adm.inst.ChangeStateController.getBean(ChangeStateController.java:342) at oracle.sysman.db.adm.inst.ChangeStateController.getOperationsPage(ChangeStateController.java:168) at oracle.sysman.db.adm.inst.ChangeStateController.getDefaultPage(ChangeStateController.java:292) at oracle.sysman.db.adm.inst.ChangeStateController.onEvent(ChangeStateController.java:437) at oracle.sysman.db.adm.DBController.handleEvent(DBController.java:2163) at oracle.sysman.emSDK.svlt.PageHandler.handleRequest(PageHandler.java:376) at oracle.sysman.db.adm.DBControllerResolver.handleRequest(DBControllerResolver.java:115) at oracle.sysman.emSDK.svlt.EMServlet.myDoGet(EMServlet.java:688) at oracle.sysman.emSDK.svlt.EMServlet.doGet(EMServlet.java:291) at oracle.sysman.eml.app.Console.doGet(Console.java:246) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65) at oracle.sysman.emSDK.svlt.EMRedirectFilter.doFilter(EMRedirectFilter.java:101) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16) at oracle.sysman.db.adm.inst.HandleRepDownFilter.doFilter(HandleRepDownFilter.java:131) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20) at oracle.sysman.eml.app.ContextInitFilter.doFilter(ContextInitFilter.java:223) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:600) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:317) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:270) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:112) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186) at java.lang.Thread.run(Thread.java:534)

1. проверить пароль на ОС и на sys. 2. переконфигурировать DBConsole - \bin\emca.bat с соответствующими параметрами. 3. удалить и создать заново листенер.

TEMP размером в 8 гигов - полный. Сортировки скромные. Как лучше решить эту проблему?

В вопросе мало информации. Почему Вы решили, что полный? как Вы это увидели? Получаете ошибку? Ответ будет тоже расплывчатым. Обычно, если оперативной памяти достаточно, то проблем с TEMP не возникает. Почитайте о PGA. У нас на блоге тоже есть информация. например, здесь и здесь. Ключ к решению Вашей проблемы в настройке PGA.

Standby перестал накатывать архивы, на боевом сервере в алерте следующее:Tue Nov 25 17:00:01 2008ARC0: Beginning to archive log# 1 seq# 4946ARC0: Completed archiving log# 1 seq# 4946Wed Nov

Standby перестал накатывать архивы, на боевом сервере в алерте следующее: Tue Nov 25 17:00:01 2008 ARC0: Beginning to archive log# 1 seq# 4946 ARC0: Completed archiving log# 1 seq# 4946 Wed Nov 26 11:30:10 2008 Thread 1 advanced to log sequence 4948 Wed Nov 26 11:30:10 2008 Current log# 2 seq# 4948 mem# 0: D:\ORACLE\ORADATA\VV\REDO02.LOG Wed Nov 26 11:30:11 2008 ARC0: Beginning to archive log# 3 seq# 4947 Wed Nov 26 11:30:11 2008 ARC0: Completed archiving log# 3 seq# 4947 Dump file D:\oracle\admin\VV\bdump\vvALRT.LOG Wed Nov 26 15:42:19 2008 ORACLE V8.1.7.0.0 - Production vsnsta=0 vsnsql=e vsnxtr=3 Windows 2000 Version 5.2 Service Pack 1, CPU type 586 Starting up ORACLE RDBMS Version: 8.1.7.0.0. System parameters with non-default values: processes = 150 shared_pool_size = 134217728 large_pool_size = 0 java_pool_size = 32768 nls_date_format = dd.mm.yyyy control_files = D:\oracle\oradata\VV\control01.ctl, D:\oracle\oradata\VV\control02.ctl, D:\oracle\oradata\VV\control03.ctl db_block_buffers = 16384 db_block_size = 8192 compatible = 8.1.7 log_archive_start = TRUE log_archive_dest_1 = LOCATION=D:\ORACLE\oradata\VV\archive log_archive_dest_state_1 = enable log_archive_format = %T%TS%S.ARC log_buffer = 524288 log_checkpoint_interval = 204800 log_checkpoint_timeout = 0 db_files = 1024 db_file_multiblock_read_count= 8 max_enabled_roles = 30 remote_login_passwordfile= EXCLUSIVE global_names = FALSE distributed_transactions = 10 instance_name = VV service_names = VV sort_area_size = 131072 sort_area_retained_size = 131072 db_name = VV open_cursors = 900 ifile = D:\ORACLE\admin\VV\pfile\initVV.ora os_authent_prefix = utl_file_dir = C:\TEMP parallel_max_servers = 5 background_dump_dest = D:\oracle\admin\VV\bdump user_dump_dest = D:\oracle\admin\VV\udump max_dump_file_size = 10240 oracle_trace_collection_name= PMON started with pid=2 DBW0 started with pid=3 LGWR started with pid=4 CKPT started with pid=5 SMON started with pid=6 RECO started with pid=7 Wed Nov 26 15:42:21 2008 ARCH: STARTING ARCH PROCESSES ARC0 started with pid=8 Wed Nov 26 15:42:22 2008 ARCH: STARTING ARCH PROCESSES COMPLETE Wed Nov 26 15:42:22 2008 alter database mount exclusive Wed Nov 26 15:42:23 2008 ARC0: Archival started Wed Nov 26 15:42:27 2008 Successful mount of redo thread 1, with mount id 2254915811. Wed Nov 26 15:42:27 2008 Database mounted in Exclusive Mode. Completed: alter database mount exclusive Wed Nov 26 15:42:27 2008 alter database open Beginning crash recovery of 1 threads Wed Nov 26 15:42:27 2008 Thread recovery: start rolling forward thread 1 Recovery of Online Redo Log: Thread 1 Group 3 Seq 4947 Reading mem 0 Mem# 0 errs 0: D:\ORACLE\ORADATA\VV\REDO03.LOG Recovery of Online Redo Log: Thread 1 Group 2 Seq 4948 Reading mem 0 Mem# 0 errs 0: D:\ORACLE\ORADATA\VV\REDO02.LOG Wed Nov 26 15:42:29 2008 Thread recovery: finish rolling forward thread 1 Thread recovery: 1866 data blocks read, 1303 data blocks written, 27970 redo blocks read Crash recovery completed successfully Wed Nov 26 15:42:30 2008 Thread 1 advanced to log sequence 4949 Thread 1 opened at log sequence 4949 Current log# 4 seq# 4949 mem# 0: D:\ORACLE\ORADATA\VV\REDO04.LOG Successful open of redo thread 1. Объясните пожалуйста, что произошло и можно каким нибудь образом продолжить накат на Standby?

log_archive_dest_1 = LOCATION=D:\ORACLE\oradata\VV\archive - это локальное размещение архивных журналов. а где же другое размещение? где указано на какой стендбай передавать? Подозреваю, что промышленный сервер стартовал не с тем файлом инициализации, что предполагает передачу архивных журналов на другой сервер. Или алерт с другой машины.

В продолжение вопроса:Standby перестал накатывать архивы, на боевом сервере в алерте следующее...На стэндбай передача идет с помощью батника, а накат скриптом с задержкой по времени. Месяца 4 все

В продолжение вопроса: Standby перестал накатывать архивы, на боевом сервере в алерте следующее... На стэндбай передача идет с помощью батника, а накат скриптом с задержкой по времени. Месяца 4 все успешно работало..

Это у вас не стендбай в класическом понимании. Основной сервер даже не догадывается, что есть "стендбай". Если архивные файлы передаються батником, то есть происходит файловый обмен, то проверьте как отрабатывает это батник. Если з ним все нормально, и архивные файлы попадают на "стендбай", то нужно разбираться уже с ним. смотрите алерт у этого "стендбая". Могу предположить, что где-то затерялся один какой-то архивчик и "стендбай" ждет когда вы ему его подсуните. Последующие архивные файлы просто ждут своей очереди. но это только предположение. истинную причину найдете в алерте на "стендбае".

ORA-00600: internal error code, arguments: [17402], [0x66A9A44], [], [], [], [], [], []

К счастью, у меня 600 ошибка с аргументом [17402] не встречалась. В самом вопросе мало информации. поэтому советы очень не конкретные: 1. select * from v$database_block_corruption; 2. dbverify 3. может будут полезны следующие посты:этот и этот.

Есть Product and standby БД (Оракл 9.2.0.7, Win 2003)!Архив логи из продукт. БД накатываются в стендбай с периодичностью - здесь вроде все ОК.В продуктивной БД удалили нужную информацию и эти изм

Есть Product and standby БД (Оракл 9.2.0.7, Win 2003)! Архив логи из продукт. БД накатываются в стендбай с периодичностью - здесь вроде все ОК. В продуктивной БД удалили нужную информацию и эти изменения пришли в стендбай БД (из-за накатов архив логов). Нужно вернуть стендбай БД на нужное время назад. Хотелось бы в режиме "read only" вытащить нужные табл. Вот команды которые посоветовали сделать: 1. Запустить sqlplus и подключиться к standby database - «connect as sysdba» 2. Если БД остановлена смонтировать её - «alter database mount standby database» 3. Запустить восстановление БД – «alter database recover automatic standby database until time “YYYY-MM-DD:HH24:MI:SS”» до момента времени, непосредственно предшествовавшего операции удаления данных 4. Открыть БД в режиме просмотра – «alter database open read only» Так вот "3" команда показала первый по номеру лог который лежал в папки архивов и все. После в режиме чтения сравнили строки таблиц с продуктивной - они РАВНЫ. т.е восст. не произашло :( Нужен совет Лог Алерта: alter database recover automatic standby database until time '2009-01-31:23:00:00' Mon Feb 02 14:26:16 2009 Media Recovery Start Mon Feb 02 14:26:18 2009 Media Recovery Log H:\ORACLE\P51\SAPARCH\P51ARCH\ARC43493.001 Terminal Recovery: done UNTIL CHANGE 3330204559 Mon Feb 02 14:26:32 2009 Media Recovery Complete Completed: alter database recover automatic standby database Mon Feb 02 14:29:12 2009 alter database open read only Mon Feb 02 14:29:13 2009 SMON: enabling cache recovery Mon Feb 02 14:29:14 2009 Database Characterset is US7ASCII replication_dependency_tracking turned off (no async multimaster replication found) Completed: alter database open read only

На сколько я знаю, накат назад(именно то, что вы делали со стэндбаем) реализован только начиная с 10 версии оракл. До этого работает только накат вперед. То есть, берется бекап на дату предшествующую необходимой вам дате и накатывают архивные файлы с использованием until time.....

Как получить отчет, содержащий список всех пользователей с предоставленными ролями, правами, привилегими и даты последнего входа в систему?

Надеюсь, что вам достаточно будет представлений dba_users,dba_role_privs

При старте ОС выдается сообщение типа "Ошибка ORADIM ... память не может быть READ..." при этом база Oracle не стартует автоматически, точнее делает mount но не делает open.В alert.log ничего подозр

При старте ОС выдается сообщение типа "Ошибка ORADIM ... память не может быть READ..." при этом база Oracle не стартует автоматически, точнее делает mount но не делает open. В alert.log ничего подозрительного не записывается. А вот в OraDim.Log присутствуют следующие записи: Mon Feb 02 12:17:34 2009ORA-12638: Credential retrieval failed Mon Feb 02 12:18:26 2009 ORA-01078: failure in processing system parameters Что это может быть?

Служба оракла не стартовала по причине:ORA-12638. То есть, юзер, от которого служба запускается, не прошел аутентификацию. Разбирайтесь: или это не тот юзер, или испорченный файл паролей, или проблемы с актив директори, или с вайрволлами намутили...

После перезагрузки сервера при подключении к бд выходит ошибка ORA-12514: TNS:прослушиватель в данный момент не имеет данных о службе, запрашиваемой в дескрипторе соединения. Подскажите что делать? Wi

После перезагрузки сервера при подключении к бд выходит ошибка ORA-12514: TNS:прослушиватель в данный момент не имеет данных о службе, запрашиваемой в дескрипторе соединения. Подскажите что делать? Windows 2003 server sp2, контроллер домена.

Выполнить tnsping,внимательно проверить listener.ora и tnsnamnes.ora. Иногда имеет смысл host прописать не по имени, а ip. сверьте global_name в базе и в listener.ora. В initSID.ora значение db_domain правильное? Перегрузите службу оракла и листенера. А с доменом все у вас нормально?

Как в запросе(SELECT) вывести первую(последнюю) строчку пустой? Где-то видел но найти никак не могу. Заранее спасибо!

попробуйте использовать конструкцию union all

Привет всем!!!Можете подсказать !У меня база есть в оракле я ее бэкапирую т,е архивирую папку oradbКак можно востановить базу с buckup!!!Спасибо заранее!!!!!

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

startup mount
recover automatic database;
alter database open;
и все. радуетесь жизни.

Как правельно на рабчей БД, переустановить UNDOTBS ?

Создаете новое undo-пространство. делаете его undo по умолчанию. После того как старое уже не нужно будет, то дропнете его.

Как написать батник, для удаления архивлогов?

http://my-oracle.it-blogs.com/post-290.aspx - это вам подходит?

Добрый день! Я в Oracle совсем еще новичок. Передо мной поставлена задача: в определенные места многостраничного текстового документа MS Word вставлять данные из базы. То есть в документ бОльшая часть

Добрый день! Я в Oracle совсем еще новичок. Передо мной поставлена задача: в определенные места многостраничного текстового документа MS Word вставлять данные из базы. То есть в документ бОльшая часть текста постоянна, меняются лишь отдельные фрагменты, рассредоточенные по всему документу - имена, адреса, даты, названия и реквизиты документов. Возможно ли решение поставленной задачи в Oracle? Буду очень признательна за ответ

Очень улыбнул ваш вопрос. отвечаю цитатой из Тома Кайта " Oracle для профессионалов": "При разработке приложений баз данных я использую очень простую мантру: • если можно, сделай это с помощью одного оператора SQL; • если это нельзя сделать с помощью одного оператора SQL, сделай это в PL/SQL; • если это нельзя сделать в PL/SQL, попытайся использовать хранимую процедуру на языке Java; • если это нельзя сделать в Java, сделай это в виде внешней процедуры на языке С; • если это нельзя реализовать в виде внешней процедуры на языке С, надо серьезно подумать, зачем это вообще делать... "

При попытке розпаковать gz - архив (который лежит в blob поле) утилитой utl_compress возникает ошибка, ошибка возникает только на архивах созданных вне Oracle, т.н. не с помощью команды utl_compress

При попытке розпаковать gz - архив (который лежит в blob поле) утилитой utl_compress возникает ошибка, ошибка возникает только на архивах созданных вне Oracle, т.н. не с помощью команды utl_compress.lz_compress(iblob), на родных архивах ошибок нет, текст ошибки и скрипт распаковки приведены ниже... DECLARE b BLOB; BEGIN SELECT utl_compress.lz_uncompress(iblob) INTO b FROM test WHERE fname = 'Compressed'; END; Error at line 1 ORA-29294: A data error occurred during compression or uncompression. ORA-06512: at "SYS.UTL_SYS_COMPRESS", line 56 ORA-06512: at "SYS.UTL_SYS_COMPRESS", line 226 ORA-06512: at "SYS.UTL_COMPRESS", line 89 ORA-06512: at line 16

Sorry! мои познания этого пакета исчерпываются вот этими сведениями http://www.morganslibrary.com/reference/utl_sys_compress.html Личного опыта работы вообще нет.

где и как увеличить Users

ALTER DATABASE DATAFILE 'c:\ORACLE\ORADATA\MY_DB\USERS01.DBF' RESIZE 1000M;

Опишите пожалуйста процесс создания логического standby.

Я пишу только то, что мною проверено на личном опыте. С логическим стендбаем сталкиваться не довелось. Sorry!

Люди помогите пожалуйста! Ситуация такая: сделан экспорт usera из 9.2.0.1, файл с дампом заливается в 10.2.0.1 при этом импорт запускается пишет "объекты, принадлежащие user, импортируются в user"и на

Люди помогите пожалуйста! Ситуация такая: сделан экспорт usera из 9.2.0.1, файл с дампом заливается в 10.2.0.1 при этом импорт запускается пишет "объекты, принадлежащие user, импортируются в user"и на этом все... больше ничего не происходит (ждали около суток). Сессия висит в inactive и чего ждет. Экспорт и импорт делались window'вым клиентом 9i. Дамп небольшой около 1 Гб. Импорт делали: imp userid=system/pass@bd file=dump.dmp fromuser=user touser=user. Подскажите пожалуйста с чем это может быть связанно? Спасибо

как может клиент 9 оракла делать импорт в 10 оракл? 10 оракла в природе не существовало, когда писался 9 оракл. Попробуйте импорт-експорт делать 10 клиентом оракла

Здравствуйте,Сперва, Спасибо за отличный блог.У меня есть небольшой вопрос: поделитесь, пожалуйста, своим методом online бэкапа оракловых баз, если принять во внимание, что базы исчисляются сотням

Здравствуйте, Сперва, Спасибо за отличный блог. У меня есть небольшой вопрос: поделитесь, пожалуйста, своим методом online бэкапа оракловых баз, если принять во внимание, что базы исчисляются сотнями и средний объем каждой приблизительно 5-7Gb? Используете ли вы сторонние продукты или предпочитаете руководствоваться возможностями RMANа? Заранее спасибо!

для админовских работ с ораклом принципиально использую только оракловские продукты. В данном случае rman через DBconsole (ORA 10g)

Добрый день!Как при экспорте данных сделать ограничение по выбираемым таблицам, т.е. мне нужно экспортировать все таблицы кроме реплицируемых имеющих название "RD2". этих таблиц порядка 50-ти.Сп

Добрый день! Как при экспорте данных сделать ограничение по выбираемым таблицам, т.е. мне нужно экспортировать все таблицы кроме реплицируемых имеющих название "RD2". этих таблиц порядка 50-ти. Спасибо

Самый простой способ: напишите запрос, который формирует командный файл для выполнения экспорта. что-то типа: select 'exp user/password table=('||'table_name||') log=.....' from all_tables where table_name like .....

DB_RECOVERY_FILE_DEST_SIZE превышено база всталаRMAN> startup;Oracle instance starteddatabase mountedRMAN-00571: ===========================================================RMAN-00569: ==

DB_RECOVERY_FILE_DEST_SIZE превышено база встала RMAN> startup; Oracle instance started database mounted RMAN-00571: =========================================================== RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS =============== RMAN-00571: =========================================================== RMAN-03002: failure of startup command at 08/25/2009 11:21:58 ORA-16038: log 2 sequence# 69 cannot be archived ORA-19809: limit exceeded for recovery files ORA-00312: online log 2 thread 1: 'E:\ORADATA\GLT\REDO02A.LOG' ORA-00312: online log 2 thread 1: 'E:\ORADATA\GLT\REDO02B.LOG' увеличил командой занчение DB_RECOVERY_FILE_DEST_SIZE но что делать с редо файлами база не работает?

Ваша база, работающая в режиме Archivelog, не могла работать , так как не могла заархивировать оперативный журнал, который понадобился базе для перезаписи. После того как место появится , база должна произвести архивацию журнала и затем продолжить работу. Если этого не происходит, попробуйте произвести архивацию вручную, например, вот так :alter system archive log all Возможно вам пригодяться другие команды по управлению журналами http://my-oracle.it-blogs.com/post-158.aspx

перенос файла в папку

вопрос не понятен. поясните подробнее.

Здравствуйте, подскажите почему не не получается никак удалить старый файл UNDO? Переключение на новый прошло нормально - новый файл создан и используется.Старый из базы удаляла дропом табличного

Здравствуйте, подскажите почему не не получается никак удалить старый файл UNDO? Переключение на новый прошло нормально - новый файл создан и используется. Старый из базы удаляла дропом табличного пространства и не включила сразу удаление файлов данных. При попытке удалить - "файл занят".

Старый Undo можно будет удалить когда по нему в запросе select SUM(BYTES),tablespace_name,status FROM DBA_UNDO_EXTENTS group by tablespace_name,status статус будет EXPIRED. А до тех пор оно еще будет нужно каким-то транзакциям. P.S.Надеюсь у вас старое undo в OFFLINE NORMAL ?

Здравствуйте! Подскажите, а есть ли скрипт для остановки БД Oracle под Windows, для проведения offline backup и с последующим запуском. Спасибо!

конечно есть. А вы разве не видели его в посте http://my-oracle.it-blogs.com/post-291.aspx ???

Как в версию Oracle 9.2.0.8 вставить файлы export версии 9.2.0.4

Обычно последующие версии поддерживают предыдущие. Поэтому у вас не должно быть проблем. Тем более, что клиент все равно один. так же?

Как в загрузить файл типа DMP ?

есть такие утилиты EXP и IMP . Они предназначены для создания дампов и "втягивания" их в базу данных.

В хочу удалить сессию. В OEM lf. команду Kill session immdeiate. Выдается ошибка ORA-00031. Сессия помечается как удаленная, на вкладке LOKS эта сессия показывает заблокированные объекты.Как убрать

В хочу удалить сессию. В OEM lf. команду Kill session immdeiate. Выдается ошибка ORA-00031. Сессия помечается как удаленная, на вкладке LOKS эта сессия показывает заблокированные объекты. Как убрать блокировку? Заранее благодарна.

На нашем блоге есть неплохая статья на эту тему http://my-oracle.it-blogs.com/post-311.aspx Сессия не убивается, так как выполняет непрерываемые операции. Они закончатся и сессия закроется. Возможно помеченая на смерть сессия ждет каких-то ресурсов. Посмотрите на блокировки.

Добрый день! Возникла необходимость сравнить два поля в таблице (поля формата дата) а как это сделать незнаю. Например, столбец А со значением 01.09.2009 и поле В со значением 15.09.2009 Так вот

Добрый день! Возникла необходимость сравнить два поля в таблице (поля формата дата) а как это сделать незнаю. Например, столбец А со значением 01.09.2009 и поле В со значением 15.09.2009 Так вот, мне нужно найти разницу в днях между полем В и А и вывести результирующим полем. Заранее благодарен за помощь!

to_date('a','ddmmyyyy')-to_date('b','ddmmyyyy')

В какой таблице можно просмотреть текст SQL - запросов, кот. обрабатывала БД. Спасибо.

А чем вас не устраивает, например вот этот запрос http://my-oracle.it-blogs.com/post-302.aspx ?

Здравствуйте! Нужна Ваша помощь в таком вопросе: имеется поле формата дата, мне нужно поменять все значения в нём например, уже имеющаяся дата минус три дня. Заранее благодарен за помощь!

update my_table set my_data=my_data-3

Когда в базу данных поступает запрос на изменение, то Oracle применяет его в буферном кэше, параллельно внося информацию, достаточную для повторения этого действия, в буфер повторного изменения (redo

Когда в базу данных поступает запрос на изменение, то Oracle применяет его в буферном кэше, параллельно внося информацию, достаточную для повторения этого действия, в буфер повторного изменения (redo log buffer), находящийся в оперативной памяти. Как только транзакция завершается, происходит ее подтверждение (commit), и сервер сбрасывает содержимое redo buffer log на диск в redo log в режиме append-write и фиксирует транзакцию. Такой подход гораздо менее затратен, чем запись на диск непосредственно измененного блока. При сбое сервера кэш и все изменения в нем потеряются, но файлы redo log останутся. При включении Oracle начнет с того, что заглянет в них и повторно выполнит изменения таблиц (транзакции), которые не были отражены в datafiles. Это называется «накатить» изменения из redo, roll-forward. Online redo log сбрасывается на диск (LGWR) при подтверждении транзакции, при прохождении checkpoint или каждые 3 секунды (default). С undo немного посложнее. С каждой таблицей в соседнем сегменте хранится ассоциированный с ней сегмент отмены (я точно не слышал на курсах такое определение). При запросе DML вместе с блоками таблицы обязательно подгружаются данные из сегмента отката и хранятся также в буферном кэше. Когда данные в таблице изменяются в кэше, в кэше так же происходит изменение данных undo, туда вносятся «противодействия». То есть, если в таблицу был внесен insert, то в сегмент отката вносится delete, delete – insert, update – вносится предыдущее значение строки. Блоки (и соответствующие данные undo) помечаются как грязные и переходят в redo log buffer. Да-да, в redo журнал записываются не только инструкции, какие изменения стоит внести (redo), но и какие у них противодействия (undo). Так как LGWR сбрасывает redo log buffer каждые 3 секунды, то при неудачном выполнении длительной транзакции (на пару минут), когда после минуты сервер упал, в redo будут записи не завершенные commit. Oracle, как проснется, накатит их (roll-forward), и по восстановленным (из redo log) в памяти сегментам отката данных отменит (roll-back) все незафиксированные транзакции. Справедливость восстановлена. Если в жизни все действительно так, как тут описано, то я тогда не могу понять всего одной вещи – каким образом дельта изменений из буферного кеша попадает на диск в сегмент UNDO? Если DBWR к этому не причастен, а LGWR ведет запись только в redo log журнал, то кто отвечает за запись в сегмент UNDO?

Запись на диск осуществляет фоновый процесс DBWR. В этом плане сегменты отмены ничем не отличаются от сегментов данных. Но у вас немного неточное представление, поэтому разбирайтесь дальше! Советую почитать как минимум посте в нашем тэге "UNDO".

Здравствуйте. Подскажите, пожалуйста, где проблема? Я хочу подсоединиться к базе данных ORACLE через С#. Выходит ошибка ORA-12514: TNS:прослушиватель в данный момент не имеет данных о службе, запрашив

Здравствуйте. Подскажите, пожалуйста, где проблема? Я хочу подсоединиться к базе данных ORACLE через С#. Выходит ошибка ORA-12514: TNS:прослушиватель в данный момент не имеет данных о службе, запрашиваемой в дескрипторе соединения

Проверяйте ваши настройки клиента oracle - см. файл tnsnames.ora Проверяйте как работает строка коннекта к базе с помощью команды tnsping

Можете сказать про критичность данной ошибки ? Целостность данных ?ORA-00600: internal error code, arguments: [17280], [1], [0x0BE3C6CA8], [], [], [], [], []

Вероятнее всего вместе с этой ошибкой, оракл еще выдавал сообщения с другими ошибками. Вод с ними нужно разобраться в первую очередь. Затем запускайте утилиту dbv и проверяйте все датафайлы на битость.

какой прогой для компьютера можно распаковать сtl файлы

это обычный текстовый файл

как создать базу standby на том же сервере где и основная, т.е как поменять в контрольном файле имя базы и путь всех файлов базы(как откорректировать контрольный файл)?

Мне не доводилось делать такой стендбай - не вижу смысла в таком варианте резервирования. Но полезную информацию вы найтете вот в этих постах. http://my-oracle.it-blogs.com.ua/post-49.aspx http://my-oracle.it-blogs.com.ua/post-45.aspx http://my-oracle.it-blogs.com.ua/post-56.aspx Надеюсь их будет достаточно, чтобы организовать стендбай в вашем варианте.

Добрый день! Подскажите, можно ли добавить члена к redolog группе во Flash Recovery Area?Так чтобы имена файлов создавались в соответствие с OMF.Если да, то как?

sorry! с OMF не работаю. поэтому ничем вам не помогу.

на всех указаных сайтах ответа не нашла. У меня следующая заморочка: есть RAC на нем крутится основная база, дисковое пространство EVA. На втором сервере и том же дисковом пространстве я cоздала дв

на всех указаных сайтах ответа не нашла. У меня следующая заморочка: есть RAC на нем крутится основная база, дисковое пространство EVA. На втором сервере и том же дисковом пространстве я cоздала две базы одна STANDBY с 4-хчасовым отставанием(те же пути что и основной , т.е. в контрольном файле не нужно корректировок), и одна база отладочная-(полностью изменеы и имя базы и пути)- в этом случае все легко, для отладочной базы создала контрольный файл в файл трассировки и там ручками все поправила. Проблема в том что все эти базы расположены на дисковом пространстве EVA и в случае выхода EVA из строя мы останимся ни с чем. Поэтому к второму серверу присоединили MSA1000 и на них необходимо создать базу STANDBY с 0-ым отставанием. Для этого нужно как о для отладочной полностью все поменять имена базы и пути. Для отладки это было просто , а для STANDBY нельзя создать контрольный фал стандбаевский в трассировку для дальнейшего его изменения. Если не поменять имя базы она не стартует второй стандбай пока не остановешь первый, а если поменять, то На монтирование базы она естесвенно дает ошибку SQL> alter database mount standby database; alter database mount standby database ERROR at line 1:ORA-01103: database name 'ASKODS' in control file is not 'STB2' ********** Если кто то знает выход помогите !!!!!!!!!!!!!

ничего особенного в вашем случае я не вижу: на совершенно другом сервере и другом дисковом пространстве нужно создать стэндбай. Во-первых, название базы менять совсем не обязательно. пути к файлам данных легко меняется через ini.ora. все технология создания такого стэндбая мной описана в посте http://my-oracle.it-blogs.com.ua/post-56.aspx . Возможно, я что-то мною в вашем вопросе понято неправильно?

Подскажите пожалуйста как можно перевести информацию из LongRaw в BLOB и/или обратно?

а что говорит по этому поводу Том Кайт? Вот, что он говорит:

You Asked 
Hi Tom,

We are using an Oracle 8.1.7 database. Is there a way in PL/SQL or Java Stored Procedure 
to convert a Long Raw into a BLOB?

Thanks,
Firas Khasawneh 

and we said...
ops$tkyte@ORA817DEV> create table gtt ( id int, x blob );
 
Table created.
 
ops$tkyte@ORA817DEV>
ops$tkyte@ORA817DEV> create table t ( id int primary key, x long raw );
 
Table created.
 
ops$tkyte@ORA817DEV>
ops$tkyte@ORA817DEV> insert into t values( 1, rpad( 'a', 2000, 'a' ) );
 
1 row created.
 
ops$tkyte@ORA817DEV>
ops$tkyte@ORA817DEV>
ops$tkyte@ORA817DEV> declare
  2          l_id number := 1;
  3          l_blob blob;
  4  begin
  5          execute immediate '
  6          insert into gtt
  7          select :x, to_lob(x)
  8            from t
  9           where id = :x' using l_id, l_id;
 10
 11          select x into l_blob from gtt where id = l_id;
 12  end;
 13  /
 
PL/SQL procedure successfully completed.


if you just want to convert single row for a session.  use

create table new_table as select ...., to_lob(long_raw) from old_table

to permanently convert all rows. 

Возникла такая проблемка: Errors in file d:\oracle\admin\gas\bdump\gas_dbw0_1136.trc:ORA-01157: cannot identify/lock data file 11 - see DBWR trace fileORA-01110: data file 11: 'C:\PRAVOSUDIE\BSR

Возникла такая проблемка: Errors in file d:\oracle\admin\gas\bdump\gas_dbw0_1136.trc: ORA-01157: cannot identify/lock data file 11 - see DBWR trace file ORA-01110: data file 11: 'C:\PRAVOSUDIE\BSR\ORA_DATA\TBLS_BSR.ORA' ORA-27041: unable to open file OSD-04002: невозможно открыть файл O/S-Error: (OS 3) Системе не удается найти указанный путь. вопрос такой что за расширение .ora и как возможно исправить, а то из-за этого подключится не могу к базе.

И что тут не ясно? оракл не может найти файл : 'C:\PRAVOSUDIE\BSR\ORA_DATA\TBLS_BSR.ORA' . Возможно, ошибка в названии. Возможно диск не доступен. Этот файл - файл данных. В нем физически хранятся определенные объекты вашей базы данных. или найдите этот файл или переведите этот файл данных в offline. Только тогда ваша база откроется

Добрый день! Я в Oracle совсем еще новичок. Передо мной сейчас поставлена задача: перенести с одного сервера на другой базу данных. Но ситуация такая, что база данных которую нужно перенести работает

Добрый день! Я в Oracle совсем еще новичок. Передо мной сейчас поставлена задача: перенести с одного сервера на другой базу данных. Но ситуация такая, что база данных которую нужно перенести работает на Oracle 11 а на сервере куда надо перенести стоит Oracle 10. Меня интересует насколько реально это сделать или можна даже не пытаться? Заранее спасибо!

ORA11 в ORA10 перенести файлами данных не получится. Возможно, делая дампы клиентом ORA10 c базы ORA11, можно перенести в базу ORA10. Но это ОЧЕНЬ хлопотно.

Проблема - Block Corrupted. Как восстановить? Flash Recovery не работает. RMAN не может восстановить блок (пишет,архивной копии нет). Есть Клон жесткого диска с базой от 12.12.09 и горячий дамп на 31.

Проблема - Block Corrupted. Как восстановить? Flash Recovery не работает. RMAN не может восстановить блок (пишет,архивной копии нет). Есть Клон жесткого диска с базой от 12.12.09 и горячий дамп на 31.12.09 (Восстановить хотя бы на этот момент). Есть ли возможность восстановить базу в текущем состоянии? Если нет, как вписать горячий дамп от 31.12.09 в базу от 12.12.09? (В Oracle не силен. Пытался импортировать дамп командой imp - много ошибок - в основном - ....уже существует (видимо, старая база не дает заменять существующую информацию)

скорее всего , все не так страшно как вам кажется. нужно четко знать какую ошибку генерирует оракл. Возможно есть сбойный один блок. и достаточно его восстановить. А если сбойный блок в индексе, так его достаточно пересоздать. найдите свою ситуацию в разделе ora-600 http://my-oracle.it-blogs.com.ua/tags/tag-78.aspx Кстати, когда найдете сбойный объект, то его также можно сосстановить из вашего дампа.

Добрый день! На Windows Vista ставлю OracleXEClient. Все ставиться, но в самом конце установки пишет "Сервер подключений завершает работу."При попытке подключиться к удаленной базе SQL Developer в

Добрый день! На Windows Vista ставлю OracleXEClient. Все ставиться, но в самом конце установки пишет "Сервер подключений завершает работу." При попытке подключиться к удаленной базе SQL Developer выдает ошибки: ORA-00604 error occurred at recursive sql level 1 ORA- 12705 cannot access nls data files or invalid environment specified Вопросы. Эти ошибки связанны между собой? И как это исправить?

ваша главная ошибка ORA- 12705 cannot access nls data files or invalid environment specified . используя запросы:

select value from v$nls_valid_values where parameter='LANGUAGE' 
select USERENV ('language') from DUAL 
определитесь с несоответствием и исправьте на клиенте в реестре параметр NLS_LANG

Получаю ошибку в alert.log:ORA-07445: exception encountered: core dump [kpolnb()+384] [SIGSEGV] [Address not mapped to object] [0x000000D78] [] []Прошу помочь...

очень много причин возникновения такой ошибки. Напррмер,

  • High volume user transactions
  • Software bugs (i.e. Bug 4098853)
  • Too-small RAM regions (shared_pool_size, java pool, large_pool_size), and a too-small application memory stack (e.g. PL/SQL array too small)
  • Too small undo and temp segments
  • Program errors (addressing outside of RAM region), e.g. S0C4.
  • Improper NLS parameter settings
  • Hardware errors
  • Oracle block corruption
В любом случае, разберитесь какая сессия провоцирует генерацию ошибки. И обязательно просмотрите файлы трассировки ( в папках udump, bdump) И никогда не помешает почитать Тома Кайта :) http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:228560700346935920

Добрый день! Подскажите пожалуйста, существуют какие-либо общие рекомендации по оптимизации работы БД? В последнее время объёмы информации в БД сильно выросли, все запросы отрабатываются туговато.За

Добрый день! Подскажите пожалуйста, существуют какие-либо общие рекомендации по оптимизации работы БД? В последнее время объёмы информации в БД сильно выросли, все запросы отрабатываются туговато. Заранее благодарен за помощь.

Общих рекомендаций нет. НО есть множество конкретных.Тюнинг - это ОЧЕНЬ обширный вопрос и каждый админ ее решает в зависимости от задач выполняемых на его сервере.

Добрый день! Опишите пожалуйста порядок быстрого клонирования баз с платформы SUN на INTEL. Заранее благодарен

export-import :)

Здравствуйте, я новичок, область - безопасность БД в Оракле10, Разделили пароль Sys -на две части, но сегодня пропустив :SELECT S.SID SID, S.SERIAL# SERIAL_ID, LPAD(S.STATUS, 9) SESSIO

Здравствуйте, я новичок, область - безопасность БД в Оракле10, Разделили пароль Sys -на две части, но сегодня пропустив :SELECT S.SID SID, S.SERIAL# SERIAL_ID, LPAD(S.STATUS, 9) SESSION_STATUS, LPAD(S.USERNAME, 14) ORACLE_USERNAME, LPAD(S.OSUSER, 12) OS_USERNAME, LPAD(P.SPID, 7) OS_PID, S.PROGRAM SESSION_PROGRAM, LPAD(S.TERMINAL, 10) SESSION_TERMINAL, LPAD(S.MACHINE, 19) SESSION_MACHINE FROM V$PROCESS P, V$SESSION S WHERE P.ADDR(+) = S.PADDR ORDER BY SID; увидели : Session-status INACTIVE, Oracle_username SYS Os_username Tom session_program sqlplus.exe Что это значит: Sys все-таки вошел?

это возможно при следующих условиях: вы подключались в база данных непоследственно с самого сервера; на сервер вы зашли юзером, входящим в группу ORA_DBA; на сервере у вас есть файл паролей.Вот и все. Это не дырка в безопасности. Это так задумано. :)

Здравствуйте. Для чего нужен пользователь DBSNMP в работаюшей БД и как расскрывается сокращение..... спасибо

если вам что-то говорят слова "Intelligent Agent", то это самое оно. Нужно все это для мониторинга баз данных.

Доброго времени суток! Подскажите пожалуйста как удалить дублирующиеся записи в таблице оставить только одну запись?

Например, вот так : delete table1 where rowid not in (select min(rowid) from table1 group by pole1);

Доброго дня.Нежданно негаданно навалилась тема - перейти с 9.2.0.8.0 на десятку. Все дело осложняется тем, что я далек от DBA... :) Можно по шагам порядок действий, а там уж разберусь с каждым ...

Доброго дня. Нежданно негаданно навалилась тема - перейти с 9.2.0.8.0 на десятку. Все дело осложняется тем, что я далек от DBA... :) Можно по шагам порядок действий, а там уж разберусь с каждым ... Судя по всему еще и пароля от sys нет. Спасибо.

Если вы имеете прямой доступ непосредственно к серверу, то у вас есть возможность подключиться к базе с правами sysdba. :) Но при любых раскладах вам нужно делать експорт схем со старого сервера и импорт схем уде на 10 оракл.

у меня до жути простой наверное вопрос, но я этим раньше никогда не занимался.Помогите пожалуйста!проблема вот в чем:у меня установлен Оракл 11г, и дамп базы Оракла 10г,мне нужно импортировать

у меня до жути простой наверное вопрос, но я этим раньше никогда не занимался. Помогите пожалуйста! проблема вот в чем: у меня установлен Оракл 11г, и дамп базы Оракла 10г, мне нужно импортировать этот дамп, но выходят ошибка в логе: IMP-00058: ORACLE выдала ошибку 12154 ORA-12154: TNS:невозможно разрешить заданный идентификатор соединения IMP-00000: Импорт данных завершился неудачно сама строка импа такая(я создал бат файл, и запускаю через него): imp 'sys/******@bsnw as sysdba' full=y help=y file=exp_nokb_2008_10_07.dmp что я делаю нетак? и вопрос: надо ли предварительно сперва через create создать новую базу с названием bsnw?или это делается автоматически? заранее спасибо!

bsnw - это не база, а строка конекта. В файле tnsnames.ora эта строка должна быть прописана и там должно быть указание на базу данных. Перед тем как выполнять импорт схемы, база данных должна быть уже создана. и схема должна уже существовать.

у меня до жути простой наверное вопрос, но я этим раньше никогда не занимался. Помогите пожалуйста! проблема вот в чем: у меня установлен Оракл 11г, и дамп базы Оракла 10г, мне нужно импортировать

у меня до жути простой наверное вопрос, но я этим раньше никогда не занимался. Помогите пожалуйста! проблема вот в чем: у меня установлен Оракл 11г, и дамп базы Оракла 10г, мне нужно импортировать этот дамп, но выходят ошибка в логе: IMP-00058: ORACLE выдала ошибку 12154 ORA-12154: TNS:невозможно разрешить заданный идентификатор соединения IMP-00000: Импорт данных завершился неудачно сама строка импа такая(я создал бат файл, и запускаю через него): imp 'sys/******@bsnw as sysdba' full=y help=y file=exp_nokb_2008_10_07.dmp что я делаю нетак? и вопрос: надо ли предварительно сперва через create создать новую базу с названием bsnw?или это делается автоматически? заранее спасибо! bsnw - это не база, а строка конекта. В файле tnsnames.ora эта строка должна быть прописана и там должно быть указание на базу данных. Перед тем как выполнять импорт схемы, база данных должна быть уже создана. и схема должна уже существовать То есть, мне нужно создать такую же базу у себя сперва?И создавать все таблицы, все связи?Там очень большая база!(( А название базы имеет значение? и еще, играет ли роль, то, что я делал exp с 10г а imp уже на 11г? большое спасибо заранее!

название базы данных роли не играет - называйте как хотите.только правильно пропишите строку конекта. затем создайте необходимого юзера. больше создавать ничего не нужно. Делаете импорт схемы 11 клиентом.Все объекты схемы при импорте будут созданы. Проблем не должно быть.

Добрый день. Подскажите пожалуйста как импортировать дамп в таблицу, чтобы втянулись те данные, которых не было, т.е. чтобы не задвоились записи, если такие уже были в таблице!

самый простой метод - на таблицу поставьте констрейнт.

ПРИВЕТ! Люди помогите!!! На 10 оракле каждую минуту создаются по два архива *.arc 80 МБ. Что делать? параметр в оракле до 100 ГБ. пока вручную удаляю и запускаю команду RMAN.

самое простое -увеличьте размер всех оперативных журналов повторного выполнения ( redo). Больше - здесь http://my-oracle.it-blogs.com.ua/post-156.aspx Не мешает посмотреть чем же оракл занят.

Заранее Спасибо! На 10 оракле каждую минуту создаются архивы, увеличьте размер всех оперативных журналов повторного выполнения ( redo) - у меня нет пространства дополнительного. Где посмотреть, чем ор

Заранее Спасибо! На 10 оракле каждую минуту создаются архивы, увеличьте размер всех оперативных журналов повторного выполнения ( redo) - у меня нет пространства дополнительного. Где посмотреть, чем оракл занят? Чем он загружен?

посмотрите для начала хотя бы v$session у администратора много есть инструментов по этому поводу. :)

ПРИВЕТ!! В представление v$session все нормально работает, но каждую минуту уже по 3 архива делает ОРАКЛ по 45 мб *.arc... В чём причина?

у меня размер редофайлов на некоторых серверах - по 500 мб Если у вас все работает нормально, то увеличьте редо файлы. Для расширения кругозора ссылки вам уже давались. Читайте.

механизм переключения баз между стэндбаем и продуктивом?

для начала читаем здесь http://my-oracle.it-blogs.com.ua/post-56.aspx

Доброго дня! Подскажите пожалуйста по такому вопросу, больше не у кого спросить....Есть у нас сервер Oracle Primary (11.1) и есть Standby физический (11.1) (все лицензионное), работают на Linuxe

Доброго дня! Подскажите пожалуйста по такому вопросу, больше не у кого спросить.... Есть у нас сервер Oracle Primary (11.1) и есть Standby физический (11.1) (все лицензионное), работают на Linuxe (CentOS). В связи с уменьшением места на жестком диске на Primary-сервере, появилась потребность добавления к серверу дополнительного места и переноса на этот дополнительный диск одного табличного пространства (Tablespace). Как переносить Tablespace на этот диск я знаю - через операцию OFFLINE: 1) alter tablespace NAME_T offline; 2) copy ... (копируем файлы на "/orastore/h") 3) alter tablespace NAME_T rename datafile '/orastore/f/NAME_T.DBF', '/orastore/f/NAME_T2.DBF' to '/orastore/h/NAME_T.DBF', '/orastore/h/NAME_T2.DBF'; 4) alter tablespace NAME_T online; Вопрос такой, какие работы мне нужно сделать на Стендбае, чтобы после всего этого логи продолжали нормально накатываться (чтобы не пересоздавать заново Стендбай). Спасибо! --------------------------------- Александр, г.Ростов-на-Дону (alexkrop@yandex.ru)

по первому вопросу вам в помощь пост http://my-oracle.it-blogs.com.ua/post-22.aspx Однако может быть и другое решение вашей проблемы: не нужно переносить табличное пространство, достаточно создать новый файл данных на новом месте. по второму вопросу - мне не доводилось решать такую проблему. Предполагаю, что здесь нужно поработать с параметром инициализации db_file_name_convert

Здравствуйте! У меня есть задача: скопировать с сервера, который стоит в классе, базу (Oracle 10g), перенести ее домой доделать все (триггеры, просмотры и т.д ) , а затем принести в класс и скопироват

Здравствуйте! У меня есть задача: скопировать с сервера, который стоит в классе, базу (Oracle 10g), перенести ее домой доделать все (триггеры, просмотры и т.д ) , а затем принести в класс и скопировать базу обратно на сервер. В классе на сервере несколько баз разных пользователей. как мне взять именно свою (со своим пользователем и паролем) даже не знаю где физически хранится моя база (в какой папке, файле) Работаем в Oracle 10g apex и sql developer . Спасибо!

читайте про експорт-импорт схем пользователей: утилиты imp.exe и exp.exe

После апгрейда с oracle 9.2.0.7 на 10.2 tablespace sysaux с сылается на не существующий файл E:\ORACLE10N\DATABASE\MISSING00011 также существует файл E:\ORACDATA\sysaux01.dbf. Попытка sysaux01.dbf

После апгрейда с oracle 9.2.0.7 на 10.2 tablespace sysaux с сылается на не существующий файл E:\ORACLE10N\DATABASE\MISSING00011 также существует файл E:\ORACDATA\sysaux01.dbf. Попытка sysaux01.dbf переименовать в MISSING00011 и подложить его в E:\ORACLE10N\DATABASE\ не помогает. Такж не представляется возможным изменить путь и имя файла (выходит ошибка что надо укзывать коректное имя файла MISSING00011). Подскажите каким образом можно пересоздать sysaux или указать корректные пути.

С sysaux у вас скорее всего ничего не выйдет. Переход с 9 версии на 10 лучше всего делать експортом-импортом. Сначала пользователей создать, затем перенести только таблицы и прочая... А затем пересоздать индексы. При таком сценарии проблем не возникает.

Здравствуйте, как можно просмотреть иссторию арxивации в Оракле9 и 10

выполните выборку из представления v$archived_log

Подскажите пожалуйста, как выяснить, как прошел процесс арxивации, в какиx логаx смотреть?? СПАСИБО)))

v$archived_log - смотрим это представление

Здравствуйте! такой вопрос удаленный комп по VPN линии Программа на Delphi подключаюсь к базе Oracle8iпериодически в разных местах программы выдают ошибку ORA-0104 internal error hostdef extensi

Здравствуйте! такой вопрос удаленный комп по VPN линии Программа на Delphi подключаюсь к базе Oracle8i периодически в разных местах программы выдают ошибку ORA-0104 internal error hostdef extension doesn't exist... В чем может быть причина, провайдер утверждает, что связь хорошая?????

Вы ошиблись. Наверное, ORA-01041? поработайте над размерами LARGE_POOL_SIZE, sort_area_size, hash_area_size и , вообще , PGA; еще одна возможность - увеличить параметр session_cached_cursors вот таким образом : alter system set session_cached_cursors=большее_число_чем_у_вас_сейчас scope=spfile;

Oracle 10g переодически возникает сообщение Database Limits Current Open Cursors Count Metrics "Current Open Cursors Count" is at 1251

Хорошо описана ваша проблема вот здесь http://www.orafaq.com/node/758

Однажды я обнаружил , что на standby количество файлов .dbf меньше на один чем на prodact. Почему на standby не создался файлик и что теперь делать ?

http://my-oracle.it-blogs.com.ua/post-489.aspx - читаем здесь

Есть БД Oracle Database 10g 10.2.0.4.0 32bit, как перенести её в Oracle Database 10g 10.2.0.4.0 64bit не применяя экспорт\импорт.

кажется только експорт-импорт Хотя в 10 можно переносить табличные пространства. Но пробовать не доводилось. У вас есть повод попробовать.

1. Є декілька сесій які висять в очікувані до однієї таблиці одного запису, треба знайти який саме запис вони очікують. якНаписати запит якій буде показувати в якому дата файлі і в якому блоці знах

1. Є декілька сесій які висять в очікувані до однієї таблиці одного запису, треба знайти який саме запис вони очікують. як Написати запит якій буде показувати в якому дата файлі і в якому блоці знаходиться запис

Є декілька сесій які висять в очікувані до однієї таблиці одного запису, треба знайти який саме запис вони очікують. Дивимось ось сюди http://my-oracle.it-blogs.com.ua/post-400.aspx Як написати запит який буде показувати в якому дата файлі і в якому блоці знаходиться запис Дивимось ось сюди http://my-oracle.it-blogs.com.ua/post-401.aspx

EXP-00056: ORACLE выдала ошибку 12154ORA-12154: TNS:невозможно разрешить заданный идентификатор соединения

Посмотрите на свой файл tnsnames.ora и проверьте: если в нем строка конекта, которую вы указываете при экспорте.

Доброго времени суток. Переходим с InterBase на Oracle. Тестовые установка и создние базы прошло успешно. Вопрос в следующем. Для InterBase есть программа администрирования - IB Expert. Есть ли что-ни

Доброго времени суток. Переходим с InterBase на Oracle. Тестовые установка и создние базы прошло успешно. Вопрос в следующем. Для InterBase есть программа администрирования - IB Expert. Есть ли что-нибудь подобное для Oracle? Проблема в том, что есть две одинаковые таблицы, одная пустая, другая с данными. При работе обращение идет к пустой таблице. А надо, чтобы к полной. Спасибо.

Администрирование тут ни к чему. Не знаю как с InterBase, но для оракла более, чем достаточно знать имя пользователя и пароль, чтобы работать с доступными этому юзеру объектами.

Ситуация следующая: Сервер на win-xp, клиент vista.Локальный конект к базе XX_PHOTE_ARCHIVE проходит. Пытаюсь соединяться удалённо (из висты) - получаю ошибку ORA-12514.# tnsnames.ora XX_PHO

Ситуация следующая: Сервер на win-xp, клиент vista. Локальный конект к базе XX_PHOTE_ARCHIVE проходит. Пытаюсь соединяться удалённо (из висты) - получаю ошибку ORA-12514. # tnsnames.ora XX_PHOTE_ARCHIVE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ORASERVER)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = xx_phote_archive) ) ) EXTPROC_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (CONNECT_DATA = (SID = PLSExtProc) (PRESENTATION = RO) ) ) # listener.ora SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = C:\oracle\product\10.2.0\db_1) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ORASERVER)(PORT = 1521)) ) )

у вас в listener.ora не описан сервис SERVICE_NAME = xx_phote_archive Почитайте для начала http://my-oracle.it-blogs.com.ua/post-461.aspx Подправьте листенер, перестартуйте его. затем проверьте командой tnsping

Здравствуйте! Существует задача для Oracle 11g. Необходимо проверить пользователей (администраторов) базы и их пароли на соответствие определенным значениям (значениям по умолчанию). Возможно ли это?

Здравствуйте! Существует задача для Oracle 11g. Необходимо проверить пользователей (администраторов) базы и их пароли на соответствие определенным значениям (значениям по умолчанию). Возможно ли это? И где оракл хранит такую информацию. Спасибо!

оракл хранит такую информацию в словаре. :) И доступна она только администратору базы данных и тем пользователям, которым он делегирует права на конкретные объекты.

Здравствуйте, упала бза, дампа нет, при запуске базы (oracle 8) ora-01113 file 7 need recovery, ORA-01110 data file 7 E:\database\job1orcl.dbf

надо восстанавливать. Первое, что можно сделать, это в состоянии mount выполнить команду recover datafile 7; или более общую recover automatic database;

Dobroye vrema sutok4to oznacayet v etom scripte slova REUSE ne podskajite??ALTER DATABASE ADD LOGFILE GROUP 4 ( '/u01/app/oracle/oradata/odb/redo4.log') SIZE 51200K REUSEa mojna po russk

Dobroye vrema sutok 4to oznacayet v etom scripte slova REUSE ne podskajite?? ALTER DATABASE ADD LOGFILE GROUP 4 ( '/u01/app/oracle/oradata/odb/redo4.log') SIZE 51200K REUSE a mojna po russki pa proje obyesnit?

означает, что такой файл в файловой системе уже существует и именно его нужно использовать

Подскажите универсальный запрос по блокировкам объектов плиз. Который бы учитывал и tx и ddl и dml, pl/sql локи.

http://my-oracle.it-blogs.com.ua/post-344.aspx - мне в работе достаточно этих запросов

что значит сделать прообраз базы?установил оракл, а теперь прообраз? я новичек, подскажите пожалуйста

Возможно это образ вашей промышленной базы. Хотя здесь может быть два варианта: с данными и без данных. Самый лекгий способ сделать образ базы: поднять базу с холодной копии промышленной базы.

Проверка SYSTEM01.DBF дала следующееВсего страниц проверено : 4194302Всего страниц обработано (Data) : 2258878Всего сбойных страниц (Data) : 0Всего страниц обработано(Index): 188773

Проверка SYSTEM01.DBF дала следующее Всего страниц проверено : 4194302 Всего страниц обработано (Data) : 2258878 Всего сбойных страниц (Data) : 0 Всего страниц обработано(Index): 1887735 Всего сбойных страниц (Index): 1 Всего обработанных страниц (другие): 5780 Всего обработано страниц (сег.) : 0 Всего страниц со сбоями (сег.) : 0 Всего пустых страниц : 41735 Всего страниц, помеч.наруш. : 0 Всего входных страниц : 0 Из-за сбойного блока база не стартует. Можно ли каким-то образом исправить или удалить поврежденный блок? Версия: 9.2.0.1 Режим NOARCHIVELOG

читайте раз дел http://my-oracle.it-blogs.com.ua/tags/tag-78.aspx Там описано несколько способов борьбы со сбоями. Но нужно всегда отталкиваться от сообщения об ошибке. В нем всегда есть полезная информация.

какие запросы можно выполнить в состоянии базы mounted ?ORACLE 9.2.0.1 Windows Server 2003

достаточные для того, чтобы восстановить и открыть базу данных. :)

после востановления из rman бекапа пишет что не доконца востановлен system01.dbf

обратите внимание на ОПЕРАТИВНЫЕ журналы - redo

Добрый день! Не знаю как решить следующую проблему. У меня есть база DB1 , ее полный backup(сделанный с помощью RMAN) и пустая база DB2 на том же сервере . Как с помощью RMAN "перенести" backup DB1 на

Добрый день! Не знаю как решить следующую проблему. У меня есть база DB1 , ее полный backup(сделанный с помощью RMAN) и пустая база DB2 на том же сервере . Как с помощью RMAN "перенести" backup DB1 на DB2 ?

Читаем здесь http://my-oracle.it-blogs.com.ua/post-504.aspx

Здравствуйте ! Подскажите как клонировать с помощью RMAN данные с одного instance-aна другой "пустой" instance той же базы данных . Спасибо.

Вы читаете мой блог? там же есть пост http://my-oracle.it-blogs.com.ua/post-504.aspx К тому же вы уже задавали этот вопрос. См. там ответ.

переодически один user базы становится замкнутым и чтобы войти как этот пользователь в базу нужно его отмыкать(на нем висит замок), почему это происходит и как с этим бороться

Вероятнее всего вводится неправильный пароль. Проверьте ПЗ, скрипты..., в которых "зашит" пароль.

холодная копия 9.2 как ее сделать

читаем здесь http://my-oracle.it-blogs.com.ua/post-291.aspx



 

От авторов блога

О Блоге - прочитай перед началом.

Задать вопрос и получить ответ - уже решено 94 вопросов

Глоссарий - список терминов и сокращений


 
 

Бизнес форум

Последние темы:

Нужен поставщик Дропшиппинг
10 декабря, 1 ответа
КИНО КАФЕ!!!!!!!!!!!!!!!!
10 декабря, 1 ответа