centos7离线安装oracle19c

因为公司不能连外网,所以只能使用安装包离线安装oracle19c,所以就去网上找了方法,记录一下,也记录一下遇到的问题:

(1)关闭系统防火墙(如外网环境不能关闭防火墙自行开放相关需要使用的端口即可)

systemctl stop firewalld

关闭开机自启动

systemctl disable firewalld

(2)关闭selinux,修改文件设置

vim /etc/selinux/config

SELINUX=disabled

查看:

getenforce

关闭selinux,命令设置:

setenforce 0

(3)安装oracle需要的依赖(已通过互联网提前下载并制作yum仓库,配置一个离线yum源直接安装即可),这个是源来网友的,我写文章的时候还可以用

链接:https://pan.baidu.com/s/1zg6DUG0BTxY7H63lj78CrA 提取码:2ucb

unzip base.zip

创建离线yum源,备份原有repo文件,创建local.repo文件

创建离线yum源

进入cd /etc/yum.repos.d/

备份原有repo文件

tar -zcvf repobak.tar.gz CentOS-*

删除原有repo,然后依次执行一下命令创建local.repo

rm -rf CentOS-*
echo "[local]" > /etc/yum.repos.d/local.repo 
echo "name=local" >> /etc/yum.repos.d/local.repo 
echo "enable=1" >> /etc/yum.repos.d/local.repo 
echo "baseurl=file:///root/base" >> /etc/yum.repos.d/local.repo 
echo "gpgcheck=0" >> /etc/yum.repos.d/local.repo
yum clean all

(4)安装oracle-database-preinstall

链接:https://pan.baidu.com/s/11TGhQ8H95umuV5PRUrfEcw 提取码:3yru

cd 到oracle目录

yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

提示没有Requires: libstdc++-devel和Requires: glibc-devel说明没有安装gcc和g++

1、安装 gcc (如果已经安装 gcc ,忽略此步骤。):

以下命令我已经下载好了gcc和g++ 放到/root/software/tqjklib/common/下

进入到/root/software/tqjklib/common/gcc

rpm -Uvh *.rpm --nodeps --force

2、安装 gcc-c++ (如果已经安装 gcc-c++ ,忽略此步骤。):

进入到/root/software/tqjklib/common/g++

rpm -Uvh *.rpm --nodeps --force

装完再执行:

yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

二、安装配置Oracle 19c

(1)安装Oracle 19c

yum -y localinstall oracle-database-ee-19c-1.0-1.x86_64.rpm

(2)初始化Oracle数据库,这个过程一般比较漫长

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

(3)配置环境变量,切换到oracle用户下

su - oracle
vim .bash_profile
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 
export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin 
export ORACLE_SID=ORCLCDB
source .bash_profile

同时将以上信息追加到/etc/profile文件中

source /etc/profile

(4)登陆oracle数据库

sqlplus / as sysdba

查看已有的pdb

show pdbs

exit退出

配置监听文件

vim /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora

最后追加

ORCLPDB1 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(POST = 1521))

(CONNTECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ORCLPDB1) # show pdbs查询出的pdb名称

)

)

进入oracle

su - oracle
sqlplus / as sysdba
alter session set container=ORCLPDB1;

创建用户和授权略。。。

遇到的问题:

如果用navicat连接,报错ORA-28040: No matching authentication protocol

说明本机客户端版本比较低,需修改sqlnet.ora

vim /opt/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora

加入以下语句:

SQLNET.ALLOWED_LOGON_VERSION_SERVER=10 
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10

如果连接提示密码错误,那就关闭重启,监听也关闭重启,再不行修改两次相同密码应该就行了。

Alter user 用户名 identified by 密码。

报错Oracle Net Services configuration failed

解决方法:应该是更改过hostname,导致listener.ora里的hostname和本机hostname不一致,因为安装时默认是localhost,所以把本机hostname全部改为localhost即可

1.修改配置文件 /etc/hosts和/etc/hostname

hosts原本应该是这样:

 2.hostnamectl命令

hostnamectl set-hostname localhost

3.hostname命令进行临时更改

hostname localhost

4.使用hostname查看当前hostname

这个问题真的奇葩,因为我华为云的hostname不是localhost,每次我改了之后就正常了,结果重启服务器之后hostname又给我改回去了,为此我还跟华为云客服battle了一天。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值