Есть ли способ установить oracle 12c на MacOS? Потому что я могу установить SQL Developer, но я, очевидно, не могу использовать его, если не могу установить Oracle.
Кстати, я не хочу использовать виртуальную машину из-за низкой производительности M1 и архитектуры ARM.
PS: у меня также есть компьютер с Windows. На этой машине я установил Oracle, и он отлично работает. Если есть способ подключиться к этому «Серверу», пожалуйста, оставьте ссылку на переполнение стека ниже.
STATUS des LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 19.0.0.0.0 - Production
Startdatum 25-DEZ-2020 23:09:33
Uptime 0 Tage 1 Std. 29 Min. 12 Sek.
Traceebene off
Sicherheit ON: Local OS Authentication
SNMP OFF
Parameterdatei des Listener C:\Users\Ben\Desktop\db_home\network\admin\listener.ora
Logdatei des Listener D:\benOracle\diag\tnslsnr\DESKTOP-FT8E4S1\listener\alert\log.xml
Zusammenfassung Listening-Endpunkte...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=DESKTOP-FT8E4S1)(PORT=5500))(Security=(my_wallet_directory=D:\BENORACLE\admin\orcl\xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services ▄bersicht...
Dienst "52448234712340b69f274bcc790ecfe0" hat 1 Instanzen.
Instanz "orcl", Status READY, hat 1 Handler f³r diesen Dienst...
Dienst "CLRExtProc" hat 1 Instanzen.
Instanz "CLRExtProc", Status UNKNOWN, hat 1 Handler f³r diesen Dienst...
Dienst "cfc353defce0494a8a440e7d1f817c2d" hat 1 Instanzen.
Instanz "orcl", Status READY, hat 1 Handler f³r diesen Dienst...
Dienst "orcl" hat 1 Instanzen.
Instanz "orcl", Status READY, hat 1 Handler f³r diesen Dienst...
Dienst "orclXDB" hat 1 Instanzen.
Instanz "orcl", Status READY, hat 1 Handler f³r diesen Dienst...
Dienst "orclpdb" hat 1 Instanzen.
Instanz "orcl", Status READY, hat 1 Handler f³r diesen Dienst...
Der Befehl wurde erfolgreich ausgef³hrt.
LSNRCTL>```
Нет, у нас нет собственного решения для базы данных OS X.
Ваши варианты:
Если вам не нужна виртуальная машина, то вариант 3 довольно прост.
Вот все, что вам нужно знать от уважаемого эксперта и блогера из сообщества.
Если ваши Windows и Mac находятся в одной сети... можете ли вы пропинговать свою машину с Windows с Mac? Если это так, то да, вы можете подключиться. Вам просто нужен прослушиватель, правильно настроенный в окне Windows, наряду с вашей базой данных.
Прежде всего, спасибо за ответ. «Вам просто нужен прослушиватель, правильно настроенный в окне Windows рядом с вашей базой данных». Знаете ли вы, что я могу найти информацию об этом о том, как это сделать (?), Они также есть на вашем связанном веб-сайте? Кстати, я могу пропинговать свой компьютер...
Затем попробуйте это, базовое соединение в sqldeveloper с IP-адресом вашего компьютера с Windows, портом 1521 и именем службы вашей базы данных (не используйте SID)
Как называется служба или где ее найти? Извините, но я совсем новичок в оракуле
В вашем окне Windows запустите из командной строки cmd, статус lsnrctl, а затем добавьте этот вывод к своему вопросу.
Что касается подхода к виртуальной машине, я использовал его в течение многих лет на своем Mac, и производительность в порядке (хотя я не использую его для какой-либо реальной работы, это просто песочница для игры с различными вещами). Использование ПК с Windows в качестве сервера хотя звучит тоже хорошо.
Да, я использую вариант 2 на своем Mac Mini, работает нормально
После небольшого устранения неполадок выяснилось, что я не могу пропинговать свой компьютер. Раньше я пинговал свой стандартный шлюз, но не свой настоящий IP-адрес. Если я пытаюсь пропинговать IP-адрес в Терминале, я получаю мгновенный тайм-аут со 100% потерей пакета. В чем может быть ошибка в этом случае? Я также попробовал следующий запрос на sql * plus на моем компьютере с Windows: SELECT UTL_INADDR.get_host_address from dual;. Но на выходе был ipv6, который я не мог ввести в sql-разработчик.
Если я попытаюсь подключиться с «10.0.0.10» в качестве IP-адреса, я по крайней мере получу окно, указывающее, что он пытается подключиться к чему-то. Но через 1-2 минуты снова выдает ошибку.
Сначала нужно исправить настройку сети, и это не относится к этому вопросу...
Хорошо, но почему я не могу подключиться через ipv6? это тоже должно работать
Получите свой ip4 адрес
Настройте некоторые параметры брандмауэра, и теперь я могу пропинговать свою машину, но все еще не могу подключиться к моему серверу sql на машине Windows - я использовал ipv4
SQL-сервер? Я здесь, чтобы помочь вам с оракулом
Я упоминаю Oracle Sql. Я не знаю, почему я не могу подключиться. Порт правильный 1521, используемый ipv4 и логин и пароль для подключения тоже правильные. Я получаю знак загрузки, но он не может подключиться.
Я попытался изменить файл имени tns, чтобы он соответствовал моим потребностям, но это все равно не сработает. Также восстановил базу данных и пк. Это ошибка, она выдается после 1,5 минут попытки подключения к базе данных: «Bei der Ausführung des angeforderten Vorgangs ist ein Fehler aufgetreten: I/O-Fehler: сетевой адаптер не смог установить соединение Herstellercode 17002» Не стесняйтесь, если вам нужна дополнительная информация.
Мы попросили вас записать результат выполнения команды listener... помните?
Я помню. Их было несколько. Я попробовал их все. Когда я запускаю обычную команду состояния lsnrctl, появляется много информации. Правильно ли (HOST = LOCALHOST) или это должен быть IP-адрес?
Как я уже сказал, обновите свой вопрос выводом
Заранее извиняюсь за стену текста.
1.Раздел для установки windows. См. раздел 2 ниже для настройки докера.
(Предполагая относительные пути к DB_HOME, который обычно находится в $INSTALL_DIRECTORY\product$RELEASE_VERSION$DB_HOME_NAME, т.е. D:\Oracle\DB\12201\i0\product\12.2.0\dbhome_1, где INSTALL_DIRECTORY=D:\Oracle\DB\12201\i0
, RELEASE_VERSION=12.2.0
, DB_HOME_NAME=dbhome_1
) Вам нужно проверить ваш файл listener.ora и tnsnames.ora под $DB_HOME\network\admin\listener.ora
и $DB_HOME\network\admin\tnsnames.ora
(последний предназначен для наличия псевдонима для любого собственного клиента ojdbc, но это хорошая контрольная сумма для тестирования с помощью tnsping и т. д.)
При установке настольного типа 12c вы получаете два определения прослушивателя.
Для файлов прослушивателя и tnsnames одним из ключевых моментов является правильная настройка адреса машины. Если у вас нет роскоши статического IP-адреса, лучше иметь определения на основе имени хоста, которые вы можете настроить и переключать через файл hosts (C:\Windows\System32\drivers\etc\hosts, если вы открываете с помощью блокнота) такой как:
127.0.0.1 MY-AWESOME-MACHINE
где $HOSTNAME в следующих файлах будет "MY-AWESOME-MACHINE". Очевидно, что это псевдоним для вашего петлевого адреса ipv4, но вы можете настроить его так, чтобы он был доступен вашему хосту Mac для IP-адреса вашей виртуальной машины. Таким образом, IP-адрес может измениться, но вы можете просто обновить назначение файла hosts и перезапустить службу tns-listener (OracleOraDB1Home1TNSListener, если вы не смирились с этим). Как правило, я стараюсь, чтобы мое пользовательское имя хоста согласовывалось с «Именем устройства» физической или виртуальной машины Windows, которое можно установить в «Настройки/Система/О программе» -> «Переименовать этот компьютер».
См. следующее.
listener.ora должен иметь:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = **$DB_HOME**)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:**$DB_HOME**\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = **$HOSTNAME**)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
tnsnames.ora предпочтительно должен иметь:
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
LOCALORCLPDB=
(DESCRIPTION=
(ADDRESS=
(PROTOCOL=TCP)
(HOST=**$HOSTNAME**)
(PORT=1521)
)
(CONNECT_DATA=
(SERVER = DEDICATED)
(SERVICE_NAME = ORCLPDB)
)
)
2. Настройка контейнера на основе Docker Для установки на основе докеров (18.06-ce) при настройке на машине EL7/EL7 я использую для своей настройки следующее. У меня никогда не было возможности попробовать это с M1 или, тем более, с машиной на базе ARM-ISA, но если это может вам помочь, я оставлю это ниже.
Чтобы получить образ (container-registry.oracle.com/database/enterprise:12.2.0.1-slim), вам необходимо зарегистрироваться в реестре контейнеров oracle, для чего требуется учетная запись oracle (вы можете создать бесплатную), с помощью которой вы получаете доступ к веб-сайту для следующего: Логин: https://container-registry.oracle.com Перейти к просмотру контейнеров/базы данных @Database-Repositries-Page: выберите «Язык», нажмите «Продолжить» в крайнем правом столбце для «корпоративного» репозитория. Согласитесь с запросом на использование только для разработки. @Database-Repositries-Page: щелкните «предприятие» в столбце «репозиторий». @Oracle-Database-Enterprise-Edition: внизу в разделе тегов вы можете увидеть доступные изображения. В вашей командной строке работает docker-engine (1): выполните «docker login container-registry.oracle.com» In-your-command-line-running-docker-engine(2): вам будет предложено ввести имя пользователя (адрес электронной почты) и пароль вашей учетной записи oracle. вставить-ввести по порядку. Извлечение образа: docker pull container-registry.oracle.com/database/enterprise:12.2.0.1-slim
mkdir $HOME/dkr-oradb-ecfg
mkdir -p $HOME/shared/DockerVolumes/ORA-DB/DB-ORA-SLIM-0
# Create the credential file, it might not be able to override values so this rather more for reference, DO NOT USE in PRODUCTION especially for an instance with public access
sh -c 'cat << EOF > $HOME/dkr-oradb-ecfg/db-ora-slim-0.env.list
ORACLE_SID=orclcdb
ORACLE_PDB=orclpdb1
ORACLE_PWD=Oradoc_db1
EOF'
# Run the container
# As a rule-of-thumb I try to forward the ports exposed from a container as much as I can, so you can opt to run with the defaults. The catch is, the forwarded ports should be allowed in via firewall (in case a firewall is present)
docker run -d --name db-ora-slim-0 -p 32200:1521 -p 32201:5500 -v $HOME/shared/DockerVolumes/ORA-DB/DB-ORA-SLIM-0:/opt/oracle/oradata --env-file $HOME/dkr-oradb-ecfg/db-ora-slim-0.env.list container-registry.oracle.com/database/enterprise:12.2.0.1-slim
Вы должны иметь возможность подключиться к CDB с SID (ip-адрес: 32200: orclcdb) или PDB (ip-адрес: 32200/orclpdb1) с именем службы.
Удалось запустить на М1? Я все еще борюсь.