前言
文章主要目的是介绍Linux CentOS7.7 系统无网络下安装OracleDatabase12C,这里强调是在无网络环境下安装主要是因为在内网的服务器上进行安装时没有网络,安装数据库时需要的依赖包无法下载安装,若有不足之处请大神提出宝贵的建议。
一、挂载镜像
1、使用root用户把CentOS-7-x86_64-DVD-1908.iso系统镜像上传到/home目录下。
2、把/home路径下的镜像文件,使用以下命令挂载到/mnt路径下。
mount -o loop /home/CentOS-7-x86_64-DVD-1908.iso /mnt
提示:mount: /dev/loop0 is write-protected, mounting read-only表示挂载成功。
3、也可以使用df -lh命令查看是否挂载成功。
二、配置本地yum源 并安装数据库依赖包
1、进入yum配置文件目录。
cd /etc/yum.repos.d
2、创建一个新的yum配置文件。
vim CentOS-media.repo
3、添加内容如下:
[centos-7]
name=centos7
baseurl=file:///mnt
enabled=1
gpgcheck=0
gpgkey=file:///mnt
4、修改Base.repo的文件名。
mv CentOS-Base.repo CentOS-Base.repo.bak
5、把服务下载的软件包放在本地缓存。
yum makecache
6、安装数据库需要的依赖包。
yum -y install binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
三、修改hosts文件中服务器名称
1、使用一下命令查看本机名称。
more /proc/sys/kernel/hostname
2、切换到/etc路径修改hosts文件内容。
cd /etc
vi hosts
修改为 127.0.0.1 机器名(如果机器名称没改过,该步骤可以省略)
四、Linux安装Oracle系统要求
1、内存建议高于4G的物理内存。
2、交换空间一般为内存的2倍,例如:1G的内存可以设置swap 分区为3G大小。
3、硬盘空间至少5G以上,使用df -h查看系统磁盘空间。
五、系统相关参数修改
修改操作系统核心参数,使用root用户下执行以下步骤:
1、修改用户的SHELL的限制,修改/etc/security/limits.conf文件
输入命令: vi /etc/security/limits.conf 按i键进入编辑模式,将下列内容加入该文件。
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
编辑完成后按Esc键,输入:wq保存退出。
2、修改/etc/pam.d/login 文件,输入命令:vi /etc/pam.d/login 按i键进入编辑模式,将下列内容加入该文件。
session required /lib/security/pam_limits.so
session required pam_limits.so
编辑完成后按Esc键,输入:wq保存退出。
3、修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf 按i键进入编辑模式,将下列内容加入该文件。
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 4090951690
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
编辑完成后按Esc键,输入:wq保存退出。
4、要使 /etc/sysctl.conf 更改立即生效,需要执行以下命令:
sysctl -p
5、编辑 /etc/profile ,输入命令: vi /etc/profile 按i键进入编辑模式,将下列内容加入该文件。
if [ $USER = "oracle" ];
then
if [ $SHELL = "/bin/ksh" ];
then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
编辑完成后按Esc键,输入:wq保存退出。
六、创建Oracle用户并配置相关参数
1、使用root用户创建相关用户和组,作为软件安装和支持组的拥有者。
创建用户组,输入命令:
groupadd oinstall
groupadd dba
2、使用root用户创建Oracle用户和密码,输入命令:
useradd -g oinstall -g dba -m oracle
passwd oracle
然后会让你输入密码,密码任意输入2次,但必须保持一致,回车确认。
3、使用root用户创建数据库软件目录和数据文件存放目录,目录的位置,根据自己的情况来定,注意磁盘空间即可,这里我把其放到Oracle用户下,例如:
输入命令:
mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
4、更改目录属主为Oracle用户所有,输入命令:
chown -R oracle:oinstall /home/oracle/app
chmod -R 755 /home/oracle/app/oracle
5、配置Oracle用户的环境变量,首先,切换到新创建的Oracle用户下,输入:
su - oracle
然后直接在输入 : vi .bash_profile 命令,按i编辑 .bash_profile,进入编辑模式,增加以下内容:
umask 022
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/12.2.0/dbhome_1
export ORACLE_SID=orcla
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
编辑完成后按Esc键,输入:wq保存退出。
6、执行以下命令使环境变量即时生效。
source .bash_profile
七、开始安装
1、上传安装包到 /home/oracle 目录下并解压,这里主要介绍的是图形化安装。
cd /home/oracle
unzip linuxx64_12201_database.zip
2、切换root用户执行以下命令。
xhost +
3、切换到Oracle用户执行以下命令。
su - oracle
export DISPLAY=本机的IP地址:0
xhost +
4、切换到安装包路径下,执行安装程序文件,稍等片刻会出现图像化安装界面。
cd /home/oracle/database
./runInstaller
5、后期上安装图。
补充一、修改登录策略
低版本PLSQL无法连接时,可以使用此方法解决,正式环境中不允许修改。使用Oracle用户执行一下操作:
1、切换到相关配置文件目录下。
cd /home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin
2、编辑sqlnet.ora文件。
vi sqlnet.ora
3、添加一下信息
SQLNET.ALLOWED_LOGON_VERSION=8
编辑完成后按Esc键,输入:wq保存退出。
4、需改登录策略后重新设置密码。
sqlplus / as sysdba
alter user system identified by a;
补充二、修改字符集为HS16GBK
sqlplus / as sysdba
shutdown immediate;
STARTUP MOUNT EXCLUSIVE;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
ALTER SYSTEM SET AQ_TM_PROCESSES=0;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK;
ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE AL16UTF16;
SHUTDOWN IMMEDIATE;
STARTUP;
补充三、修改字符集为AL32UTF8
su - oracle
sqlplus / as sysdba
shutdown immediate;
startup mount;
alter session set sql_trace=true;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
ALTER DATABASE character set INTERNAL_USE AL32UTF8;
shutdown immediate;
startup;
补充四、打开图形化配置监听页面。
切换到Oracle用户执行netca命令即可。
netca