Database 19C For RedHat Enterprise Linux 8
先决要求
Supported Red Hat Enterprise Linux 8 Distributions for x86-64 (oracle.com)
- bc
- binutils
- elfutils-libelf
- elfutils-libelf-devel
- fontconfig-devel
- glibc
- glibc-devel
- ksh
- libaio
- libaio-devel
- libXrender
- libX11
- libXau
- libXi
- libXtst
- libgcc
- libnsl
- librdmacm
- libstdc++
- libstdc+±devel
- libxcb
- libibverbs
- make
- policycoreutils
- policycoreutils-python-utils
- smartmontools
- sysstat
- ipmiutil (for Intelligent Platform Management Interface)
- libnsl2 (for Oracle Database Client only)
- libnsl2-devel (for Oracle Database Client only)
- net-tools (for Oracle RAC and Oracle Clusterware)
- nfs-utils (for Oracle ACFS)
# 下载并安装Oracle依赖
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.i686.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.i686.rpm
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libcap1-1.10-7.el7.x86_64.rpm
图形化界面安装
OS管理员(root)
设置swap分区
# 查看当前分区大小
free -m
# 使用dd命令创建一个16G大小的文件
dd if=/dev/zero of=/app/swap_file bs=1M count=16384
# 格式化为swap格式
mkswap /app/swap_file
# 启用swap文件
swapon /app/swap_file
# 再次查看当前分区大小
free -m
修改系统内核参数
# 说明
# kernel.shmmax: 建议物理内存的一半
# kernel.shmall: kernel.shmmax/4096
# 修改文件,追加以下内容
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 5242880
kernel.shmmax = 21474836480
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 -p
创建Oracle账户、Oracle数据目录
配置用户限制
vi /etc/security/limits.conf
# 在文件末尾追加
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 8192
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
Oracle账户
设置环境变量
vim ~/.bash_profile
# 追加以下内容
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_HOSTNAME=db.demo.com;
export ORACLE_UNQNAME=orcl;
export ORACLE_BASE=/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/19C/db_1;
export ORACLE_SID=orcl;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
# 执行命令,使配置文件生效
source ~/.bash_profile
拷贝安装包到ORACLE_HOME,并解压
安装软件
cd /app/oracle/product/19C/db_1
./runInstaller
出现如下图报错时,表示操作系统不支持,需要调整配置
export CV_ASSUME_DISTID=RHEL7.6
后续安装步骤,参考下列图片
配置监听
netca
创建数据库实例
dbca
数据库命令
启动监听
lsnrctl
# 查看监听状态
lsnrctl> status
lsnrctl> start
启动数据库
sqlplus / as sysdba
SQL> startup;
# 查看实例状态
SQL> select status from v$instance;
关闭数据库
sqlplus / as sysdba
SQL> shutdown immediate
数据库配置
服务自启动
su - oracle
vim /etc/oratab
# 修改下面配置 N -> Y
orcl:/app/oracle/product/19C/db_1:Y
su - root
# rc.local必须包含执行权限
chmod a+w+x /etc/rc.d/rc.local
echo su oracle -lc "/app/oracle/product/19C/db_1/bin/lsnrctl start" >> /etc/rc.d/rc.local
echo su oracle -lc "/app/oracle/product/19C/db_1/bin/dbstart" >> /etc/rc.d/rc.local
取消密码过期限制
su - oracle
sqlplus / as sysdba
# 查看当前的密码有效期
SQL> SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
# 修改为无限制
SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
问题
-
使用ssh工具或内置终端执行runInstaller时,报错:
Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
- 用root账户登录系统(不能使用
su
切换),执行xhost +
,出现access control disabled, clients can connect from any host,表示成功,注销用户,使用oracle账户登录执行
- 用root账户登录系统(不能使用
-
- host中需要配置服务器实际IP与域名的映射
-
netca: command not found dbca: command not found
- 检查oracle账户下.bash_profile中的ORACLE_HOME配置是否正确
- 如果均正确,则执行source ~/.bash_profile