centos上oracle配置全攻略
CentOS上Oracle数据库配置全攻略
一、安装前准备
1. 系统要求检查
- 操作系统:确保CentOS版本与Oracle版本兼容(如Oracle 19c支持CentOS 7/8,Oracle 21c支持CentOS 8+)。
- 硬件资源:内存≥2GB(推荐4GB+),硬盘可用空间≥50GB(根据数据库大小调整),Swap分区≥2GB。
- 内核版本:使用
uname -a确认内核版本符合Oracle最低要求(如CentOS 7内核≥3.10,CentOS 8内核≥4.18)。
2. 依赖包安装
以root用户执行以下命令,安装Oracle必需的依赖包(避免安装过程中报错):
# CentOS 7
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
# CentOS 8
sudo dnf 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
3. 用户与组创建
创建Oracle运行所需的用户组及用户(oinstall用于安装管理,dba用于数据库管理):
sudo groupadd oinstall
sudo groupadd dba
sudo useradd -g oinstall -G dba oracle
sudo passwd oracle # 设置oracle用户密码
4. 系统参数配置
(1)内核参数调整
编辑/etc/sysctl.conf,添加以下参数以优化系统内核性能:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648 # 内存≤4GB时设置为物理内存大小;内存>
4GB时设置为2GB
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 4194304
net.core.wmem_max = 4194304
使配置生效:
sudo sysctl -p
(2)用户资源限制
编辑/etc/security/limits.conf,添加以下内容限制oracle用户的资源使用:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
编辑/etc/pam.d/login,确保资源限制生效:
session required pam_limits.so
编辑/etc/profile,设置oracle用户的默认进程和文件数限制:
if [ $USER = "oracle" ];
then
ulimit -u 16384 -n 65536
fi
使配置生效:
source /etc/profile
5. 安装目录创建
创建Oracle安装目录及数据目录,并赋权给oracle用户:
sudo mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1 # 安装目录(根据版本调整)
sudo mkdir -p /u01/app/oracle/oradata # 数据文件目录
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chmod -R 775 /u01/app/oracle
二、Oracle软件安装
1. 下载安装包
从Oracle官网下载适用于Linux x64的Oracle Database安装包(如linux.x64_193000_db_home.zip),上传至服务器/tmp目录。
2. 解压安装包
切换至oracle用户,解压安装包到指定目录:
su - oracle
unzip /tmp/linux.x64_193000_db_home.zip -d /u01/app/oracle/product/19.3.0/dbhome_1
3. 运行安装程序
进入安装目录,执行runInstaller启动图形化安装向导:
cd /u01/app/oracle/product/19.3.0/dbhome_1
./runInstaller
按照向导提示完成以下步骤:
- 选择安装类型:推荐选择“典型安装”(包含数据库、监听器等组件)。
- 设置Oracle主目录:确认
ORACLE_BASE=/u01/app/oracle,ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1。 - 创建数据库:选择“创建数据库”(后续也可用DBCA工具创建),设置全局数据库名(如
orcl)、SID(如orcl)、管理员密码。 - 完成安装:等待安装进度完成,记录“Root脚本”提示(需以root用户执行)。
4. 执行根脚本
安装完成后,按照提示以root用户执行以下脚本:
sudo /u01/app/oraInventory/orainstRoot.sh
sudo /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
三、Oracle监听器配置
监听器用于接收客户端的连接请求,需通过netca工具配置。
1. 启动NetCA工具
切换至oracle用户,执行以下命令:
netca
2. 配置监听器
- 选择“监听程序配置”,点击“下一步”。
- 选择“添加”,输入监听器名称(默认
LISTENER),点击“下一步”。 - 选择“TCP/IP”,设置主机名为
localhost(或服务器IP),端口为1521(默认),点击“下一步”。 - 选择“数据库服务”,点击“添加”,输入全局数据库名(如
orcl)和SID(如orcl),点击“下一步”。 - 确认配置信息,点击“完成”,生成
listener.ora文件(位于$ORACLE_HOME/network/admin目录)。
3. 启动监听器
lsnrctl start
4. 检查监听器状态
lsnrctl status
若显示“Status: Running”,则表示监听器启动成功。
四、Oracle数据库实例创建
可通过dbca工具创建数据库实例。
1. 启动DBCA工具
dbca
2. 配置数据库实例
- 选择“数据库创建”,点击“下一步”。
- 选择“自定义数据库”,点击“下一步”。
- 输入全局数据库名(如
orcl)和SID(如orcl),点击“下一步”。 - 选择“创建新的Windows用户”(可选),点击“下一步”。
- 设置管理员密码(如
Oracle123),点击“下一步”。 - 选择数据库字符集(推荐
AL32UTF8),点击“下一步”。 - 选择“启用归档日志模式”(生产环境推荐),点击“下一步”。
- 确认配置信息,点击“完成”,开始创建数据库。
3. 完成创建
等待数据库创建完成,点击“关闭”退出DBCA。
五、Oracle服务自启动配置
1. 修改oratab文件
编辑/etc/oratab,将数据库条目的结尾从N改为Y(允许自动启动):
sudo vi /etc/oratab
找到类似orcl:/u01/app/oracle/product/19.3.0/dbhome_1:N的行,修改为:
orcl:/u01/app/oracle/product/19.3.0/dbhome_1:Y
2. 创建启动脚本
编辑/etc/rc.d/rc.local,添加以下内容(启动监听器和数据库):
su oracle -lc "/u01/app/oracle/product/19.3.0/dbhome_1/bin/lsnrctl start"
su oracle -lc "/u01/app/oracle/product/19.3.0/dbhome_1/bin/dbstart"
赋予脚本执行权限:
sudo chmod +x /etc/rc.d/rc.local
六、客户端连接配置
1. 配置tnsnames.ora文件
编辑$ORACLE_HOME/network/admin/tnsnames.ora,添加以下内容(用于客户端连接):
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL:客户端连接时使用的服务名(可自定义)。HOST:数据库服务器IP或主机名(本地连接用localhost)。SERVICE_NAME:数据库服务名(与listener.ora中的SERVICE_NAME一致)。
2. 测试连接
使用sqlplus工具测试连接:
sqlplus sys/Oracle123@ORCL as sysdba
若提示“Connected to Oracle Database 19c Enterprise Edition Release 19.0.0.0.0”,则表示连接成功。
七、常见问题排查
1. 监听器无法启动
- 原因:
listener.ora文件配置错误(如主机名、端口不正确)。 - 解决方法:检查
listener.ora文件,确保HOST和PORT与tnsnames.ora一致;使用lsnrctl status查看具体错误信息。
2. 数据库无法启动
- 原因:控制文件损坏、数据文件丢失。
- 解决方法:使用
startup nomount启动实例,再通过recover database恢复数据库;检查alert.log文件定位错误。
3. 客户端无法连接
- 原因:防火墙未开放1521端口、
tnsnames.ora配置错误。 - 解决方法:开放防火墙端口(
sudo firewall-cmd --add-port=1521/tcp --permanent,sudo firewall-cmd --reload);检查tnsnames.ora中的主机名、端口、服务名是否正确。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos上oracle配置全攻略
本文地址: https://pptw.com/jishu/736519.html
