栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

centos7.9部署Oracle19.3c

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

centos7.9部署Oracle19.3c

title: centos7.9部署Oracle19.3c
date: 2022-4-26 17:24

centos7.9部署Oracle19.3c

安装部分参考了IT_平甫

一、上传rpm文件到/root文件下
oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
oracle-database-ee-19c-1.0-1.x86_64.rpm
两个文件,第二个是官网下载的安装包,第一个此安装包的一个依赖.(直接百度包名就能搜到官网传送门,传送门2)注意下载19.3linuxRPM版本
环境依赖安装
# yum -y install  gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel unixODBC unixODBC-devel
​
# yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
# yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

二、设置兼容性模式

Oracle安装默认是不支持CentOS的,所以需要改一下

export CV_ASSUME_DISTID=RHEL7.6
三、设置配置文件
# vim /etc/init.d/oracledb_ORCLCDB-19c
​
export ORACLE_VERSION=19c
export ORACLE_SID=ORCL      #默认数据库名为ORCLPDB,可以自行修改,
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=ZHS16GBK         #默认为AL32UTF8,可以修改为ZHS16GBK,
export PDB_NAME=ORCLPDB     #默认数据库名为ORCLPDB1,可以自行修改,
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=true

zhs16gbk是中文字符集,也就是适合在中国用,只能存储中文和英文字符,如果你存储韩文则显示为乱码(没有编码),而al32utf8是utf8字符集,u是unicode的意思,适合中文、韩语、日语等等不同的语言使用。那么为什么我们要在中国使用zhs16gbk存储中文呢?这是因为utf8存储中文的效率不如zhs16gbk,比如一个字“懂”,zhs16gbk采用2个字符存储,而al32utf8采用3-4个字符存储,这样效率就有了高低之分。

配置环境变量

# vim /etc/profile.d/db.sh
​
export  ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export  PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
export  ORACLE_SID=ORCL     #和上面配置文件中的 ORACLE_SID 对应,修改了什么,这里就填写什么,我上面修改为ORCL,所以我这里为ORCL
stty erase ^h

修改PID的配置文件信息如果没有修改ORACLE_SID就跳过此步骤,如果修改了,就修改

# cd /etc/sysconfig/
​
scp oracledb_ORCLCDB-19c.conf oracledb_ORCL-19c.conf
四、初始化数据库

对数据库进行初始化

# /etc/init.d/oracledb_ORCLCDB-19c configure

初始化可能遇见各种报错,看第五步 时间比较久,耐心等待!

进入oracle用户,使用sqlplus / as sysdba进行登录数据库、启动实例

# su oracle
$ sqlplus / as sysdba
SQL> startup

更改用户名为system的密码

SQL> alter user system identified by 123456;  // "123456"为密码

五、异常处理 /etc/init.d/oracledb_ORCLCDB-19c configure报错

报错:

...
LISTENER:No valid IP Address returned for the host victor.example.com.
...
​

原因:该主机无有效IP

解决:

方案一:为这个主机赋值一个IP

# vim /etc/hosts
将victor.example.com.对应ip改为一个真实ip,而非本地ip

方案二: 直接删掉这个主机(确保你知道这是什么)

# vim /etc/hosts
​
删除 victor.example.com.所在行

SQL> startup报错

报错:

ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/opt/oracle/product/19c/dbhome_1/dbs/initORCLPDB.ora'

解决:

去提示目录中发现少了initORCLPDB.ora文件

在/opt/oracle/admin/ORCLCDB/pfile目录下将init.ora.82772698(数字可能不一样)移动至前面的路径并重命名

执行:

SQL> connect/as sysdba;
SQL> startup;

报错:

ORA-00845: MEMORY_TARGET not supported on this system

原因:/dev/shm分区过小

解决:

要用root用户才能有权限挂载分区。

# mount -o remount,size=3G /dev/shm/

再次startup

报错:

ORACLE instance started.
​
Total System Global Area 1593832624 bytes
Fixed Size          9135280 bytes
Variable Size         922746880 bytes
Database Buffers      654311424 bytes
Redo Buffers            7639040 bytes
ORA-01102: cannot mount database in EXCLUSIVE mode

原因:

一、在HA系统中,已经有其他节点启动了实例,将双机共享的资源(如磁盘阵列上的裸设备)占用了;

二、 说明Oracle被异常关闭时,有资源没有被释放,

解决:

网上解决方案好麻烦,我选择重启服务器,
重新登录SQL> startup
Database mounted.
Database opened.
成功
六、连接数据库

重启Linux服务器后,Oracle服务还需要手动启动。启动步骤如下:

# su - oracle //登录到Linux服务器,并切换到oracle用户权限下
//运行sqlplus命令,进入sqlplus环境,并添加nolog参数,表示不登录 (命令:sqlplus /nolog)。以系统管理员的身份连接数据库 (命令:conn /as sysdba)
$ sqlplus / as sysdba  //(也可以直接sqlplus / as sysdba)
SQL> startup  //启动数据库实例
SQL> quit //退出数据库
退回到oracle用户
$ lsnrctl start //启动监听(启动监听才能远程登录)

设置一个可以登录的账户:

SQL> alter user system identified by 123456;    //修改密码
SQL> grant create session to system;    //授权登录

使用SQLDevelope进行连接

用户名:system
密码:123456
主机名:你的服务器ip
端口号:1521(默认端口)
SID:与第二步配置文件中的ORACLE_SID一致,默认为ORCLPDB

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/836838.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号