Oracle linux7.9安装 Oracle 19c
整体步骤
首先安装VMware Workstation 16 Pro虚拟机软件,然后安装Oracle linux系统,再安装Oracle 19c数据库。
-
VMware Workstation 16 Pro
https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html -
Oracle linux (本文选择下载7.9版本)
https://yum.oracle.com/oracle-linux-isos.html
-
Oracle 19c(需要注册账号下载)
https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html
VMware Workstation 16 Pro
网上下载安装步骤非常多,可以查阅参考。
Oracle linux7.9
在该网址下载:https://yum.oracle.com/oracle-linux-isos.html
在VM虚拟机安装系统时,注意内存与存储分配不要太小,需要满足oracle安装的要求。(内存大于2G,硬盘大于30G比较好)
具体安装步骤网上很多,基本只要默认选项就可以,需要注意的是为了后序操作方便,选择安装带有GUI的操作系统
在软件选择中,基本环境选择带 GUI 的服务器,附加选项勾选 KDE、兼容性程序库、开发工具、系统管理工具,如下图所示。
Oracle 19c
下载地址:https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html
在上面Linux操作系统安装完成后,记得打开网络(默认关闭) 方便后续软件下载,选择右上角电源键即可开启
安装条件确认
然后开始查看硬件条件是否合格
grep MemTotal /proc/meminfo 查看内存大小,oracle 官方要求至少 1G 以上的内存
grep SwapTotal /proc/meminfo 查看交换空间大小,oracle 官方要求至少 1.5G 以上的交换空间
df -h 查看硬盘大小,需要7.2G以上。
符合最低安装条件,继续安装。
内核版本与系统版本也符合要求(一般都符合)
然后检查依赖包是否安装 对于不同操作系统甚至是版本不同 所需要的依赖包都不同 这里的命令行只针对于Oracle Linux7.9 其它版本和系统可以查阅官方安装指导文件进行修改。如果按照本文的Oracle Linux7.9则命令如下:
# rpm -q bc binutils compat-libcap1 compat-libstdc+±33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc+±devel libxcb make policycoreutils policycoreutils-python smartmontools sysstat
然后安装未安装的的软件包
使用yum install加上上面检测出的未安装的软件包名字,例如我的命令如下(按照本文走的话都是一样的):
yum install elfutils-libelf-devel fontconfig-devel ksh libaio-devel libXrender-devel
中途可能需要输入多次 y 进行确认。
安装完毕后,再次进行检验
rpm -q bc binutils compat-libcap1 compat-libstdc+±33 elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc glibc-devel ksh libaio libaio-devel libXrender libXrender-devel libX11 libXau libXi libXtst libgcc libstdc++ libstdc+±devel libxcb make policycoreutils policycoreutils-python smartmontools sysstat
可以看到所有依赖软件包都已经安装完毕。
配置文件
接下来进行配置文件调整。
配置内核参数
Oracle 官方给出要添加的属性如下:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
以上这些参数的当前值可以用下面的命令查看:
# sysctl -a | grep <要查询的参数名>
通常情况下这些参数的值都不符合要求,因此需要把以下内容添加到"/etc/sysctl.conf"
文件末尾。可以使用命令行 vi 编辑器,也可以使用图形化的资源管理器和编辑器 Kwrite。我这里直接在对应文件夹找到该文件打开修改。
# Add kernel parameter for Oracle 19c install
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
输入以下命令,从"/etc/sysctl.conf"文件加载设置的内核参数:
#/sbin/sysctl -p
为了提高软件性能,Oracle 建议对帐户可以使用的进程数和打开的文件数设置限制。
在"/etc/security/limits.conf"文件末尾添加下列内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
在终端添加新的组和用户
# groupadd -g 54321 oinstall
# groupadd -g 54327 asmdba
# groupadd -g 54328 asmoper
# groupadd -g 54322 dba
# groupadd -g 54323 oper
# groupadd -g 54324 backupdba
# groupadd -g 54325 dgdba
# groupadd -g 54326 kmdba
# groupadd -g 54330 racdba
# useradd -u 54321 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba oracle
为 oracle 用户设置密码,密码无*号回显(即打出来是空白的 输入时注意下),直接输入即可。# passwd oracle
为 oracle 的安装建立目录,并设置目录所有者和读写权限
# mkdir -p /u01/app/oracle
# mkdir -p /u01/app/oraInventory
# chown -R oracle:oinstall /u01/app/oracle
# chown -R oracle:oinstall /u01/app/oraInventory
# chmod -R 755 /u01/app
注销 root 用户,用 oracle 用户登录操作系统,勾选显示隐藏文件,把下面的内容添加到
/home/oracle/.bash_profile 文件的末尾。
# Oracle 19c Profile Settings
umask 022
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=localhost.localdomain; export ORACLE_HOSTNAME
ORACLE_UNQNAME=orcl1195; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl1195; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_LANG="AMERICAN_CHINA.ZHS16GBK"; export NLS_LANG
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
注意:
这里面的 ORACLE_HOSTNAME 的参数的值需要根据自己的情况来设定,默认安装的 linux
为 localhost.localdomain;
$ mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
$ source .bash_profile
使用 set |grep ORACLE*命令检查,如果设置.bash_profile 文件正常,结果如下所示
传送安装包到Linux
切换到 root 用户,打开命令行,用 yum install vsftpd 安装 vsftpd。
用命令启动 ftp 服务 systemctl start vsftpd,再用 systemctl status vsftpd 查看 ftp服务状态。
使用winscp上传下载的 LINUX.X64_193000_db_home.zip 到虚拟机操作系统(VMware Tools 拖拽,文件会损坏)。
将文件 LINUX.X64_193000_db_home.zip 上传到目录/tmp 下(这里我传错了,直接传到/u01/app/oracle/product/19.3.0/dbhome_1就可以了)。
将文件移动到/u01/app/oracle/product/19.3.0/dbhome_1
安装 Oracle Database 19c
解压安装文件
切换到 oracle 用户,
$ cd /u01/app/oracle/product/19.3.0/dbhome_1
$ unzip –q LINUX.X64_193000_db_home.zip
允许图型安装界面
$ xhost +
access control disabled, clients can connect from any host
$ xhost + localhost
localhost being added to access control list
运行安装程序 直接安装提醒权限不够
编辑/etc/sudoers文件,添加要提升权限的用户;
在文件中找到root ALL=(ALL) ALL,在该行下添加提升权限的用户信息,如:
root ALL=(ALL) ALL
oracle ALL=(ALL) ALL(下图没打空格提醒语法错误)
需要在cd /u01/app/oracle/product/19.3.0/dbhome_1文件夹下
$./runInstaller
sudo chown oracle:oinstall runInstaller
sudo chmod -R 755 /u01/app/oracle/product/19.3.0/dbhome_1 #将该目录下的所有文件赋予 读和执行(755)的权限
sudo chown oracle:oinstall /u01/app/oracle/product/19.3.0/dbhome_1 #将该目录的所有者改为oracle用户和oinstall组
输入上面三个命令终于搞定了权限问题 启动成功
稍等一会弹出安装界面
基本一路下一步就可以了 中间有些账号设置
这里点全部忽略
配置必须以root身份进行:
方式一:选择第一个。然后输入root用户的密码。回车
方式二:选择第二个。代表在oracle用户下使用sudo命令进行。密码位oracle用户的密码。回车
由于我们是在oracle用户下进行安装,所以这里我选择了第二个。
回车
结果权限不够中断了。。。
再次修改一系列权限
[oracle@localhost dbhome_1]$ sudo chmod -R 777 /u01/app/oracle/product/19.3.0/dbhome_1/*
[sudo] oracle 的密码:
[oracle@localhost dbhome_1]$ sudo chown oracle:oinstall /u01/app/oracle/product/19.3.0/dbhome_1/*
[oracle@localhost dbhome_1]$ sudo chmod -R 777 /u01/app/oracle/product/19.3.0/dbhome_1/bin/*
[oracle@localhost dbhome_1]$ sudo chown oracle:oinstall /u01/app/oracle/product/19.3.0/dbhome_1/bin/*
[oracle@localhost dbhome_1]$
改完之后返回安装界面,点击 Retry按钮:
之后我的又报错该目录lib下的文件没有权限,解决方法和上面一样。修改时,如果是具体文件报错,那么就去掉路径后面的 /* ,否则修改后点击Retry会不成功。
如图 对应着文件改权限,这种错误会多次出现 每次一样的方式处理
中间还可能会出现衍生进程已退出,返回了非零退出代码! 点继续就可以了
在59卡了很久(也可能在其他百分比卡) 然后突然100 配置成功
启动数据库实例:
$ sqlplus / as sysdba
用命令 show parameters instance_name;查看数据库实例
安装完毕!!!
在关闭虚拟机电源前,先关闭数据库,在 sqlplus 中 shutdown immediate