在CentOS上配置Oracle数据库是一个复杂的过程,涉及多个步骤。以下是一个详细的指南,帮助你在CentOS上成功安装和配置Oracle数据库。
由于Oracle数据库服务器和客户端需要分开安装,首先在CentOS上安装Oracle客户端。
sudo yum install oracle-client
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba oracle
sudo passwd oracle
编辑/home/oracle/.bash_profile
文件,添加以下内容:
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
使更改生效:
source /home/oracle/.bash_profile
/etc/security/limits.conf
文件,设置用户oracle
的资源限制:oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
/etc/pam.d/login
文件,添加以下内容:session required pam_limits.so
/etc/sysctl.conf
文件,添加或修改以下参数:fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.shmmax = 2147483648
net.ipv4.ip_local_port_range = 9000 65000
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
使配置生效:
sudo sysctl -p
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
使用yum
命令安装Oracle数据库所需的依赖包:
sudo yum install binutils compat-libcap1* compat-libstdc-33* elfutils-libelf-devel gcc gcc-c glibc-devel* ksh libaio-devel libgcc libstdc libstdc-devel make sysstat unixODBC unixODBC-devel
为Oracle用户配置环境变量,以便正确找到Oracle软件和库文件。
从Oracle官网下载适用于CentOS的Oracle数据库安装包。
将下载的安装包解压到指定的目录。
unzip linux.x64_19c_database_1of2.zip -d /data/src/
切换到Oracle用户,进入安装目录,运行安装程序:
sudo su - oracle
cd /data/src/database/response/
./runInstaller
根据提示配置安装选项,如选择安装类型(典型安装)、设置Oracle主目录等。
使用dbca
工具创建数据库实例:
/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname orcl -sid orcl -responseFile NO_VALUE -characterSet AL32UTF8
编辑/u01/app/oracle/product/19.3.0/dbhome_1/network/admin/listener.ora
文件,添加监听器配置:
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(DESCRIPTION = (PROTOCOL = IPC)(KEY = EXTPROC))
)
启动监听器:
lsnrctl start
sqlplus / as sysdba
startup
根据实际需求调整内核参数,如文件系统缓存、网络参数等,以提高系统性能。
echo vm.vfs_cache_pressure 50 >> /etc/sysctl.conf
echo net.core.somaxconn 4096 >> /etc/sysctl.conf
sudo sysctl -p
选择合适的文件系统类型,并进行适当的挂载选项设置,以提高文件读写性能。
关闭不需要的系统服务和守护进程,减少资源竞争和系统开销。
根据系统需求调整系统全局区(SGA)和程序全局区(PGA)的大小。
ALTER SYSTEM SET SGA_TARGET = 4G SCOPE=BOTH;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET = 1G SCOPE=BOTH;
为经常用于查询条件的列创建索引,以提高查询性能。
CREATE INDEX idx_column_name ON table_name(column_name);
优化SQL语句,避免使用SELECT *
,明确列出需要的列。
SELECT id, name FROM employees WHERE department_id = 30;
定期更新统计信息,重建索引,以保持数据库的高效运行。
EXEC DBMS_STATS.GATHER_SCHEMA_STATS('SCHEMA_NAME');
ALTER INDEX idx_name REBUILD;
通过以上步骤和技巧,您可以在CentOS上成功安装和配置Oracle数据库,并根据实际需求进行优化。如果在安装过程中遇到任何问题,建议查阅Oracle官方文档或相关在线资源以获取更多帮助。