centos7.8 oracle19c 安装记录

该安装方案前提是可以连接因特网前提,因为在安装过程会自动补充一些linux的组件。> > > > >

下载预安装和oracle

下载oracle19c的地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle19c-linux-5462157.html
下载预安装oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm的下载地址:http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm

下载后,通过Xftp 将两个文件上传到了在了 root的根目录/home

安装常用组件:
yum install -y vim wget
关闭selinux
vi /etc/selinux/config
修改SELINUX=disabled
修改hosts 复制第一行至最下面改把127.0.0.1改为本机Ip保存
vim /etc/hosts

修改服务器名称 xxx为服务器名称

hostnamectl set-hostname XXX {ip-135}

开始安装

第一步

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

第二步

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

注意这里的rpm包名称有可能会变化的哦,以你下载的文件全名为准。

第三步 创建数据库实例

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

修改字符集 CHARSET=ZHS16GBK
修改sid 为你需要的比如zhfwdb ORACLE_SID=zhfwdb
修改pdb模式与常规模式 CREATE_AS_CDB =false
这个地方改为false,这是问你要不要创建容器化数据库,如果是true以后创建的用户好像是都要加c##

所以设为false,然后保存退出

修改了默认的sid 为 ORCL ,这里修改为zhfwdb 需要复制一份配置文件

cd /etc/sysconfig/
cp oracledb_ORCLCDB-19c.conf oracledb_zhfwdb.conf

执行创建实例命令:
cd /etc/init.d/
sh oracledb_ORCLCDB-19c configure

如果提示错误The Oracle Database is not configured. Unable to read the configuration file '/etc/sysconfig/oracledb_zhfwdb-19c.conf'hu

vim oracledb_ORCLCDB-19c

将变量$ORACLE_SID-$ORACLE_VERS 后面的 -$ORACLE_VERS删除,然后重新执行

创建数据库
安装完之后现在只是安装上了oracle,但是还没有数据库,在这里创建数据库有两种方式:

一种是它安装完给的方法执行这个脚本

创建示例Oracle 数据库实例,登录为root,运行以下服务配置脚本:

/etc/init.d/oracledb_ORCLCDB-19c configure
这样数据库就安装成功了

创建完成之后,切换到oracle 用户

再次登录Oracle

sqlplus / as sysdba
解锁帐户:

ALTER USER sys ACCOUNT UNLOCK;
重置密码:

ALTER USER sys IDENTIFIED BY oracle;
查看oracle安装版本

1、删除实例和侦听器配置。

/etc/init.d/oracledb_ORCLCDB-19c stop
命令参考

[root@localhost ~]# /etc/init.d/oracledb_ORCLCDB-19c -h
Usage: /etc/init.d/oracledb_ORCLCDB-19c {start|stop|restart|configure|delete}
2、以root用户身份运行以下命令删除基于 RPM 的数据库安装:

yum -y remove oracle-database-ee-19c
该yum命令检测 Oracle 主目录中默认配置的组件,例如数据库 (ORCLCDB) 和侦听器 (LISTENER),并为您删除这些组件。

除了默认数据库 (ORCLCDB) 和侦听器 (LISTENER) 之外,如果该yum命令检测到 Oracle 主目录中的其他配置组件(例如附加数据库或侦听器),则会停止卸载过程。将显示一条消息,指示您手动删除这些配置的组件。要删除这些配置的组件:

1、以 Oracle 数据库安装所有者用户 (oracle)身份登录。

2、要删除与您的安装关联的任何数据库,请使用 Oracle 数据库配置助手 (Oracle DBCA)。

cd $ORACLE_HOME/bin
./dbca
3、要删除与您的安装关联的任何侦听器,请运行 Oracle Net Configuration Assistant (Oracle NETCA)。

cd $ORACLE_HOME/bin
./netca
4、以身份登录root并yum再次运行该命令以删除基于 rpm 的数据库安装。

yum -y remove oracle-database-ee-19c

第四步
passwd oracle `#修改oracle用户密码

设置环境变量,否则sqlplus / as sysdba 是不识别的
su root

执行

vim /etc/profile

最后面添加一下内容

export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
export ORACLE_SID=zhfwdb
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

保存并生效

保存退出后

执行以下命令,使环境变量生效

source /etc/profile
第五步

reboot #重启下服务器
重启过后,进入oracle 用户启动服务

su - oracle
sqlplus / as sysdba

打开sql窗口

startup #启动服务

exit

退出命令窗口

tips: ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它)
sql>shutdown immediate # 关闭再进行)

sql>startup mount # 重新开启就可以了)

sql>alter database open;)
启动监听

cd $ORACLE_HOME/bin #定位到bin目录

lsnrctl start #启动监听

ps: 查看当前监听状态

lsnrctl status

停止监听

lsnrctl stop

修改监听配置文件

vim $ORACLE_HOME/network/admin/listener.ora

修改连接配置文件
vim $ORACLE_HOME/network/admin/tnsnames.ora

需要修改sys密码,否则远程无法登录

alter user sys identified by "12345678";

至此,数据库安装已经完成~

第六步:设置数据库开机启动

修改/etc/oratab文件N为Y

vim /etc/oratab

ORCLCDB:/opt/oracle/product/19c/dbhome_1:Y
在/etc/rc.local文件中添加需执行启动命令

su root # 切换为root用户

vim /etc/rc.local
su - oracle -c 'lsnrctl start'
su - oracle -c 'dbstart'

切换 oracle 用户

su - oracle
//分别修改以下两个文件

vim $ORACLE_HOME/bin/dbstart
vim $ORACLE_HOME/bin/dbshut

//修改如下段落
--将ORACLE_HOME=$1 修改为 ORACLE_HOME=$ORACLE_HOME
--将ORACLE_HOME_LISTNER=$1 修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

This is to bring down Oracle Net Listener

ORACLE_HOME_LISTNER=$ORACLE_HOME
if [ ! $ORACLE_HOME_LISTNER ] ; then
echo "Since ORACLE_HOME is not set, cannot auto-stop Oracle Net Listener"
echo "Usage: $0 ORACLE_HOME"
else

Set the ORACLE_HOME for the Oracle Net Listener, it gets reset to

a different ORACLE_HOME for each entry in the oratab.

ORACLE_HOME=$ORACLE_HOME; export ORACLE_HOME
//保存后再次启动,不再报错。

设置CentOS7,8开机执行/etc/rc.local文件(CentOS7,8开机不执行/etc/rc.local文件)

给 /etc/rc.d/rc.local 添加 可执行权限

su root

chmod a+x /etc/rc.d/rc.local

mkdir /network/

mkdir /network/log

/etc/rc.local

将 rc-local 服务设置成开机启动(默认状态是 static,会被其他service服务调用执行。不过还是修改一下,以防那个服务被停用就牵连了)

systemctl enable rc-local
记得再次检查监听l
文件地址,不然plsql连接不上

vim /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
防火墙设置

网上关闭防火墙的做法实在是有点不负责任,防火墙在实际生产环境是必须要开启的

systemctl stop firewalld.service
systemctl start firewalld.service
systemctl enable firewalld.service
firewall-cmd --permanent --zone=public --add-port=22/tcp
firewall-cmd --permanent --zone=public --add-port=1521/tcp
firewall-cmd --reload firewall-cmd --permanent --zone=public --list-ports

现在已经可以和远程数据库连接了。

posted @ 2024-02-27 14:05  ironbamoo  阅读(122)  评论(0编辑  收藏  举报