位置: 文档库 > 数据库 > 文档下载预览

《Linnux下Oracle 10G和Oracle 11G双版本数据库并存的安装和配置.doc》

1. 下载的文档为doc格式,下载后可用word或者wps进行编辑;

2. 将本文以doc文档格式下载到电脑,方便收藏和打印;

3. 下载后的文档,内容与下面显示的完全一致,下载之前请确认下面内容是否您想要的,是否完整.

点击下载文档

Linnux下Oracle 10G和Oracle 11G双版本数据库并存的安装和配置.doc

《Linux下Oracle 10G和Oracle 11G双版本数据库并存的安装和配置》

在Linux系统中同时运行Oracle 10G和Oracle 11G数据库是许多企业面临的需求,例如在系统迁移过渡期、多版本兼容性测试或不同业务线需求下。这种双版本共存需要解决环境变量冲突、监听端口分配、共享资源隔离等关键问题。本文将系统阐述从环境准备到双实例运行的完整流程,并提供故障排查指南。

一、环境准备与兼容性检查

1.1 系统要求验证

Oracle 10G(10.2.0.x)和11G(11.2.0.x)对Linux内核版本要求不同。建议使用RHEL/CentOS 6.x或更高版本,需满足:

  • 内存:至少4GB(建议8GB+)
  • 交换空间:物理内存的1.5-2倍
  • 共享内存:/dev/shm至少1GB

通过以下命令检查:

free -m
grep MemTotal /proc/meminfo
df -h /dev/shm

1.2 依赖包安装

安装基础依赖包(以RHEL为例):

yum install -y binutils compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel \
libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

1.3 用户与组配置

创建专用用户和组(避免使用系统默认用户):

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

二、Oracle 10G安装配置

2.1 目录结构规划

创建独立目录避免与11G冲突:

mkdir -p /u01/app/oracle/product/10.2.0/db_1
chown -R oracle:oinstall /u01

2.2 安装前配置

修改内核参数(/etc/sysctl.conf):

fs.file-max = 65536
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576

应用配置:

sysctl -p

2.3 图形界面安装

切换至oracle用户,设置环境变量:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

运行安装程序:

./runInstaller

安装过程中选择"Custom"安装类型,取消不必要的组件(如Oracle Spatial)。

2.4 监听器配置

使用netca配置监听器(端口1521):

netca

修改监听配置文件($ORACLE_HOME/network/admin/listener.ora):

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
    )
  )

三、Oracle 11G安装配置

3.1 独立环境创建

创建11G专用目录和用户环境:

mkdir -p /u02/app/oracle/product/11.2.0/dbhome_1
export ORACLE_BASE=/u02/app/oracle
export ORACLE_HOME=/u02/app/oracle/product/11.2.0/dbhome_1

3.2 安装前检查

验证11G特定依赖:

rpm -q libaio compat-libstdc++-33

检查系统架构:

uname -m  # 必须为64位系统

3.3 静默安装方式

创建response文件(db_install.rsp):

[GENERAL]
RESPONSEFILE_VERSION="11.2"
OPERATION_TYPE="INSTALL"
[UNIX_GROUP_NAME]="oinstall"
[ORACLE_HOME]="/u02/app/oracle/product/11.2.0/dbhome_1"
[ORACLE_BASE]="/u02/app/oracle"
[oracle.install.db.InstallEdition]="EE"
[DECLINE_SECURITY_UPDATES]="true"

执行安装:

./runInstaller -silent -responseFile /path/to/db_install.rsp -ignorePrereq

3.4 监听器配置

为11G配置独立监听器(端口1522):

netca -silent -responseFile /path/to/netca.rsp

netca.rsp示例片段:

[GENERAL]
RESPONSEFILE_VERSION="11.2"
OPERATION_TYPE="addListener"
[LISTENER]
LISTENER_NAME="LISTENER11G"
LISTENER_PROTOCOL="TCP"
HOST="hostname"
PORT="1522"

四、双版本共存关键配置

4.1 环境变量管理

创建版本切换脚本(switch_oracle.sh):

#!/bin/bash
case $1 in
  10g)
    export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    ;;
  11g)
    export ORACLE_HOME=/u02/app/oracle/product/11.2.0/dbhome_1
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    ;;
  *)
    echo "Usage: $0 {10g|11g}"
    exit 1
esac
echo "Switched to Oracle $1"

4.2 共享内存隔离

修改/etc/fstab确保共享内存独立:

tmpfs   /dev/shm    tmpfs   defaults,size=2G    0 0

4.3 审计日志分离

配置audit_file_dest参数:

# 10G
echo "audit_file_dest='/u01/app/oracle/admin/audit'" >> $ORACLE_HOME/network/admin/sqlnet.ora

# 11G
echo "audit_file_dest='/u02/app/oracle/admin/audit'" >> $ORACLE_HOME/network/admin/sqlnet.ora

五、数据库实例创建与管理

5.1 10G实例创建

dbca -silent \
  -responseFile /path/to/dbca10g.rsp \
  -gdbName ORCL10G \
  -sid ORCL10G \
  -sysPassword password \
  -systemPassword password \
  -emConfiguration NONE \
  -storageType FS \
  -datafileDestination /u01/oradata \
  -characterSet AL32UTF8

5.2 11G实例创建

dbca -silent \
  -responseFile /path/to/dbca11g.rsp \
  -gdbName ORCL11G \
  -sid ORCL11G \
  -sysPassword password \
  -systemPassword password \
  -databaseConfigType SINGLE \
  -memoryPercentage 30 \
  -totalMemory 2048

5.3 连接管理

修改tnsnames.ora文件(两个版本共用):

ORCL10G =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL10G)
    )
  )

ORCL11G =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1522))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL11G)
    )
  )

六、故障排查与优化

6.1 常见问题解决

问题1:ORA-12514错误

解决方案:检查监听器状态和服务注册:

lsnrctl status LISTENER
lsnrctl services LISTENER

问题2:共享内存冲突

解决方案:调整内核参数并重启服务:

echo "kernel.shmmax = 68719476736" >> /etc/sysctl.conf
sysctl -p
ipcs -m  # 检查内存段

6.2 性能优化建议

  • 为10G实例分配较小SGA(建议2-4GB)
  • 11G实例启用自动内存管理(AMM)
  • 设置不同的PGA_AGGREGATE_TARGET

七、备份与维护策略

7.1 RMAN备份配置

10G备份脚本示例:

run {
  allocate channel ch1 type disk;
  backup database plus archivelog;
  release channel ch1;
}

7.2 监控脚本

创建监控脚本(check_oracle.sh):

#!/bin/bash
# 检查10G实例
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
$ORACLE_HOME/bin/sqlplus / as sysdba 

关键词:Linux系统、Oracle 10G、Oracle 11G、双版本共存、监听器配置、环境变量隔离、共享内存管理、数据库实例、静默安装、故障排查

简介:本文详细介绍了在Linux环境下同时安装和配置Oracle 10G与11G数据库的完整流程,涵盖环境准备、独立目录规划、静默安装方法、监听器端口分配、共享资源隔离等关键技术点。通过实际案例展示了双版本数据库的共存策略,包括环境变量切换脚本、内存参数优化、审计日志分离等高级配置,并提供了完整的故障排查指南和性能优化建议,适用于企业级数据库迁移和兼容性测试场景。

《Linnux下Oracle 10G和Oracle 11G双版本数据库并存的安装和配置.doc》
将本文以doc文档格式下载到电脑,方便收藏和打印
推荐度:
点击下载文档