Oracle Database 11g 作为一款经典且稳定的企业级数据库系统,其安装过程涉及系统环境准备、软件安装、实例创建及后续配置等多个环节,本文将系统性地介绍如何在 Linux 操作系统上安装并配置一个 Oracle 11g 数据库实例,确保流程清晰、步骤详尽。

安装前准备
在开始安装之前,充分的环境准备工作是确保安装顺利的关键,此阶段主要涉及硬件检查、软件依赖配置、用户创建和系统参数设置。
硬件与软件要求
确认服务器满足 Oracle 11g 的最低硬件要求:至少 1GB 物理内存(建议 2GB 或更多)、1.5-2GB 交换空间、以及至少 4.5GB 的磁盘空间用于软件安装,另外还需为数据库文件预留充足空间,软件方面,Oracle 11g R2 支持多种 Linux 发行版,如 Red Hat Enterprise Linux (RHEL) 5/6/7、Oracle Linux 5/6/7、CentOS 5/6/7 等,请确保系统已安装必要的开发包和依赖库,如 gcc、make、binutils、libaio 等。
创建用户与组
Oracle 数据库不应以 root 用户运行,需要创建专门的用户和用户组来管理数据库软件和进程。
# 创建用户组 groupadd oinstall groupadd dba # 创建 oracle 用户并指定其主组和副组 useradd -g oinstall -G dba oracle # 为 oracle 用户设置密码 passwd oracle
配置内核参数与环境变量
Oracle 对系统的内核参数有特定要求,以优化其性能,编辑 /etc/sysctl.conf 文件,添加或修改以下参数:
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
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 保存后,执行 sysctl -p 使配置生效。
为 oracle 用户配置环境变量,编辑 /home/oracle/.bash_profile 文件,在末尾添加:
export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=orcl export PATH=$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
创建所需的目录结构并授权:
mkdir -p /u01/app/oracle chown -R oracle:oinstall /u01 chmod -R 775 /u01
图形化安装与数据库实例创建
准备工作就绪后,即可开始图形化安装过程,请确保已以 oracle 用户登录,并配置了 X11 转发(如果是远程安装)。

启动安装程序
将 Oracle 11g 的安装包(如 p13390677_112040_Linux-x86-64_1of7.zip 和 p13390677_112040_Linux-x86-64_2of7.zip)解压到同一目录,然后运行 runInstaller。
unzip p13390677_112040_Linux-x86-64_1of7.zip unzip p13390677_112040_Linux-x86-64_2of7.zip cd database ./runInstaller
安装向导配置
安装程序启动后,按照向导提示进行操作:
- 配置安全更新:可以取消勾选“我希望通过 My Oracle Support 接收安全更新”,点击“下一步”。
- 安装选项:选择“创建和配置数据库”,这是安装软件并同时创建数据库实例的快捷方式。
- 系统类:选择“服务器类”,以获得更全面的配置选项。
- 节点安装:默认选择“单实例数据库安装”。
- 安装类型:选择“典型安装”,这会简化大部分配置,适合初学者和标准应用场景。
典型安装关键配置
在典型安装界面,需要指定几个关键参数,下表详细说明了各项配置:
| 配置项 | 说明与建议 |
|---|---|
| Oracle 基目录 | 预设为 $ORACLE_BASE(如 /u01/app/oracle),保持默认即可。 |
| 软件位置 | 预设为 $ORACLE_HOME,保持默认。 |
| 存储类型 | 文件系统是最常用的选择。 |
| 数据库文件位置 | 指定数据文件、控制文件等的存储路径,建议使用与软件不同的高性能磁盘。 |
| 数据库版本 | 根据需求选择企业版或标准版。 |
| 字符集 | 关键设置! 推荐选择 AL32UTF8(Unicode UTF-8),以支持多语言和避免乱码。 |
| OSDBA 组 | 默认为 dba,保持不变。 |
| 全局数据库名 | 格式通常为 数据库名.域名,如 orcl.example.com。 |
| 管理密码 | 为 SYS, SYSTEM, DBSNMP 等管理员账户设置统一且复杂的密码。 |
配置完成后,点击“下一步”,安装程序会进行先决条件检查,如果有部分检查失败,可以根据提示修复,或在确保不影响安装的情况下选择“忽略”。
执行安装信息无误后,点击“完成”开始安装,整个过程会持续较长时间,期间会弹出窗口要求以 root 用户执行两个脚本。
安装后配置与验证
当安装进度条接近100%时,会弹出一个提示框,要求以 root 用户身份执行以下两个脚本:
/u01/app/oraInventory/orainstRoot.sh/u01/app/oracle/product/11.2.0/dbhome_1/root.sh
请务必切换到 root 用户并依次执行它们,执行完毕后,在提示框中点击“确定”,安装完成。
验证安装:

- 检查监听器:以
oracle用户执行lsnrctl status,应能看到监听器LISTENER正在运行,并已注册服务orcl。 - 检查数据库进程:执行
ps -ef | grep pmon,应能看到类似ora_pmon_orcl的进程。 - 连接数据库:使用 SQL*Plus 尝试连接。
sqlplus / as sysdba
如果成功进入
SQL>提示符,并执行select status from v$instance;返回OPEN,则表示数据库实例已成功启动并运行。
相关问答FAQs
Q1: 安装完成后,忘记了 SYS 或 SYSTEM 用户的密码怎么办?
A1: 如果忘记了管理员密码,可以通过 orapwd 工具重新创建密码文件来解决,步骤如下:
- 确保数据库实例已启动。
- 以
oracle用户身份,在终端中执行以下命令(根据你的ORACLE_HOME路径调整):$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapworcl password=你的新密码 entries=5
file参数指定密码文件的位置和名称(通常为orapw+SID),password设置新密码,entries指定可以拥有 SYSDBA/SYSOPER 权限的最大用户数。 - 重启数据库实例使新密码文件生效:
sqlplus / as sysdba SQL> shutdown immediate; SQL> startup;
之后就可以使用新密码通过
sqlplus sys/你的新密码 as sysdba连接数据库了。
*Q2: 使用 SQLPlus 或客户端工具连接数据库时,报 ORA-12154: TNS: 无法解析指定的连接标识符,该如何排查?**
A2: 这个错误通常是客户端的网络配置问题,意味着它无法找到要连接的数据库服务,排查步骤如下:
- 检查服务器端监听器:首先在数据库服务器上执行
lsnrctl status,确认监听器正在运行,并且其“服务摘要”部分已经列出了你的数据库实例(如Service "orcl" has 1 instance(s))。 :这个文件位于客户端的 $ORACLE_HOME/network/admin/目录下(或由TNS_ADMIN环境变量指定),确保文件中存在一个与你在连接字符串中使用的名称相同的条目,并且其中的HOST、PORT和SERVICE_NAME或SID与服务器端配置完全一致。ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 数据库服务器IP或主机名)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )- 验证网络连通性:从客户端使用
ping和telnet命令测试到数据库服务器IP和1521端口的连通性,确保防火墙没有阻止连接。 - 使用 Easy Connect 方式测试:尝试使用
sqlplus sys/password@//数据库服务器IP:1521/orcl as sysdba的格式连接,如果这种方式可以连接,说明问题一定出在tnsnames.ora文件的配置上。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复