uname -a查看内核版本,确保符合Oracle最低要求。使用yum命令安装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 unzip zip
注:部分依赖包需包含i686架构(如compat-libstdc++-33*i686),确保32位兼容性。
创建专用用户组(oinstall用于软件安装、dba用于数据库管理)和Oracle用户,提升安全性:
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba oracle
sudo passwd oracle # 设置强密码
注:避免使用root用户运行Oracle数据库。
编辑/etc/sysctl.conf文件,调整内核参数以支持Oracle数据库的高并发和内存需求:
sudo vim /etc/sysctl.conf
添加/修改以下参数(根据物理内存动态计算kernel.shmmax和kernel.shmall,如内存为8GB则kernel.shmmax=8*1024*1024*1024):
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmmax = 2147483648 # 2GB(物理内存的80%)
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 = 1048576
应用配置:sudo sysctl -p。
编辑Oracle用户的~/.bashrc文件,设置Oracle相关环境变量(确保路径与安装目录一致):
sudo vim /home/oracle/.bashrc
添加以下内容(以Oracle 19c为例):
export ORACLE_BASE=/data/oracle # 软件安装基目录
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1 # 软件主目录
export ORACLE_SID=orcl # 数据库实例名
export PATH=$ORACLE_HOME/bin:$PATH # 命令路径
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软件和数据存储目录,设置正确的所有权(Oracle用户拥有完全控制权):
sudo mkdir -p /data/oracle/product/19.3.0/dbhome_1 # 软件安装目录
sudo mkdir -p /data/oracle/oradata # 数据文件目录
sudo chown -R oracle:oinstall /data/oracle # 所有权转移
sudo chmod -R 775 /data/oracle # 权限设置
将Oracle安装包(如linux.x64_19c_database_1of2.zip和linux.x64_19c_database_2of2.zip)上传至服务器(如/data/file目录),解压至安装目录:
cd /data/file
unzip linux.x64_19c_database_1of2.zip -d /data/oracle/
unzip linux.x64_19c_database_2of2.zip -d /data/oracle/
切换至Oracle用户,进入安装目录并启动安装脚本:
su - oracle
cd /data/oracle/database
./runInstaller
注:若远程安装,需配置X11转发(ssh -X oracle@服务器IP)或使用静默安装(参考Oracle官方文档)。
ORACLE_BASE和ORACLE_HOME路径与之前配置一致。AL32UTF8)、全局数据库名(如orcl)。按照提示以root用户身份执行两个脚本(/u01/app/oraInventory/orainstRoot.sh和/data/oracle/product/19.3.0/dbhome_1/root.sh),完成系统级配置。安装完成后,Oracle数据库实例会自动启动。
若安装时未创建数据库,可使用dbca(Database Configuration Assistant)工具创建:
dbca
按照向导选择“创建数据库”,设置实例名、字符集、密码等参数,完成数据库创建。
使用netca(Net Configuration Assistant)工具配置监听器(默认端口1521):
netca
选择“配置监听器”,添加本地监听器(LISTENER),确认端口和协议(TCP),完成配置。
使用SQL*Plus工具验证数据库是否正常运行:
sqlplus / as sysdba
输入以下命令查看数据库状态:
SELECT status FROM v$instance; -- 应返回“OPEN”
退出:exit。
根据物理内存调整SGA(系统全局区)和PGA(程序全局区)大小,提升数据库缓存效率:
-- 调整SGA目标(总内存的60%,如8GB内存设为4.8GB)
ALTER SYSTEM SET sga_target=4.8G SCOPE=BOTH;
-- 调整PGA聚合目标(总内存的20%,如8GB内存设为1.6GB)
ALTER SYSTEM SET pga_aggregate_target=1.6G SCOPE=BOTH;
SELECT * FROM emp WHERE empno = :emp_id),提升SQL执行效率。SELECT empno, ename FROM emp),减少数据传输量。EXPLAIN PLAN查看SQL执行路径,识别性能瓶颈(如缺少索引)。CREATE INDEX idx_emp_empno ON emp(empno))。DBA_INDEXES视图查看CLUSTER_FACTOR)进行重建(如ALTER INDEX idx_emp_empno REBUILD)。DBMS_STATS包收集表、索引的统计信息(如EXEC DBMS_STATS.GATHER_TABLE_STATS('SCOTT', 'EMP')),帮助优化器生成最优执行计划。ALTER TABLESPACE users COALESCE)。若安装或启动时报错“Permission denied”,需检查Oracle用户对安装目录、数据目录的权限(确保oracle:oinstall拥有读写权限)。
若安装过程中提示“Missing Dependency”,根据错误信息使用yum安装缺失的包(如yum install -y 缺失包名)。
若无法识别sqlplus等Oracle命令,需检查~/.bashrc中的PATH变量是否包含$ORACLE_HOME/bin,并执行source ~/.bashrc使配置生效。
查看Alert日志(位于$ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_$ORACLE_SID.log),定位启动失败原因(如控制文件损坏、数据文件丢失)。