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_HOMEThis 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"
elseSet 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
现在已经可以和远程数据库连接了。