yum update -y)。free -h查看,不足则创建:dd if=/dev/zero of=/swapfile bs=1M count=2048,mkswap /swapfile,swapon /swapfile,并添加到/etc/fstab永久生效)。sudo hostnamectl set-hostname oracle-db # 设置主机名
echo "127.0.0.1 oracle-db" | sudo tee -a /etc/hosts # 映射IP与主机名
sudo setenforce 0 # 临时关闭
sudo sed -i 's/SELINUX=.*/SELINUX=disabled/' /etc/selinux/config # 永久关闭
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Oracle数据库需要多个系统库支持,使用以下命令安装:
sudo yum install -y binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel pcre-devel
注:依赖包版本需与Oracle版本兼容,建议参考Oracle官方文档。
Oracle需以专用用户运行,避免权限问题:
sudo groupadd oinstall # 归属组
sudo groupadd dba # 数据库管理员组
sudo useradd -g oinstall -G dba oracle # 创建oracle用户,归属oinstall组,附加dba组
sudo passwd oracle # 设置密码(如Oracle123)
建议将Oracle软件与数据分开存储,提升管理效率:
sudo mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 # Oracle软件目录
sudo mkdir -p /u01/app/oracle/oradata # 数据文件目录
sudo chown -R oracle:oinstall /u01 # 所有权赋给oracle用户
sudo chmod -R 775 /u01 # 设置读写权限
编辑oracle用户的.bashrc文件,添加以下内容:
sudo vi /home/oracle/.bashrc
插入以下配置(根据实际路径调整):
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LANG=en_US.UTF-8
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
使配置生效:
source /home/oracle/.bashrc
从Oracle官网下载对应版本的Linux x64安装包(如19c),上传至服务器并解压:
unzip linux.x64_193000_db_home.zip -d /u01/app/oracle/
切换至oracle用户,进入安装目录执行安装脚本:
su - oracle
cd /u01/app/oracle/database
./runInstaller
按照向导操作:
/u01/app/oracle)和产品目录(/u01/app/oracle/product/19.3.0/dbhome_1);orcl)、字符集(推荐AL32UTF8);/u01/app/oracle/product/19.3.0/dbhome_1/root.sh(root用户执行)。监听器负责接收客户端连接请求,编辑listener.ora文件:
vi $ORACLE_HOME/network/admin/listener.ora
确保内容如下(根据IP调整):
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
启动监听器:
lsnrctl start
设置开机自启:
sudo systemctl enable lsnrctl
若未在安装时创建数据库,可使用DBCA工具手动创建:
dbca
按照向导操作:
orcl.localdomain)、SID(orcl);AL32UTF8);使用SQL*Plus连接并启动:
sqlplus / as sysdba
在SQL*Plus中执行:
STARTUP
若需设置开机自启,可创建systemd服务(以Oracle 19c为例):
sudo vi /etc/systemd/system/oracle-database.service
插入以下内容:
[Unit]
Description=Oracle Database Service
After=network.target
[Service]
Type=forking
User=oracle
Group=oinstall
Environment="ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1"
Environment="ORACLE_SID=orcl"
ExecStart=/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbstart $ORACLE_HOME
ExecStop=/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbshut $ORACLE_HOME
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl enable oracle-database
sudo systemctl start oracle-database
使用SQL*Plus连接数据库,验证是否成功:
sqlplus / as sysdba
执行以下SQL语句:
SELECT status FROM v$instance; -- 查看实例状态(应为OPEN)
SELECT * FROM dual; -- 测试基本查询
若状态为OPEN且能正常查询,说明安装成功。
/etc/sysctl.conf中的参数(如kernel.shmmax、net.ipv4.ip_local_port_range),执行sysctl -p使配置生效;使用netstat -tulnp | grep 1521查看端口占用情况,杀掉占用进程。lsnrctl status);检查ORACLE_SID环境变量是否正确;确保oracle用户有访问数据库的权限。libaio、compat-libstdc++),使用yum search 包名查找对应包。