环境:
系统CentOS7
安装包:LINUX.X64_193000_db_home.zip + JDK1.8
一、CentOS 7 安装Oracle
0、切换到root
su root
1、关闭防火墙
#关闭防火墙
systemctl stop firewalld.service
# 禁止防火墙开机启动
systemctl disable firewalld.service
# 查看防火墙状态
systemctl status firewalld.service
2、关闭selinux
# 暂时关闭selinux
setenforce 0
# 编辑文件
vi /etc/selinux/config
# 修改内容
SELINUX=disabled
3、配置内核参数和系统参数
修改CentOS 7的一些内核参数和系统参数,以满足Oracle 19c的要求。在/etc/sysctl.conf文件中添加以下内容:
vi /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
添加保存后执行一下命令应用新内核
sysctl -p
4、配置用户限制
vi /etc/security/limits.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
5、安装必要的软件依赖
- 安装Oracle 19c所需的软件包和依赖项。以下是一些常见的包:
yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.x86_64 glibc-devel.x86_64 ksh.x86_64 libaio.x86_64 libaio-devel.x86_64 libstdc++.x86_64 libstdc++-devel.x86_64 libXi.x86_64 libXtst.x86_64 make.x86_64 sysstat.x86_64 glibc.i686
- 通过WinSCP拷贝文件“oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm”到虚拟机,进行本地安装
yum localinstall -y /root/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm.rpm
6、创建Oracle用户和组
在CentOS上,建议创建一个专门用于运行Oracle数据库的用户和组。你可以使用以下命令创建:
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
#编辑用户密码
passwd oracle
密码设置为:xxxx
7、创建目录并赋权
- 创建目录
mkdir -p /app/oracle/product/19.3.000/db_home
mkdir -p /app/oraInventory
- 将子目录归属oracle用户,分别归属两个组
chown -R oracle:oinstall /app/oracle/
chown -R oracle:oinstall /app/oraInventory/
chmod -R 775 /app/oracle
8、解压JDK18和Oracle 19c程序包
- 下载Java8
JDK1.8官方下载:Java Downloads | Oracle 中国
-
通过WinSCP复制Java到虚拟机
-
上传”LINUX.X64_193000_db_home.zip“安装包到app目录
- 解压JDK18和Oracle 19c程序包
tar zxvf jdk-8u391-linux-i586.tar.gz -C /usr/local/
unzip LINUX.X64_193000_db_home.zip -d /app/oracle/product/19.3.000/db_home
chown -R oracle:oinstall /app/oracle/product/19.3.000/db_home
9、配置环境变量
切换到oracle用户(一定要注意)
su - oracle
配置oracle用户下的环境变量
vim ~/.bash_profile
###########配置文件内容###########
export JAVA_HOME=/usr/local/jdk1.8.0_391
ORACLE_SID=orcl
export ORACLE_SID
ORACLE_UNQNAME=orcl
export ORACLE_UNQNAME
ORACLE_BASE=/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.3.000/db_home
export ORACLE_HOME
NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"
export NLS_DATE_FORMAT
export NLS_LANG=american_america.ZHS16GBK
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS11=$ORACLE_HOME/nls/data
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native
export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
9、重启系统
10、图形化安装数据库
- 1、登录oracle账户
- 2、右击桌面空白位置打开控制台
3、输入以下命令打开安装
cd /app/oracle/product/19.3.000/db_home
./runInstaller
推荐的是大小写字母+数字,不要包含特殊字符
如下面图所示1个警告处理,第一个是swap需要8G,有可能有其他警告,根据自己安装情况而定,如缺少中间件,就安装好中间件再检查。如果测试没有任何异常可直接跳过。
扩展swap扩容
打开控制台
#切换到root 用户
su - root
#查看swap
free -h
#关闭swap
swapoff -a
#创建swap分区的文件
dd if=/dev/zero of=swapfile bs=1M count=8192
#格式化swapfile并启用swap分区文件
mkswap swapfile
swapon swapfile
#修改/etc/fstab这个文件,添加或者修改这一行:
cat >>/etc/fstab <<EOF
/swapfile swap swap defaults 0 0
EOF
free -h
#到终端执行脚本
su - root
bash /app/oraInventory/orainstRoot.sh
bash /app/oracle/product/19.3.000/db_home/root.sh
完成后,返回确认
11、启动服务
开始之前可以先重启一下服务器
##登入oracle用户
su - oracle
## 启动监听
lsnrctl start
#登入数据库
sqlplus /nolog
connect /as sysdba
或
sqlplus sys/sys as sysdba
## 启动数据实例
SQL> startup
创建用户并分配权限
create user utest identified by admin123;
grant connect,resource,dba to utest;
##关闭数据库服务
SQL> shutdown immeidate
## 停止监听服务
lsnrctl stop