【M1 Mac利用oracle 数据库】一个办理silicon芯片Mac利用Oracle11g数据库的 ...

立山  金牌会员 | 2024-6-22 12:57:18 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 863|帖子 863|积分 2589

先展示一下终极效果


写在开始:

本教程所需硬件及软件:

  • mac silicon机型(mac intel机型也可以参考利用)
  • VMware Workstation Pro或者Parallels Desktop虚拟机软件
  • Windows 10/11 arm64 安装镜像。
  • navicat或者其他数据库访问软件(非必需)
本次利用硬件及软件:


  • MacBook Pro M1Pro 14‘
  • macOS 14.0 Sonoma
  • Parallels Desktop 19
  • Windows 11 pro 22H2 arm64
  • Oracle 11g 桌面级数据库
  • navicat 16
教程正文


  • 打开正常安装的Windows虚拟机 parallels也好 vmware也好(这个安装过程建议百度)
    (这里我用parallels desktop + Windows 11 Pro 作为例子)

2.按照正常流程安装好Oracle 11g

3. 网络模式选择与主机共享网络

4. 然后记下实体机ip计作ip1 虚拟机ip计作ip2(以下ip1,ip2请根据现实情况设置)
IP1: 10.211.55.2
IP2: 10.211.55.4
注:作为一台当代电脑,大概会有多个网络,会有多个ip地点,记得选择和虚拟机一致的ip,由于这是虚拟机和实体机共有的网络。
具体查找办法:
虚拟机:pd的同学直接按照上面第三步那样即可检察,vm的同学就在虚拟机里搜刮里输入cmd,唤出Windows命令提示符之后输入ipconfig并回车即可检察虚拟机地点ip地点。

实体机:mac下按住command + space(空格)唤出搜刮 输入 terminal 启动终端,
​ 输入 ifconfig 回车 在返回效果里寻找和上面截图基本一致的那个

5. 虚拟机下关闭防火墙,三个模式(域配置文件,专用配置文件,公用配置文件)的防火墙都要关掉
1)搜刮里输入防火墙,选择并打开圈中项

2)点击检察其属性

3) 将下面几个模式的防火墙全部完全关闭



6. 然后服务里将Oracle开头倒数第一个正在运行的listener服务重启

7. 在Windows里ping ip1 在mac里 ping ip2 通的话去往下一步

8. 在Mac实体机里打开navicat

9. 新建oracle 连接 主机填ip2。服务名填ORCL或者orcl(当然具体看你本身 不确定的可以在Windows虚拟机中sqlplus下利用select global_name from global_name; 来查找)脚色无论默认或者sysdba 密码都是你设置好的那个。



10. 如果navicat报一个ORA-12514:TNS:listener does not currently know of service requested in connect descriptor错误的话 , 将你的虚拟机重启一下 即可。如果重启后还是报这个错误,查抄您的连接服务名是否填写准确。
11. 至此教程竣事
12. 当然有些小伙伴大概会问说如果我想用终端直接访问SQLPLUS怎么办呢?
这个可以参考以下步骤:
1)在Windows 可选功能里搜刮OPEN SSH,安装Open SSH 服务器

2)在Windows里设置openssh服务端默认启动
以管理员身份打开PowerShell,然后运行以下命令来启动 sshd service
  1. ```bash
  2. 启动sshd服务
  3. Start-Service sshd
  4. 将sshd服务设置为自动启动,若不设置需要在每次重启后重新开启sshd
  5. Set-Service -Name sshd -StartupType 'Automatic'
  6. ```
复制代码

3) 之后我们在mac 终端里输入 ssh ”虚拟机用户名“@“虚拟机ip地点

这里有一个题目就是默认必要利用有密码账户登录,而我虚拟机里未设置密码,
让我们返回虚拟机,给我们的账户创建一个密码(建议利用和数据库相同密码,单纯好记)
4)再次尝试从本地登录虚拟机


登录乐成
输入sqlplus,进入SQLPLUS 界面,测试数据库访问,完成。

5)顺便说一个办理远程访问oracle数据库中文显示乱码的办理办法(我这种办法估计遇不到乱码但是也不肯定,以是放在这里)。「可选」
进入SqlPLUS界面,进入所要利用的用户模式下,
输入 select userenv(‘language’) from dual;
显示返回效果:

然后退出SQL环境给终端参加环境变量(保举利用临时参加办法以免利用其他文字显示再次乱码)
临时参加办法 终端里输入 export NLS_LANG=“上面截图里查询到的效果”
13. ps: 现实上我感觉这种办法的原理跟Ubuntu虚拟机 + Docker + MySQL区别不大,还是感谢Windows Arm64的强大的兼容性(感谢微软屎山(划掉)),毕竟这可爱的oracle不给arm出client。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表