怎样在centos完成oracle配置
在CentOS上配置Oracle数据库的详细步骤
一、前置准备
1. 系统要求检查
确保CentOS系统满足Oracle数据库的最低要求:
- 内存:至少1GB(推荐2GB以上);
- 硬盘空间:至少10GB可用空间(视数据库大小调整);
- Swap分区:建议不小于2GB(可通过
free -h命令查看,若不足可通过sudo fallocate -l 2G /swapfile创建并启用)。
2. 关闭SELinux与防火墙
Oracle安装与运行需关闭SELinux(避免权限限制)和防火墙(避免端口拦截):
# 临时关闭SELinux
sudo setenforce 0
# 永久禁用SELinux(修改配置文件)
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
上述命令涵盖了Oracle安装所需的核心依赖,确保后续步骤不会出现依赖缺失错误。
三、创建Oracle用户与组
Oracle需以专用用户(oracle)和组(oinstall、dba)运行,避免权限冲突:
# 创建组(oinstall用于安装管理,dba用于数据库管理员权限)
sudo groupadd oinstall
sudo groupadd dba
# 创建用户(归属oinstall组,附加dba权限)
sudo useradd -g oinstall -G dba oracle
# 设置用户密码(交互式输入)
sudo passwd oracle
创建完成后,建议通过id oracle命令验证用户组归属是否正确。
四、配置系统内核参数
Oracle对系统内核参数有特定要求,需修改/etc/sysctl.conf文件调整:
sudo vi /etc/sysctl.conf
添加或修改以下参数(关键参数说明见注释):
# 控制异步I/O请求的最大数量
fs.aio-max-nr = 1048576
# 系统最大文件句柄数
fs.file-max = 6815744
# 共享内存总页数(每页4KB)
kernel.shmall = 2097152
# 单个共享内存段的最大大小(字节)
kernel.shmmax = 4294967295
# 共享内存段的最大数量
kernel.shmmni = 4096
# 信号量集合的最大数量
kernel.sem = 250 32000 100 128
# 本地端口范围(避免与Oracle端口冲突)
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用户环境变量
为oracle用户设置环境变量,确保其能正确访问Oracle软件与库文件:
sudo vi /home/oracle/.bashrc
添加以下内容(根据实际安装路径调整,示例为Oracle 19c):
# Oracle基础目录
export ORACLE_BASE=/u01/app/oracle
# Oracle home目录(软件安装路径)
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
# 数据库实例名(SID)
export ORACLE_SID=orcl
# 将Oracle bin目录加入PATH
export PATH=$PATH:$ORACLE_HOME/bin
# 将Oracle库目录加入LD_LIBRARY_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安装包需解压到专用目录(建议使用/u01/app/oracle),并设置正确权限:
# 创建安装目录
sudo mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
# 设置目录所有者(oracle用户拥有完全控制权,oinstall组有读权限)
sudo chown -R oracle:oinstall /u01/app/oracle
sudo chmod -R 775 /u01/app/oracle
七、下载并解压Oracle安装包
- 从Oracle官网下载适用于Linux x64的Oracle Database安装包(如19c或21c的
linux.x64_193000_db_home.zip); - 将安装包上传至服务器(如
/tmp目录); - 解压安装包到目标目录:
# 解压安装包(假设上传至/tmp)
unzip /tmp/linux.x64_193000_db_home.zip -d /u01/app/oracle/
# 设置目录所有者
sudo chown -R oracle:oinstall /u01/app/oracle/product/19.3.0/dbhome_1
八、运行Oracle安装程序
切换至oracle用户,进入安装目录运行安装脚本:
# 切换至oracle用户
su - oracle
# 进入安装目录
cd /u01/app/oracle/product/19.3.0/dbhome_1/bin
# 运行安装程序(图形界面模式)
./runInstaller
安装过程中需完成以下步骤:
- 选择安装类型:推荐选择“Create and configure a database”(创建并配置数据库);
- 配置安装路径:确认
ORACLE_BASE(/u01/app/oracle)和ORACLE_HOME(/u01/app/oracle/product/19.3.0/dbhome_1)路径正确; - 选择数据库配置:选择“General Purpose”(通用用途)模板,设置数据库名(如
orcl)和SID(如orcl); - 设置管理员密码:为
SYS、SYSTEM等管理员账户设置强密码; - 完成安装:等待安装进度完成,安装程序会提示配置监听器和创建数据库。
九、配置监听器与数据库实例
1. 配置监听器(Listener)
监听器负责接收客户端连接请求,使用netca(Net Configuration Assistant)工具配置:
# 运行netca(图形界面模式)
netca
按照向导选择“Listener configuration”(监听器配置),添加TCP协议监听端口(默认1521),完成配置后监听器会自动启动。
2. 创建数据库实例
使用dbca(Database Configuration Assistant)工具创建数据库:
# 运行dbca(图形界面模式)
dbca
按照向导选择“Create a database”(创建数据库),选择“General Purpose”模板,输入数据库名(如orcl)和SID(如orcl),设置字符集(推荐AL32UTF8),完成配置后数据库实例会自动创建。
十、启动与验证数据库
1. 启动数据库实例
使用sqlplus(SQL*Plus)工具连接到数据库并启动:
# 以sysdba身份连接(无需密码,因为当前用户为oracle且属于dba组)
sqlplus / as sysdba
# 启动数据库
SQL>
startup
# 退出sqlplus
SQL>
exit
2. 验证安装
再次连接数据库,执行简单查询验证是否成功:
sqlplus / as sysdba
SQL>
SELECT status FROM v$instance;
若返回OPEN,则表示数据库已成功启动,安装配置完成。
注意事项
- 若安装过程中出现“ORA-00821: Specified value of sga_target is too small”错误,需调整
sga_target参数(位于$ORACLE_HOME/network/admin/sqlnet.ora文件中),增大SGA内存分配; - 若需远程访问数据库,需修改
$ORACLE_HOME/network/admin/listener.ora文件,将HOST设置为服务器IP地址,并开放1521端口(sudo firewall-cmd --add-port=1521/tcp --permanent,sudo firewall-cmd --reload); - 建议定期备份数据库(可使用
RMAN工具),避免数据丢失。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 怎样在centos完成oracle配置
本文地址: https://pptw.com/jishu/736520.html
