При установке 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:

  1. Включите административный общий ресурс для C$ (обратитесь к системному администратору, чтобы сделать это, или см. Документ Microsoft http://support.microsoft.com/kb/314984)

  2. Проверьте, что все в порядке:

    • net use \\ c $ должен работать
    • текущий пользователь (то есть пользователь в группе администраторов) должен иметь все привилегии для общего ресурса по умолчанию
  3. Повторите установку

  4. Удалите административный ресурс снова

Проблема 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%. Мне удалось обойти это путем:

  1. Запустите cmd.exe в режиме администратора.
  2. SET TEMP = C:\TEMP
  3. Запустите установщик из этого командного окна

Успешно установлен таким образом.

(Решение) Та же проблема: 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...

Эта ошибка может быть вызвана именем пользователя с китайскими символами.

  1. Создайте нового локального пользователя Windows с английским именем пользователя. Убедитесь, что в имени пользователя нет пробелов.
  2. Установите 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 и дать ей административные привилегии, а не стандартные.

Выйдите из своей старой учетной записи, войдите в эту новую учетную запись и повторите попытку установки. Это сработало хорошо.

Эта проблема возникает из-за административной доли.

Вот решение:

  1. Задавать HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System DWORD значение: LocalAccountTokenFilterPolicy до 1

  2. Перейдите по этой ссылке: 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 по-прежнему функционировал правильно.

Я надеюсь, что это поможет кому-то в будущем.

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

Другие вопросы по тегам