在没有 VM 的情况下在 M1 上安装 Oracle?
Installing Oracle on M1 without VM?
有没有办法在 MacOS 上安装 oracle 12c?因为我能装SQLDeveloper,但是装不了Oracle显然不能用
顺便说一句,我不想使用 VM,因为 M1 和 ARM 架构的性能很低。
PS: 我也有一台 windows PC。我在这台机器上安装了 Oracle,它运行良好。如果我有办法连接到这个“服务器”,请在下面留下堆栈溢出 link。
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 数据库解决方案。
您的选择:
- Docker,甲骨文Linux
- VirtualBox、甲骨文Linux
- Oracle 云,始终免费的自治数据库
如果您不需要 VM,那么选项 3 非常简单。
Here's everything you'd need to know from a respected expert and blogger from the community.
如果您的 windows 和 Mac 在同一网络上...您可以从 Mac ping 您的 windows 机器吗?如果是这样,那么是的,你可以连接。您只需要在数据库旁边的 windows 框中正确配置一个侦听器。
提前为文字墙道歉。
1.Section 用于 windows 安装。 docker 设置 请参阅下面的第 2 部分
(假设DB_HOME的相对路径一般在$INSTALL_DIRECTORY\product$RELEASE_VERSION$DB_HOME_NAME下,即D:\Oracle\DB201\i0\product.2.0\dbhome_1其中 INSTALL_DIRECTORY=D:\Oracle\DB201\i0
、RELEASE_VERSION=12.2.0
、DB_HOME_NAME=dbhome_1
) 您需要检查 $DB_HOME\network\admin\listener.ora
和 $DB_HOME\network\admin\tnsnames.ora
下的 listener.ora 和 tnsnames.ora 文件(后者用于为任何本机 ojdbc 客户端设置别名,但它是使用 tnsping 等进行测试的良好校验和)
使用 12c 桌面类型安装,您将获得两个侦听器定义。
对于listener和tnsnames文件,一个关键点是正确设置机器地址。除非你有静态 IP 的奢侈,否则最好有基于主机名的定义,你可以通过你的主机文件设置和切换(C:\Windows\System32\drivers\etc\hosts,如果你用记事本打开)例如:
127.0.0.1 MY-AWESOME-MACHINE
以下文件中的 $HOSTNAME 将是“MY-AWESOME-MACHINE”。显然,这是您的 ipv4 环回地址的别名,但您可以将其设置为您的 Mac 主机可用的虚拟机 IP 地址。因此 IP 地址可以更改,但您可以只更新您的主机文件的分配并重新启动您的 tns-listener 服务(如果您没有调整它,则为 OracleOraDB1Home1TNSListener)。
根据经验,我尽量使我的自定义主机名定义与 Windows 物理机或虚拟机的“设备名称”保持一致,可以在 Settings/System/About -> “重命名此电脑”[=21] 中设置=]
见下文。
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基于容器设置
对于 EL7/EL7 机器上基于 docker 的 (18.06-ce) 安装,我使用以下设置。我从来没有机会用 M1 尝试它,更不用说基于 ARM-ISA 的机器了,但如果它能帮助你,我就把它留在下面。
为了获取镜像(container-registry.oracle.com/database/enterprise:12.2.0.1-slim)需要注册oracle容器注册中心需要oracle账号(可以创建一个免费的),您可以使用它访问以下网站:
登录:https://container-registry.oracle.com
前往:浏览 Containers/Database
@Database-Repositries-Page: Select 语言,单击“企业”存储库最右侧列中的“继续”。同意提示仅供开发使用。
@Database-Repositries-Page:点击“repository”栏下的“enterprise”。
@Oracle-Database-Enterprise-Edition:在下面的标签部分,您可以看到可用的图像
在你的命令行-运行-docker-engine(1): execute "docker login container-registry.oracle.com"
在您的命令行中-运行-docker-engine(2):系统将提示您输入 oracle 帐户用户名(电子邮件)和密码。按顺序粘贴输入。
拉取镜像:docker pull container-registry.oracle.com/database/enterprise:12.2.0.1-slim
创建配置文件目录
mkdir $HOME/dkr-oradb-ecfg
创建 Docker 卷目录
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
您应该能够连接到具有 SID (ip-address:32200:orclcdb) 或 PDB(ip-address:32200/orclpdb1) 和服务名称的 CDB。
有没有办法在 MacOS 上安装 oracle 12c?因为我能装SQLDeveloper,但是装不了Oracle显然不能用
顺便说一句,我不想使用 VM,因为 M1 和 ARM 架构的性能很低。
PS: 我也有一台 windows PC。我在这台机器上安装了 Oracle,它运行良好。如果我有办法连接到这个“服务器”,请在下面留下堆栈溢出 link。
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 数据库解决方案。
您的选择:
- Docker,甲骨文Linux
- VirtualBox、甲骨文Linux
- Oracle 云,始终免费的自治数据库
如果您不需要 VM,那么选项 3 非常简单。
Here's everything you'd need to know from a respected expert and blogger from the community.
如果您的 windows 和 Mac 在同一网络上...您可以从 Mac ping 您的 windows 机器吗?如果是这样,那么是的,你可以连接。您只需要在数据库旁边的 windows 框中正确配置一个侦听器。
提前为文字墙道歉。
1.Section 用于 windows 安装。 docker 设置 请参阅下面的第 2 部分
(假设DB_HOME的相对路径一般在$INSTALL_DIRECTORY\product$RELEASE_VERSION$DB_HOME_NAME下,即D:\Oracle\DB201\i0\product.2.0\dbhome_1其中 INSTALL_DIRECTORY=D:\Oracle\DB201\i0
、RELEASE_VERSION=12.2.0
、DB_HOME_NAME=dbhome_1
) 您需要检查 $DB_HOME\network\admin\listener.ora
和 $DB_HOME\network\admin\tnsnames.ora
下的 listener.ora 和 tnsnames.ora 文件(后者用于为任何本机 ojdbc 客户端设置别名,但它是使用 tnsping 等进行测试的良好校验和)
使用 12c 桌面类型安装,您将获得两个侦听器定义。
对于listener和tnsnames文件,一个关键点是正确设置机器地址。除非你有静态 IP 的奢侈,否则最好有基于主机名的定义,你可以通过你的主机文件设置和切换(C:\Windows\System32\drivers\etc\hosts,如果你用记事本打开)例如:
127.0.0.1 MY-AWESOME-MACHINE
以下文件中的 $HOSTNAME 将是“MY-AWESOME-MACHINE”。显然,这是您的 ipv4 环回地址的别名,但您可以将其设置为您的 Mac 主机可用的虚拟机 IP 地址。因此 IP 地址可以更改,但您可以只更新您的主机文件的分配并重新启动您的 tns-listener 服务(如果您没有调整它,则为 OracleOraDB1Home1TNSListener)。 根据经验,我尽量使我的自定义主机名定义与 Windows 物理机或虚拟机的“设备名称”保持一致,可以在 Settings/System/About -> “重命名此电脑”[=21] 中设置=]
见下文。
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基于容器设置 对于 EL7/EL7 机器上基于 docker 的 (18.06-ce) 安装,我使用以下设置。我从来没有机会用 M1 尝试它,更不用说基于 ARM-ISA 的机器了,但如果它能帮助你,我就把它留在下面。
为了获取镜像(container-registry.oracle.com/database/enterprise:12.2.0.1-slim)需要注册oracle容器注册中心需要oracle账号(可以创建一个免费的),您可以使用它访问以下网站: 登录:https://container-registry.oracle.com 前往:浏览 Containers/Database @Database-Repositries-Page: Select 语言,单击“企业”存储库最右侧列中的“继续”。同意提示仅供开发使用。 @Database-Repositries-Page:点击“repository”栏下的“enterprise”。 @Oracle-Database-Enterprise-Edition:在下面的标签部分,您可以看到可用的图像 在你的命令行-运行-docker-engine(1): execute "docker login container-registry.oracle.com" 在您的命令行中-运行-docker-engine(2):系统将提示您输入 oracle 帐户用户名(电子邮件)和密码。按顺序粘贴输入。 拉取镜像:docker pull container-registry.oracle.com/database/enterprise:12.2.0.1-slim
创建配置文件目录
mkdir $HOME/dkr-oradb-ecfg
创建 Docker 卷目录
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
您应该能够连接到具有 SID (ip-address:32200:orclcdb) 或 PDB(ip-address:32200/orclpdb1) 和服务名称的 CDB。