| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Oracle数据库的安装 -> 正文阅读 |
|
[系统运维]Oracle数据库的安装 |
对于程序员来说,数据库是必不可少的。工作中一般都是由DBA来完成数据库的搭建与管理,程序员一般只负责开发工作。但是我们身为程序员有经常会在家里自己学习或者在家办公,就像现在的新冠疫情之下浦东全封了,只好在家办公了。此时,如果没有VPN或者不能远程连接公司电脑,自己家里就可能需要一个数据库了。工作中我们用到的数据库可能各种各样,但是大家了解的比较多的、面试中问的比较多的、各种视频教程公开课讲的比较多的,还是MySQL。就拿oracle来说,可能用的人比较多,但是大家还是对mysql了解的多。这么多年的工作中我用到Oracle的时候比较少,当然了解的也不多,至于搭建Oracle,之前都没有做过,也没有想着搭建Oracle是否容易。最近因为工作的缘故,需要自己先搭建Oracle数据库,原以为和mysql一样,不管是在windows上还是Linux上,抑或是容器中,都很简单。谁知道,真正在做这件事的时候发现,没有想象的那么容易。 啰嗦了这么一大堆,其实就是想表达这么几点:
关于上面第二点,安装过Oracle的朋友们应该有所感受,而我这次的感受是特别强烈,一个字,难;两个字,真难;N个字,这特么什么跟什么啊,怎么安装个Oracle都这么难啊!具体怎么个难呢?简单来说,搞坏了我两台半的虚拟机。我们一一来说,这个不算啰嗦话,等我讲完就知道了。 开始之前,我们说一下虚拟机的情况,虚拟机是 CentOS 8-Stream。注意这一点,我后面的很多错误,个人感觉都与这个有关,而且解决起来比较麻烦,网上的解决方案都是依托于?CentOS 8 或者 CentOS 7。通过这次安装 Oracle,个人深深体会了,程序员还是不要太想着追去新的东西啊! 第一轮我是在Linux上安装的Oracle,这个对于一个有一些经验的程序员来说都是正常现象,毕竟我们的虚拟机不能让它在那吃灰是吧? 第一次安装的是11g版本的,网上找了几个教程,对比之后找到一个还不错的,一步步的走下去,结果走不下去了,把我虚拟机搞的原来好好的东西都搞坏了。 这算坏了半台。 11g不行就换了一个19c的版本安装,以为这次找到了不错的文章,结果还是gg。也可能与我的虚拟机的操作系统有关,我的是CentOS 8 Stream的版本。这个直接不知道怎么搞的,把虚拟机搞的开不了机了。这个太狠了。反正就是各种问题,各种想办法,整了整整一天。 后来换了 一台电脑 ,分别安装11g和19c都是失败。 以上四次安装 ,花费了我整整一天半的时间,在家办公全程工作的那种。 这是我电脑上下载的19c的安装包: ?就叫这个名字:WINDOWS.X64_193000_db_home.zip 总结:在Linux上安装Oracle很难。 第二轮既然Linux上安装这么难,我们就换 Windows 吧,毕竟 Windows 上也没有什么区别,不就是连数据库嘛——实际是领导催得太紧了,它张口一句半天搞定,一天搞不定搞不定就是。。。话是没什么问题,可实际上是另一个团队的leader都说了不好搞,我告诉他之前没搞过。 不说这个了,我们接着在?Windows 上安装吧!下面是我下载的?Windows 版的 Oracle。 直接安装失败,换一台物理机还是失败,不想多说了。 第三轮第一次:docker安装Oracle19c我们在 docker 容器中安装。 第一次,把虚拟机的 /var 目录空间直接搞没了,空间不足。报错如下:
又是查看磁盘空间、查看当前目录空间的,又是清理空间,又是迁移文件,又是搞软链接、硬链接的,折腾了半天,结果还是gg。
这样不明显,截图如下:
?这貌似是docker加速器没配,那好我们配置docker加速器。
插入如下内容:
?上面那个阿里云的域名就是你登陆阿里云给你的,每个人 一个,不买阿里云也有,只要登陆,查看方式:
然后看这里: ?也可以按照它给的方式去配置加速器:
然后 重载配置、重启docker:
折腾半天之后还是gg了。 yum源的配置也出问题: ?没有baseos那一个,貌似和上图第二个是类似的东西。 其实是配置过的: ?但是就像上面说的可能与 CentOS 8 Stream有关,网上的都是CentOS 8。 还有其他的错误: ?什么?找不到policy.33文件了: ?我只有?policy.31文件。 由于之前 /var 分区空间不足,我移动了文件,结果导致docker启动不了了,执行命令如下:
错误如下:
貌似docker没有启动,实际上是启动的。我们再启动试试:
然后执行上面的语句,结果还是如此。 总结:配置docker加速器后依然失败,/var 分区空间不足,后面折腾的docker启动失败,算是废了一台虚拟机。 我们换一台虚拟机——重新搭建了一台虚拟机,这次没有配置分区,就默认分区了。 第二次:docker安装Oracle19c找了一个朋友帮忙,先安装的19c版本的。 先上链接:docker安装oracle19c 不多说了,反正结果是失败的,貌似这篇文章看着感觉应该是OK的,不知道为什么,朋友远程帮我也不行,他说可能是这个Oracle19c的镜像有问题,毕竟都不是官方的镜像,而是个人自己构建的镜像。 第三次:docker安装Oracle11g上一个链接失败了,我们又换一个,也不一定非要使用Oracle19c,11g不也一样嘛,只要可用就行,不追求新的,新的坑多。 上链接:Docker 安装 oracle 我们也跟着记录一下,自己总结一下。 1、拉取?oracle11g 的镜像
?结果如下: ? 2、安装 oracle (这里没有配置自动启动容器 和 文件映射) 上文中的命令如下:
我使用这个命令执行的时候会报错,不行。换了如下命令是OK的:
其实就是:
?这是我采用原文的命令执行的结果: ?换做我的那个那个命令的结果: 3、启动容器
注意:因为我在执行 run 命令时,给它的名字是oracle11,没有g,所以报错了。 4、配置 oracle
5、切换oracle数据库的root用户下,密码:helowin
切记:此时不要退出 docker,这个就是在 docker 容器中的操作。下面是我当时的操作。 ?当时没有看文章,以为是虚拟机的登陆用户,结果输入密码错误,后来一看原来是在docker中,然后就退出来了。接着就进行了下面的步骤,一直到切换回 oracle 用户时报错了,我以为这篇文章又是坑爹的。后来才发现是我错了。不应该退出 docker ,直接在docker中切换 root 用户。 错误示范: 看到?用户 oracle 不存在我傻眼了,感觉自己错了。 6、修改profile的配置文件,打开profile文件,在末尾添加配置
然后在最下面插入:
?以上插入的内容不用修改,直接 copy 即可。 7、刷新文件
8、创建软连接?
?9、切换oracle环境
? ?截图中红框就是镜像的id,这几步没有相应信息。 10、登录sqlplus,修改sys、system用户密码,创建用户
最后的 quit 退出 SQL 是凭借感觉输入的,结果还是OK的。exit就是退出docker的命令。 ?注意:这10个步骤都是在 docker 中操作的,不要退出 docker。 总结三轮下来,我们分别在 Linux、Windows 和 docker 容器中尝试安装了 oracle,尝试了oracle19c、oracle11g等版本,最终发现:
最重要一点,我们在 docker 容器中成功地安装了 Oracle11g。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 22:30:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |