При установке Oracle 12c не удалось получить доступ к временному расположению
У меня есть Windows 8.1 64-битная ОС, работающая на 64-битной архитектуре. Я устанавливаю свежую копию Oracle 12C, это значит, что я не устанавливал ни одной версии в своей системе.
Во время установки я обнаружил следующее сообщение об ошибке;
Cause - Failed to access the temporary location. Action - Ensure that the current user has required permissions to access the temporary location. Additional Information:
- Framework setup check failed on all the nodes - Cause: Cause Of Problem Not Available - Action: User Action Not Available Summary of the failed nodes al-naseeha - Version of exectask could not be retrieved from node "al-naseeha" - Cause: Cause Of Problem Not Available - Action: User Action Not Available
Код ошибки [INS-30131]. У меня есть все привилегии администратора корабля. Я также попытался решить эту проблему с помощью следующей команды;
net use \\localhost\c$
Но не зря. Не могли бы вы помочь мне разобраться в этом вопросе.
15 ответов
Ошибка вызвана тем, что административные ресурсы отключены. Если они не могут быть включены, выполните следующий обходной путь:
6.2.23 Ошибка INS-30131 при установке базы данных Oracle или клиента Oracle
Если административные общие ресурсы не включены при выполнении установки одного экземпляра Oracle Database или Oracle Client для 12c Release 1 (12.1) в Microsoft Windows 7, Microsoft Windows 8 и Microsoft Windows 10, то установка завершится неудачно с
INS-30131
ошибка.Временное решение:
Выполнить
net share
Команда, чтобы убедиться, что административные общие ресурсы включены. Если они отключены, включите их, следуя инструкциям в документации Microsoft Windows. Или выполните установку клиента или сервера, указав следующие параметры:
Для установки клиента:
-ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"
Для установки сервера:
-ignorePrereq -J"-Doracle.install.db.validate.supportedOSCheck=false"
Эта проблема отслеживается с помощью ошибки Oracle 21452473.
Источник: Примечания к выпуску базы данных Oracle (раздел 6.2.23)
Глядя на сайт поддержки Oracle, это может быть одна из двух вещей (может быть #2 в вашем случае, но включая оба).
Проблема 1:
Включите административный общий ресурс для C$ (обратитесь к системному администратору, чтобы сделать это, или см. Документ Microsoft http://support.microsoft.com/kb/314984)
Проверьте, что все в порядке:
- net use \\ c $ должен работать
- текущий пользователь (то есть пользователь в группе администраторов) должен иметь все привилегии для общего ресурса по умолчанию
Повторите установку
- Удалите административный ресурс снова
Проблема 2: Удалите OracleRemExecService перед установкой 32-разрядной или 64-разрядной установки Oracle Client 12c Release 1 на ту же 64-разрядную или 64-разрядную версию Microsoft Windows после установки 64-разрядного или 32-разрядного программного обеспечения Oracle.
- Зайдите в "Сервисы" Windows
- Остановить OracleRemExecServiceV2
(Эта служба обладает интеллектом. Как только кто-то пытается остановить ее, эта служба удаляется. Это связано с тем, что эта служба работает не из Oracle Home, как другие службы Oracle, а из temp. Например: C: \ Users \ AppData \ Local \ Temp \ oraremservi...)
- Затем попробуйте установить Oracle 12c 32-разрядный или 64-разрядный на том же Microsoft Windows x64 (64-разрядный)
Я обнаружил еще одну ситуацию, в которой может возникнуть эта проблема (несмотря на выполнение действий, перечисленных другими пользователями выше), и именно тогда имя пользователя, под которым вы вошли в систему, имеет "_". Путь, который он попытается использовать для нахождения временного каталога, соответствует тому, что задано в%TEMP%. Мне удалось обойти это путем:
- Запустите cmd.exe в режиме администратора.
- SET TEMP = C:\TEMP
- Запустите установщик из этого командного окна
Успешно установлен таким образом.
(Решение) Та же проблема: Windows 10 против Oracle 11g (11.2.0.4)
Проблема возникает снова с окончательным выпуском Windows 10 (и Server 2016 Preview 3) с использованием, например, Oracle 11g (11.2.0.4, 64-разрядная версия) после того, как задачи установки работали нормально с несколькими предварительными сборками Windows 10. Все сказанное выше в порядке соответственно не работай.
Конечная причина - несовместимость OracleRemExecService (по сравнению с RemoteExecService.exe): как известно, в начале процесса установки он создается через%TEMP%\oraremservice. Если вы посмотрите его, например, с помощью ProcessMonitor от Sysinternals, используя соответствующий фильтр, вы увидите несколько сбоев (большинство из них с "переполнением буфера") и перезапуски, а также есть соответствующие сообщения в журнале событий "Система" Windows.
Если вы начнете (после удаления HKLM\Software\oracle в реестре) установку несколько раз (более трех раз - см. Ниже), она внезапно сработает. Причиной такого поведения является механизм Windows Fault Tolerant Heap (см. https://msdn.microsoft.com/de-de/library/windows/desktop/dd744764(v=vs.85).aspx) который создается после три попытки в течение 60 минут (см. http://blogs.technet.com/b/askperf/archive/2009/10/02/windows-7-windows-server-2008-r2-fault-tolerant-heap-and-memory-management.aspx) запись FTH в HKLM\Software\Microsoft\FTH\State и соответствующая прокладка в HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers. Хотя содержимое записи FTH связано с текущим процессом RemoteExecService.exe, вы можете импортировать ключи реестра в систему перед началом установки БД. Если вы установите для переменной среды Windows% TEMP%, а также %TMP% (из-за того, что Oracle использует оба каталога при создании объектов вокруг OracleRemExecService) в предопределенное значение (например, C:\TEMP), вы можете использовать его для Все ваши задачи по установке выполняются следующим образом (к сожалению, он работает только с Windows 10, а не с Server 2016 - обновлено 2015-09-24, см. ниже):
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Temp\\oraremservice\\RemoteExecService.exe"="FaultTolerantHeap"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FTH\State]
"C:\\Temp\\oraremservice\\RemoteExecService.exe"=hex:10,00,00,00,10,00,00,00,\
0c,b4,ff,0c,52,00,65,00,6d,00,6f,00,74,00,65,00,45,00,78,00,65,00,63,00,53,\
00,65,00,72,00,76,00,69,00,63,00,65,00,2e,00,65,00,78,00,65,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00
Обновление 2015-09-24: в Server 2016 (Preview 3) все немного сложнее: сначала нужно также установить переменную среды% TEMP%, например, C:\Temp, и импортировать ключи реестра выше (после этого, это не плохая идея, чтобы перезагрузить систему). Затем вы начинаете установку Oracle, используя дополнительный параметр:
setup.exe -debug
Если вы посмотрите, что происходит в% TEMP%, то увидите, что папка%TEMP%\oraremservice\ создается дважды: после первого создания установщик, похоже, замечает, что служба не работает, удаляет папку и создает ее снова. После этого процесс установки работает как положено.
Обновление 2015-11-27: - При использовании Windows Server 2016 Preview 4 обходной путь через "setup.exe -debug" больше не требуется; Вы можете продолжить, как описано для Windows 10. - Конечно, вам не нужна процедура с новыми C: \ TEMP против% TEMP% и% TMP%, если у вас есть определенный пользователь (например, Администратор). Затем вы можете использовать измененные элементы реестра, как это:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Users\\Administrator\\AppData\\Local\\Temp\\oraremservice\\RemoteExecService.exe"="FaultTolerantHeap"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FTH\State]
"C:\\Users\\Administrator\\AppData\\Local\\Temp\\oraremservice\\RemoteExecService.exe"=hex:10,00,00,00,10,00,00,00,\
0c,b4,ff,0c,52,00,65,00,6d,00,6f,00,74,00,65,00,45,00,78,00,65,00,63,00,53,\
00,65,00,72,00,76,00,69,00,63,00,65,00,2e,00,65,00,78,00,65,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
00,00,00,00,00,00,00,00,00
Обновление 2017-01-31: До сих пор тестировались все сборки Windows 10 (Insider Preview), поэтому мы увидели новую проблему, возникающую в сборке 15002: установка Oracle больше не может определить переменную PATH (сама переменная), не неправильный контент или так далее!). Поэтому все попытки установить БД Oracle провалились. Сравнение реестра версий Windows и "игры" с этой переменной и их содержимым не помогло. Единственный обходной путь - отредактировать соответствующий XML-файл \64bit|32bit\stage\cvu\cvu_prereq.xml и удалить в разделе все теги... (или этот тег только в последнем элементе "Windows Server 2012"). И между прочим: несмотря на то, что мы в основном используем Oracle 11g, эта новая проблема установки также возникает при использовании современной установки Oracle 12c...
Эта ошибка может быть вызвана именем пользователя с китайскими символами.
- Создайте нового локального пользователя Windows с английским именем пользователя. Убедитесь, что в имени пользователя нет пробелов.
- Установите Oracle, используя только что созданного пользователя.
Попробуйте очистить файл hosts.
Я потратил на это примерно полдня, и ни один из этих ответов не помог мне. В конце концов я нашел решение, на которое намекали в OTN (последнее место, которое я смотрю, когда сталкиваюсь с проблемами Oracle), и кто-то упомянул, просматривая файл hosts. Недавно я изменил файл hosts, потому что этот конкретный компьютер не имел доступа к DNS.
У меня была строка для этого хоста:
123.123.123.123 fully.qualified.domain.name.com hostname
Комментирование приведенной выше строки позволило мне установить клиент Oracle.
Основной проблемой в вашем случае будет сбой доступа к \\localhost\c$
Если при попытке получить доступ к скрытому общему ресурсу C Windows (C$) появляется ошибка:
C: \> net use \\localhost\c$
Произошла системная ошибка 53.
Сетевой путь не найден.
Вам могут пригодиться следующие статьи: KB254210 и KB951016.
Просто убедитесь, что ваши службы TCP/IP NetBIOS Helper и Server работают (Start-Run, services.msc) и попробуйте снова:
C: \> net use \ localhost \ c $
Команда выполнена успешно.
Конечно, ваш пользователь должен быть либо администратором, либо входить в группу администраторов.
Если это не помогло, отредактируйте реестр вручную (Start-Run, regedit). Перейдите к:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System
и создайте новое значение DWORD LocalAccountTokenFilterPolicy, равное 1
После решения этой проблемы и установки Oracle Database Server вы можете отключить свою службу TCP/IP NetBIOS Helper, если она вам больше не нужна.
Ссылки: http://groglogs.blogspot.ro/2013/11/windows-cannot-access-hidden-c-admin.html
Для других:
Если у вас нет проблемы с \\localhost\c$, то у вас может быть другая проблема с вашим именем пользователя, как указано другими (например, имя пользователя с '_' в нем):
Это будет решено путем изменения переменных среды TEMP и TMP из командной строки, а затем запуска оттуда setup.exe.
Если это все еще не работает:
Попробуйте запустить setup.exe с параметром-debug и посмотреть, что там происходит.
Вы также можете проверить, что находится в файлах.log, созданных в вашей папке%TEMP% (например, ssproiut_%number%.log).
Вы можете настроить setup.exe, чтобы пропустить эту проверку, используя параметры ниже -
setup.exe -ignorePrereq -ignorePrereq -J"-Doracle.install.db.validate.supportedOSCheck=false"
Моя проблема заключалась в том, что у меня была остановлена служба сервера, и это вызвало точно такую же проблему. Так запустили службу сервера и установка работала.
Подведем итог: Oracle под Windows имеет проблемы с именами пользователей, содержащими неанглийские буквы или специальные символы:
Если ваша машина установлена недавно, сначала посмотрите здесь. Все проблемы, связанные с сетью или 32 против 64, могут быть несущественными для вас:
Как уже указывали другие, эта ошибка тесно связана с именем директории TEMP. Это пришло мне в голову при установке Oracle 11g в первый раз на совершенно новую Windows (например, Server 2008 R2 или Win 7, что не важно).
Как я выяснил, на моей машине проблема заключалась в том, что имя пользователя содержало специальный немецкий символ ("ö"). Более того, Oracle не может обрабатывать какие-либо специальные символы, я полагаю, путь TEMP ограничен буквами. Другие коллеги сообщили о проблемах с подчеркиванием и китайскими иероглифами.
Объяснение: В Windows по умолчанию каталог TEMP (переменная среды%TEMP%) находится в каталоге пользователя, например:
C:\Users\ThisUser\AppData\Local\Temp
Если "ThisUser" содержит специальные символы или символы, отличные от ASCII, то в этом случае это влияет на путь TEMP, и именно здесь Oracle получает проблемы.
Установка директории TEMP в другой каталог - это, конечно, еще одна возможность вместо установки с другим именем пользователя.
Более того, Oracle не является полностью родным гражданином Windows, который все узнают, если он откроет файл журнала установки Oracle с помощью блокнота;-) Очевидно, это не программируется чисто и переносимо, например, с использованием "std::endl" вместо "\" . n " . (Да, Notepad++ и другие редакторы делают свою работу.)
В целом, у меня сложилось впечатление, что если бы база данных была того же качества, что и установщик, Oracle не был бы таким успешным.
Последнее замечание: Да, после неудачной установки из-за специальных символов вы видите только одну службу Oracle с именем OracleRemExecService, но нет причин останавливать это вручную, как рекомендуется в других решениях, если вы можете установить новую ОС заново.
Установите его из CMD с помощью команды
setup.exe -ignorePrereq -J"-Doracle.install.client.validate.clientSupportedOSCheck=false"
Если в вашей учетной записи есть пробелы и вы пробовали все вышеперечисленное, но ни одна из них не сработала,
Я рекомендовал вам создать новую учетную запись пользователя Windows и дать ей административные привилегии, а не стандартные.
Выйдите из своей старой учетной записи, войдите в эту новую учетную запись и повторите попытку установки. Это сработало хорошо.
Эта проблема возникает из-за административной доли.
Вот решение:
Задавать
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System DWORD
значение:LocalAccountTokenFilterPolicy
до 1Перейдите по этой ссылке: http://www.snehashish.com/install-oracle-database-12c-software/ Следуйте 8-й точке.
Это мне очень помогло.
После создания скрытого ресурса (c$) он должен выглядеть следующим образом (вы можете игнорировать вкладку описания)
И дай мне знать, сработало ли это или нет.
Я столкнулся с этой ошибкой при попытке установить клиент 12c 32x на Windows 10. "net use \\localhost\c$"
работал, но когда я заменил "localhost" "имя" компьютера (например, \\my-computer\c$
), Я получил "System error 53 ...
". Oracle, кажется, предпочитает имя компьютера.
Что это исправило: мы временно отключили протокол IPv6 для компьютера (наша сеть использует IPv4). Как это сделать: Панель управления -> Центр управления сетями и общим доступом -> Изменить настройки адаптера -> щелкнуть правой кнопкой мыши на Ethernet Connection -> Свойства -> снять флажок "Протокол Интернета версии 6 (TCP/IPv6) -> ОК Это должно отключить его. После этого \\my-computer\c$
успешно запущен в командной строке. Затем установщик Oracle наконец-то завершил работу, и мы смогли настроить сервер базы данных.
Просто чтобы проверить это, мы снова включили IPv6 и перезагрузили компьютер. \\my-computer\c$
не удалось в командной строке cmd, но tnsping по-прежнему функционировал правильно.
Я надеюсь, что это поможет кому-то в будущем.
Убедитесь, что ваше имя администратора не содержит пробелов " " или других символов, кроме латинского алфавита. если есть проблема, вам нужно создать новую учетную запись пользователя с правами администратора, и вы можете выполнить установку с этим пользователем.