温馨提示×

oracle在centos配置流程

小樊
54
2025-08-02 11:12:45
栏目: 云计算

在CentOS上配置Oracle数据库是一个复杂的过程,涉及多个步骤。以下是一个详细的指南,帮助你在CentOS系统上安装和配置Oracle数据库:

系统准备

  1. 检查系统要求

    • 操作系统:CentOS 7 或 CentOS 8(推荐 CentOS 7)。
    • 内存:至少 2 GB RAM(建议 4 GB 或更高)。
    • 磁盘空间:至少 10 GB 用于安装,建议 20 GB 或更多。
    • Swap 空间:根据内存大小配置。
  2. 更新系统

    sudo yum update -y
    
  3. 安装必要的依赖包

    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
    
  4. 创建 Oracle 用户和组

    sudo groupadd oinstall
    sudo groupadd dba
    sudo useradd -g oinstall -G dba oracle
    sudo passwd oracle
    
  5. 配置内核参数

    编辑 /etc/sysctl.conf 文件,添加以下内容:

    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 4294967295
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    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
    
  6. 配置用户限制

    编辑 /etc/security/limits.conf 文件,添加以下内容:

    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
    
  7. 配置 PAM 模块

    编辑 /etc/pam.d/login 文件,添加以下内容:

    session required pam_limits.so
    
  8. 创建 Oracle 安装目录

    sudo mkdir -p /u01/app/oracle
    sudo chown -R oracle:oinstall /u01
    sudo chmod -R 775 /u01
    

安装 Oracle 数据库

  1. 下载 Oracle 数据库安装包

    访问 Oracle 官方网站,下载适用于 Linux x86_64 的 Oracle 数据库安装包(如 Oracle 19c)。

  2. 上传安装包到服务器

    将下载的安装包上传到 CentOS 服务器的 /u01/app/oracle 目录。

  3. 解压安装包

    cd /u01/app/oracle
    unzip LINUX.X64_193000_db_home.zip
    

配置网络服务名

  1. 在服务器端配置 tnsnames.ora

    编辑 $ORACLE_HOME/network/admin/tnsnames.ora 文件,添加以下内容:

    ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <服务器IP或主机名>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) # 全局数据库名 ) )
    

    <服务器IP或主机名> 替换为服务器的实际 IP 地址或主机名。

  2. 在客户端配置 tnsnames.ora

    在客户端的 tnsnames.ora 文件中添加与服务器端相同的配置。文件通常位于以下路径:

    • Windows:%ORACLE_HOME%\network\admin\tnsnames.ora
    • Linux:$ORACLE_HOME/network/admin/tnsnames.ora

配置防火墙

  1. 开放 Oracle 监听端口

    默认情况下,Oracle 监听器使用 1521 端口。确保防火墙允许该端口的流量。

    在 CentOS 7/8 上开放端口:

    sudo firewall-cmd --zone=public --add-port=1521/tcp --permanent
    sudo firewall-cmd --reload
    

配置 Oracle Net 服务

  1. 编辑 sqlnet.ora 文件

    编辑 $ORACLE_HOME/network/admin/sqlnet.ora 文件,确保以下配置:

    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    SQLNET.AUTHENTICATION_SERVICES= (NTS)
    

测试远程连接

  1. 使用 SQL*Plus 测试连接

    在客户端使用 SQL*Plus 测试远程连接:

    sqlplus username/password@ORCL
    

    usernamepassword 替换为实际的数据库用户名和密码。

  2. 使用 TNSPING 测试连接

    在客户端使用 tnsping 测试网络服务名配置:

    tnsping ORCL
    

如果配置正确,会显示类似以下内容:

Used TNSNAMES adapter to resolve the alias Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <服务器IP或主机名>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl))) OK (10 msec)

其他注意事项

  1. 检查数据库监听地址

    确保数据库监听地址正确。可以通过以下 SQL 查询检查:

    SELECT * FROM v$listener_network;
    
  2. 检查数据库服务名

    确保数据库服务名正确。可以通过以下 SQL 查询检查:

    SELECT name, value FROM v$parameter WHERE name = 'service_names';
    
  3. 检查客户端和服务器的时间同步

    确保客户端和服务器的时间同步,否则可能会导致连接问题。

  4. 检查日志文件

    如果连接失败,检查以下日志文件以获取更多信息:

    • 服务器端监听器日志:$ORACLE_HOME/network/log/listener.log
    • 客户端连接日志:$ORACLE_HOME/network/log/sqlnet.log

0