centos7.9安装oracle数据库
1.检查系统要求
2.从官网下载 Oracle Database
这里安装19c,甲骨文官网oracle database主页就提供下载,其他旧版本访问以下网址下载
https://edelivery.oracle.com/osdc/faces/SoftwareDelivery
不知道为啥我的浏览器会报Request Header Or Cookie Too Large,换个浏览器就好了
3.安装jdk(选装)
sudo yum install java-11-openjdk
4.关闭防火墙和selinux
systemctl stop firewalld.service 关闭防火墙
systemctl disable firewalld.service 禁止防火墙开机启动
systemctl status firewalld.service 查看防火墙状态
sestatus 检查 SELinux 状态
sudo setenforce 0 将 SELinux 设置为 Permissive 模式
永久禁用 SELinux
sudo vi /etc/selinux/config 编辑 SELinux 配置文件
将 SELINUX=enforcing 修改为 SELINUX=disabled,然后保存文件。
sudo reboot 重新启动系统使更改生效
5.配置内核参数和系统参数
备份源文件
sudo cp /etc/sysctl.conf /etc/sysctl.conf.bak
编辑 /etc/sysctl.conf
文件
vi /etc/sysctl.conf
设置以下参数
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmall = 16777216
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.panic_on_oops = 1
fs.aio-max-nr = 1048576
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
因为用的最小的云服务器所以减少分配内存,如果系统配置足够可适当提高分配
应用更改
sudo sysctl -p
6.安装必要的软件包
sudo yum install -y binutils gcc gcc-c++ make glibc glibc-devel libaio libaio-devel ksh libstdc++-devel smartmontools
7.配置用户级别的资源限制
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
8.创建 Oracle 用户和组
sudo groupadd oinstall
sudo groupadd dba
sudo groupadd backupdba
sudo groupadd dgdba
sudo groupadd kmdba
sudo groupadd racdba
sudo useradd -g oinstall -G dba,backupdba,dgdba,kmdba,racdba,oper oracle
sudo passwd oracle
9.创建 Oracle 安装及相关目录
sudo mkdir -p /app/oracle/product/19.3.000/db_home
sudo chown -R oracle:oinstall /app/oracle
sudo chmod -R 775 /app/oracle
sudo mkdir -p /data/soft/oracle/orainventory
sudo chown -R oracle:oinstall /data/soft/oracle/orainventory
mkdir -p /data/soft/oracle/flash_recovery_area
mkdir -p /data/soft/oracle/oradata
sudo chown -R oracle:oinstall /data/soft/oracle
10.上传和解压安装包
随便找个工具上传步骤二下载好的文件
解压
unzip LINUX.X64_193000_db_home.zip -d /app/oracle/product/19.3.000/db_home
需要安装
unzip
命令如下sudo yum install unzip
11.切换到oracle用户
su - oracle
11.配置环境变量
vim ~/.bash_profile
12.添加如下配置
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin 记得追加这个
export PATH
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.000/db_home
export NLS_DATE_FORMAT="YYYY:MM:DD HH24:MI:SS"
export NLS_LANG=american_america.ZHS16GBK
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS11=$ORACLE_HOME/nls/data
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib64:/usr/lib64:/usr/local/lib64
修改完毕后运行 source ~/.bash_profile
13.修改db_install.rsp(安装阶段)
将响应文件从响应文件目录复制到系统上的某个目录:
cp $ORACLE_HOME/install/response/db_install.rsp $ORACLE_HOME/install/response/db_install.rsp.bak
修改文件
vi $ORACLE_HOME/install/response/db_install.rsp
修改以下值
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/soft/oracle/orainventory
ORACLE_HOME=/app/oracle/product/19.3.000/db_home
ORACLE_BASE=/app/oracle/
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=backupdba
oracle.install.db.OSDGDBA_GROUP=dgdba
oracle.install.db.OSKMDBA_GROUP=kmdba
oracle.install.db.OSRACDBA_GROUP=racdba
oracle.install.db.rootconfig.executeRootScript=false
保存后检查编辑
cat install/response/db_install.rsp | grep -v '#' | grep "=[A-Z|0-9|a-z|/]"
14.进行安装(如果不在解压目录记得切换到解压目录)
./runInstaller -silent -responseFile /app/oracle/product/19.3.000/db_home/install/response/db_install.rsp
安装中我遇到了报错
Error Message:PRVF-7573 : 节点 "vm-4-4-centos" 上的交换空间大小不足 [应为 = 1.9517GB (2046504.0KB); 找到 = 0.0 bytes]
原因是没开启交换空间,可按下面步骤开启交换空间
创建一个交换文件
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
确保交换文件的权限正确
sudo chmod 600 /swapfile
使用
mkswap
命令将文件格式化为交换空间sudo mkswap /swapfile
启用交换文件并将其挂载
sudo swapon /swapfile
更新
/etc/fstab
文件echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
验证交换空间
free -h
你应该看到类似如下的输出,其中包括新添加的交换空间:
Swap: 2.0G 0.0G 2.0G
遇到的另一个错误----------解压出的lib文件夹有错误几个文件还是0kb,报
lib//libclntsh.so: 文件无法辨识: 信息: 文件被截断
还有xxx/lib//libclntsh.so: file format not recognized; treating as linker script
和xxx/lib//libclntsh.so:1: syntax error
,直接删除解压好的重新解压(还不行就把unzip一起卸了重装) (*  ̄︿ ̄)其他错误会显示日志路径,直接下载日志搜索error查看具体错误
15.启动监听
lsnrctl start
16.修改dbca.rsp
cd /app/oracle/product/19.3.000/db_home/assistants/dbca/
cp dbca.rsp dbca.rsp.bak
vi dbca.rsp
修改如下
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v19.0.0
gdbName=orcl
sid=orcl
databaseConfigType=SI
templateName=General_Purpose.dbc
sysPassword=password
systemPassword=password
emExpressPort=5500
dbsnmpPassword=password
datafileDestination=/data/soft/oracle/oradata
recoveryAreaDestination=/data/soft/oracle/flash_recovery_area
17.创建数据库
dbca -silent -createDatabase -responseFile /app/oracle/product/19.3.000/db_home/assistants/dbca/dbca.rsp
这一段为数不多的cpu使用率都干到100%了 ╥﹏╥
18.连接数据库(这个命令使用操作系统认证连接到数据库,并以 SYSDBA
权限登录。)
sqlplus / as sysdba
如果你希望使用其他用户而不是
SYSDBA
,你可以用以下命令:sqlplus username/password@dbname
19.查询当前实例的名称和状态
SELECT INSTANCE_NAME, STATUS FROM V$INSTANCE;