云服务器centos8安装oracle19c的详细教程
作者:无素达 发布时间:2024-01-23 06:36:23
因为云服务器的centos是没有图形界面的,所以安装比较麻烦,刚好19c有本地rpm的安装方法,所以推荐用rpm安装。
首先到官网下载rpm包,然后上传到服务器。官网需要先注册账号,而且因国情原因下载很慢,我下载传到网盘了。
链接: https://pan.baidu.com/s/1VypTTrd9zpiLzw1_zV8pVw 提取码: sexh
上传到服务器的两个rpm文件,第一个是数据库安装包,第二个是安装数据库的准备环境,安装的时候先安装第二个。
一、用yum安装准备环境配置:
在安装之前,建议先更新yum源: yum update -y 安装orale准备环境: yum localinstall oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm 安装完之后,会自动创建一个用户名是 oracle的dba账号,检查一下有没有安装成功,例如查看一下有没有oracle用户
因为默认云服务器默认主机名都是一大串数字并不好操作,建议修改一下服务器主机名: vim /etc/hostname 我这里改成 master-kww(下面会用到该主机名) 同时在 /etc/hosts 文件中加上自己的主机名,上面第一个红色框是我云服务器的ip地址。
二、安装oracle数据库
yum localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm 安静等待安装完成就行了,大概10分钟,软件路径在/opt 下生成一个oracle文件夹,虽然用的root账号安装,但是装完之后用户属于oracle
三、配置环境变量
注意:配置的是oracle用户的环境变量,因为以后所有操作都是在oracle用户下操作,并不是root用户
root用户编辑文件: vim /home/oracle/.bash_profile
然后在底部加入如下配置项
export ORACLE_HOSTNAME=master-kww --- linux服务器主机名
export ORACLE_UNQNAME=ORCLCDB --- 设置成数据库实例名(根据建立的数据库修改)
export ORACLE_SID=ORCLCDB --- 数据库实例名(根据建立的数据库修改,建议就用这个)
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c/dbhome_1
export ORACLE_INVENTORY=$ORACLE_BASE/oraInventory
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 --- sqlplus 操作需要用到的编码,要和数据库编码一致
# 下面三个是为了解决sqlplus下方向键和回退键不能使用的问题,必须安装 rlwrap 后面会提到
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
alias ggsci='rlwrap ggsci'
至此,安装完了数据库软件,没错,只是安装完了软件,并没有创建数据库。
四、创建数据库
安装数据库一般有两种方式,图形界面安装(使用dbca)或者静默安装,图形界面安装是不可能了,只能静默安装。 静默安装可以通过 /opt/oracle/product/19c/dbhome_1/assistants/dbca/dbca.rsp
配置安装,也可以用19c提供的 默认配置创建,下面介绍用默认配置的方式创建。 在root用户下运行: /etc/init.d/oracledb_ORCLCDB-19c configure
--- 会创建一个实例名为ORCLCDB的容器数据库( 所以上面第三步配置项用ORCLCDB做实例名),还有有一个ORCLPDB1的可插拔数据库。
等大概10分钟左右,数据库创建成功,可以通过 lsnrctl status 查看
至此,数据库实例创建完成。
五、centos8安装注意事项:
1、安装完之后,命令窗口sqlplus输入方向键和回退键会变成乱码,需要安装 rlwrap-0.43-5.el8.x86_64.rpm (在上面的网盘里有此文件) 命令: yum localinstall rlwrap-0.43-5.el8.x86_64.rpm
上面第三步修改的配置文件,最后面三个别名配置项就是安装这个之后配置上去的。
2、sql查询出来的数据中文时显示乱码 上面 第三步操作中配置文件 NLS_LANG 要根据数据库编码配置,可以通过语句查询:select userenv('language') from dual;
3、数据库用户密码有效期默认是180天,建议改成无限期 -- 查询数据库用户密码有效期,可以看到默认是180天 SELECT * FROM dba_profiles s Where s.profile = 'DEFAULT' AND resource_name = 'PASSWORD_LIFE_TIME'
; -- 修改为永不过期 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED ;
4、如果centos8开了防火墙,还需要关闭防火墙或添加监听端口,添加端口如下: firewall-cmd --zone=public --permanent --add-port=1521/tcp firewall-cmd --zone=public --permanent --add-port=5500/tcp
六、重启服务器后自启动数据库(可选)
1、 oracle用户操作,修改文件: vim /etc/oratab 最后一行,把: ORCLCDB:/opt/oracle/product/19c/dbhome_1: N 改为:ORCLCDB:/opt/oracle/product/19c/dbhome_1: Y
2、 root用户操作,修改centos系统启动脚本: vim /etc/rc.d/rc.local 在最后加入以下两行: 启动监听:su oracle -lc "/opt/oracle/product/19c/dbhome_1/bin/lsnrctl start" 这句要加引号是因为“lsnrctl start”之间有空格 启动数据库:su oracle -lc /opt/oracle/product/19c/dbhome_1/bin/dbstart
来源:https://blog.csdn.net/se34218/article/details/111477648


猜你喜欢
- 当我们准备建立一个Web站点时,就必须向域名登记机构申请一个Internet域名,因此,我们通常希望了解自己准备使用的域名是否已经被注册,这
- 垃圾评论,垃圾留言,人见人憎,用了验证码,效果也好不到哪里去,还影响用户体验。有的网站甚至不惜牺牲用户体验,而构造强悍的惨不忍睹的超级验证码
- 其实在很久很久之前就发现search类型的input,该属性值是WebKit私有,不过一直没去查相关的属性,介于XXX原因,我找出其属性,回
- 分享人:月漓作为交互设计师,你是否在一个项目中花费大量的时间来沟通、修改、明确需求?其实这些前期工作(设计原型前)是我们和PD、运营、开发之
- try: 语句测试代码块的错误,一般把可能会出错的代码放到这里 catch: 只有try里面的代码块发生错误时,才会执行这里的代
- PyGame 是专为游戏开发而设计的 Python 库。PyGame 建立在SDL库之上,因此它提供了用 Python 开发游戏的全部功能。
- Go语言转换JSON数据真是非常的简单。以EasyUI的Demo为例,将/demo/datagrid/datagrid_data1.json
- 本文简介前段时间,黄同学写了一篇《MySQL窗口实战》文章(文章如下),但是里面大多数是以实战练习为主,没有做详细的解释。传送门:MySQL
- 通过前面内容的介绍,我们对 Surface 对象有了大体上的认识。Pygame 针对文本、图像、颜色提供了不同模块来生成它们各自的 Surf
- 前几天,看到有人写了个superLink的东东,主要的做什么用呢?我们有时会给在大块元素加个window.location='htt
- 本文实例讲述了python面向对象之类属性和类方法。分享给大家供大家参考,具体如下:目标类的结构类属性和实例属性类方法和静态方法01. 类的
- 一、Pyecharts 概述Pyechart 是一个用于生成 Echarts 图表(Echarts 是基于 Javascript 的开源可视
- scriptlet的使用jsp页面中分三种scriptlet:第一种:<% %> 可以在里面写java的代码。定义java变量以
- 在实际的工作中,尤其是在生产环境里边,SQL语句的优化问题十分的重要,它对数据库的性能的提升也起着显著的作用.我们总是在抱怨机器的性能问题,
- Python编写微信小游戏“跳一跳”的运行脚本,分享给大家。更新了微信后发现了一款小游戏跳一跳,但是玩了一下午最高才达到200,每次差点破纪
- 题目一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?程序分析因为168对于指数 * 来说实在太小了,
- Python变量与注释高级用法1.概述好的变量和注释并非为计算机而写,而是为每个阅读代码的人而写。变量与注释是表达作者思想的基础,他们对代码
- requests模块:python中原生的一款基于网络请求的模块,功能非常强大,简单便捷,效率极高。作用:模拟浏览器发请求。提示:老版使用
- 1、yield,将函数变为 generator (生成器)例如:斐波那契数列def fib(num): a, b, c = 1,
- 首先,这片文章纯粹是我的个人经验之谈,适用于我常见的环境及项目中。个人建议,数据库字符集尽量使用utf8(HTML页面对应的是utf-8),