Установка Oracle на M1 без виртуальной машины?

Есть ли способ установить 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>```

Удалось запустить на М1? Я все еще борюсь.

Sadan A. 31.07.2021 22:39
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
2
1
7 414
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Нет, у нас нет собственного решения для базы данных OS X.

Ваши варианты:

  1. Докер, Оракл Линукс
  2. Виртуалбокс, Оракл Линукс
  3. Oracle Cloud, всегда бесплатная автономная база данных

Если вам не нужна виртуальная машина, то вариант 3 довольно прост.

Вот все, что вам нужно знать от уважаемого эксперта и блогера из сообщества.

Если ваши Windows и Mac находятся в одной сети... можете ли вы пропинговать свою машину с Windows с Mac? Если это так, то да, вы можете подключиться. Вам просто нужен прослушиватель, правильно настроенный в окне Windows, наряду с вашей базой данных.

Прежде всего, спасибо за ответ. «Вам просто нужен прослушиватель, правильно настроенный в окне Windows рядом с вашей базой данных». Знаете ли вы, что я могу найти информацию об этом о том, как это сделать (?), Они также есть на вашем связанном веб-сайте? Кстати, я могу пропинговать свой компьютер...

ben.reisinger 25.12.2020 18:32

Затем попробуйте это, базовое соединение в sqldeveloper с IP-адресом вашего компьютера с Windows, портом 1521 и именем службы вашей базы данных (не используйте SID)

thatjeffsmith 25.12.2020 18:41

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

ben.reisinger 25.12.2020 19:37

В вашем окне Windows запустите из командной строки cmd, статус lsnrctl, а затем добавьте этот вывод к своему вопросу.

thatjeffsmith 25.12.2020 19:43

Что касается подхода к виртуальной машине, я использовал его в течение многих лет на своем Mac, и производительность в порядке (хотя я не использую его для какой-либо реальной работы, это просто песочница для игры с различными вещами). Использование ПК с Windows в качестве сервера хотя звучит тоже хорошо.

William Robertson 25.12.2020 19:53

Да, я использую вариант 2 на своем Mac Mini, работает нормально

thatjeffsmith 25.12.2020 19:54

После небольшого устранения неполадок выяснилось, что я не могу пропинговать свой компьютер. Раньше я пинговал свой стандартный шлюз, но не свой настоящий IP-адрес. Если я пытаюсь пропинговать IP-адрес в Терминале, я получаю мгновенный тайм-аут со 100% потерей пакета. В чем может быть ошибка в этом случае? Я также попробовал следующий запрос на sql * plus на моем компьютере с Windows: SELECT UTL_INADDR.get_host_address from dual;. Но на выходе был ipv6, который я не мог ввести в sql-разработчик.

ben.reisinger 25.12.2020 20:24

Если я попытаюсь подключиться с «10.0.0.10» в качестве IP-адреса, я по крайней мере получу окно, указывающее, что он пытается подключиться к чему-то. Но через 1-2 минуты снова выдает ошибку.

ben.reisinger 25.12.2020 20:30

Сначала нужно исправить настройку сети, и это не относится к этому вопросу...

thatjeffsmith 25.12.2020 20:33

Хорошо, но почему я не могу подключиться через ipv6? это тоже должно работать

ben.reisinger 25.12.2020 20:36

Получите свой ip4 адрес

thatjeffsmith 25.12.2020 20:37

Настройте некоторые параметры брандмауэра, и теперь я могу пропинговать свою машину, но все еще не могу подключиться к моему серверу sql на машине Windows - я использовал ipv4

ben.reisinger 25.12.2020 21:09

SQL-сервер? Я здесь, чтобы помочь вам с оракулом

thatjeffsmith 25.12.2020 21:12

Я упоминаю Oracle Sql. Я не знаю, почему я не могу подключиться. Порт правильный 1521, используемый ipv4 и логин и пароль для подключения тоже правильные. Я получаю знак загрузки, но он не может подключиться.

ben.reisinger 25.12.2020 22:03

Я попытался изменить файл имени tns, чтобы он соответствовал моим потребностям, но это все равно не сработает. Также восстановил базу данных и пк. Это ошибка, она выдается после 1,5 минут попытки подключения к базе данных: «Bei der Ausführung des angeforderten Vorgangs ist ein Fehler aufgetreten: I/O-Fehler: сетевой адаптер не смог установить соединение Herstellercode 17002» Не стесняйтесь, если вам нужна дополнительная информация.

ben.reisinger 26.12.2020 00:02

Мы попросили вас записать результат выполнения команды listener... помните?

thatjeffsmith 26.12.2020 00:05

Я помню. Их было несколько. Я попробовал их все. Когда я запускаю обычную команду состояния lsnrctl, появляется много информации. Правильно ли (HOST = LOCALHOST) или это должен быть IP-адрес?

ben.reisinger 26.12.2020 00:22

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

thatjeffsmith 26.12.2020 00:24
Ответ принят как подходящий

Заранее извиняюсь за стену текста.

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

Создание каталогов Docker Volume

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) с именем службы.

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