我前两天发了安装oracle12c的方法,但是我虽然在虚拟机试验成功了,正式服务器安装的时候发现还是不行,安装页面卡空白,也没有解决办法,所以我就放弃了界面安装找命令行安装的办法,找了一些之后发现都比较麻烦,但是我发现19c有rpm包,可以用rpm包的安装法,但是毕竟不是同一个版本我就去查看版本的区别,一查发现原来19c也是属于12版本的升级版,只不过后边的版本都是由年份命名了,而且比我之前的12201版本还稳定,相当于12203版本,废话不多说马上安装
准备工作
首先去Oracle官网下载19c的rpm安装包下载链接:
https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html
下载完成之后再去下载另一个依赖包oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html
进入页面按ctrl+F搜索preinstall-19c找到名字为
这个的安装包就下载圈出来的这一个就行
然后再准备第三个安装包 http://www.rpmfind.net/linux/rpm2html/search.php?query=compat-libstdc%2B%2B-33(x86-64)
下载这个安装包
上传安装包到服务器
这里我使用的是winscp工具,把这三个安装包上传到服务器的 /opt目录
然后使用root用户远程工具登录连接服务器
第一步
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
先安装这些依赖包,然后可以多执行几次也没关系
第二步
cd /opt
第三步
rpm -ivh compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
第四步
rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
第五步
rpm -ivh oracle-database-ee-19c-1.0-1.x86_64.rpm
这一步可以先试试能不能用 yum源里下载 yum install -y oracle-database-ee-19c-1.0-1.x86_64.rpm 如果这个方式可以下载安装的话就可以省去去oracle官网下载oracle安装包的步骤了
不管用哪个方式安装最后安装完了显示的是这个
然后安装完了之后现在只是安装上了oracle,但是还没有数据库
我们要创建数据库
在这里创建数据库有两种方式一种是它安装完给的方法执行这个脚本
还有一种是在桌面环境下的终端里执行输入dbca会弹出可视化的安装界面,但是这个方法我在正式服务器上试的时候也是卡空白所以我就用它给的方法创建数据库了
第六步
vim /etc/init.d/oracledb_ORCLCDB-19c configure
这个地方改为false,这是问你要不要创建容器化数据库,如果是true以后创建的用户好像是都要加c##
所有我就设为false了然后保存退出
第七步
/etc/init.d/oracledb_ORCLCDB-19c configure
这样数据库就安装成功了切换到oracle用户
su oracle
sqlplus连接
sqlplus / as sysdba
这个时候提示我们找不到命令,设置一下环境变量
vim ~/.bash_profile
export ORACLE_BASE=/opt/oracle export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1 export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin
修改后
然后刷新一下环境变量使其生效
source ~/.bash_profile
然后再次输入sqlplus / as sysdba
登录成功了,如果这个时候出现让输入用户名和密码的情况说明可能没切换成oracle用户
如果切换了还是不行解决办法是在数据库的安装目录修改sqlnet.ora文件数据库默认创建位置是/opt/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora所以直接执行
vim /opt/oracle/product/19c/dbhome_1/network/admin/sqlnet.ora
加入 SQLNET.AUTHENTICATION_SERVICES =all 这句话保存退出
如果还是不行就切换回root用户然后切换Oracle用户的时候使用 su - oracle
连接成功之后我们就修改一下用户密码
修改成功我们就可以用navicat连接了,连接前我们先关闭防火墙,或者打开1521端口不然会连接超时,这里我打开了1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
这个地方是ORCLCDB了不是orcl了然后角色是sysdba
ok连接成功,system不属于dba用户了所以system登录的时候不用选成systemdba,修改system密码同上进入sqlplus里
alter user 用户名 identified by 密码;