靜默安裝oracle12c與報錯解決方法

本文档详细介绍了在特定硬件条件下安装Oracle 12c的步骤,包括所需的依赖包安装、系统配置、创建用户和目录、配置响应文件以及静默安装过程。在安装过程中,遇到的内存错误、数据库无法挂载、控制文件问题、监听配置等问题,文章也给出了相应的解决方案,包括调整系统参数、清理内存段、修改监听配置和启动脚本等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

硬件條件 4G  2處理器  50G硬盤

 

 

oracle12c 在pdb用户界面下,创建全局用户需要为C##

静默安装oracle

yum install -y binutils.x86_64
yum install -y compat-libstdc++-33.i686 compat-libstdc++-33.x86_64
yum install -y elfutils-libelf.x86_64 elfutils-libelf-devel.x86_64
yum install -y gcc.x86_64 gcc-c++.x86_64
yum install -y glibc.i686  glibc.x86_64 glibc-common.x86_64 glibc-devel.i686 glibc-devel.x86_64 glibc-headers.x86_64 
yum install -y libaio.x86_64 libaio.i686 libaio-devel.x86_64 libaio-devel.i686
yum install -y libgcc.x86_64 libgcc.i686
yum install -y libstdc++.x86_64 libstdc++.i686 libstdc++-devel.x86_64
yum install -y make.x86_64 sysstat.x86_64
yum install -y unixODBC.i686 unixODBC.x86_64 unixODBC-devel.i686  unixODBC-devel.x86_64

添加域名
vi /etc/hosts
xxxx    .com

添加基础优化配置
vi /etc/sysctl.conf
添加如下内容:
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128  
fs.file-max = 6815744  
net.ipv4.ip_local_port_range = 9000 65500 
net.core.rmem_default=4194304  
net.core.rmem_max=4194304  
net.core.wmem_default=262144  
net.core.wmem_max=1048576 

fs.aio-max-nr = 1048576
添加后执行 sysctl –p 命令

vi /etc/security/limits.conf
oracle  soft  nproc 16384
oracle  hard  nproc 16384
oracle  soft  nofile 10240
oracle  hard  nofile 65536
oracle  soft  stack 10240
oracle  hard  stack 32768
oracle  soft  memlock unlimited
oracle  hard  memlock unlimited
oracle  soft  core unlimited
oracle  hard  core unlimited

更改selinux
vi /etc/selinux
SELINUX=disabled

更改pam模块
vi /etc/pam.d/login
session     required      pam_limits.so


创建oracle用户
groupadd oinstall
groupadd dba


useradd –g oinstall –G dba –m oracle 
passwd oracle 

创建数据库存放目录
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oradata
 mkdir -p /u01/app/oracle/product

将创建的目录群组信息修改为oracle用户
chown -R oracle:oinstall /u01


进入oracle用户
su -oracle

通过命令 vi ~/.bash_profile 修改Oracle用户配置文件,在配置文件中添加如下内容:
umask 022
export ORACLE_BASE=/u01/app/
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

 

先下载包放到oracle安装目录下
/u01/

安装缺少的依赖包

rpm -ivh libaio-0.3.106-3.2.i386.rpm --force;
rpm -ivh compat-libstdc++-33-3.2.3-61.i386.rpm --force;
rpm -ivh libaio-devel-0.3.106-3.2.i386.rpm --force;
rpm -ivh libgcc-4.1.2-46.el5.i386.rpm --force;
rpm -ivh libstdc++-4.1.2-46.el5.i386.rpm --force;
rpm -ivh unixODBC-2.2.11-7.1.i386.rpm --force;
rpm -ivh unixODBC-devel-2.2.11-7.1.i386.rpm --force;


unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

进入到解压的database目录中

cd 到安装信息配置文件
/u01/database/response

修改如下文件

<think>好的,我现在需要解决用户在使用dbca命令行工具通过响应文件创建Oracle 12c数据库时遇到的报错问题。首,我需要回忆一下用户提供的错误信息和相关引用。 用户提到使用dbca -silent -createDatabase -responseFile命令时出现错误,但没有具体说明错误信息。不过,根据用户提供的引用,特别是引用[3]中的ORA-00845和ORA-01034错误,这些可能和内存设置有关。ORA-00845指出MEMORY_TARGET不支持当前系统,这可能是因为/dev/shm的大小不足。ORA-01034表示ORACLE不可用,可能由多个原因引起,比如实例未启动或环境变量配置错误。 接下来,我需要考虑用户可能遇到的其他常见错误,例如引用[2]中的ORA-12547,这可能权限或监听配置有关。另外,引用[4]提到在12c中使用dbca时参数的变化,比如需要指定listeners参数和正确格式的磁盘组名称,例如加上+号。因此,用户可能在响应文件中遗漏或错误配置了这些参数。 解决方案的步骤可能包括: 1. 检查MEMORY_TARGET设置,确保/dev/shm足够大。 2. 验证响应文件中的参数是否正确,特别是listeners和磁盘组名称。 3. 检查环境变量,如ORACLE_HOME和ORACLE_SID是否正确设置。 4. 查看详细的日志文件,确定具体的错误原因。 5. 确保用户有足够的权限,并且Oracle软件安装正确。 可能还需要提醒用户关于使用静默安装时的常见陷阱,例如参数格式错误或路径问题。此外,引用[1]提到应答文件的位置,用户需要确认响应文件的路径是否正确,并且文件内容无误。 最后,总结可能的解决方案,分步骤指导用户逐步排查问题,并参考提供的引用资料中的相关信息,确保回答准确且有帮助。</think>在使用`dbca -silent -createDatabase`通过响应文件创建Oracle 12c数据库时,报错可能涉及内存配置、参数设置或环境问题。以下是分步解决方案: --- ### **1. 检查MEMORY_TARGET配置** 若报错包含`ORA-00845: MEMORY_TARGET not supported`,需调整`/dev/shm`大小: ```bash # 查看当前/dev/shm大小 df -h /dev/shm # 若需扩容(例如调整到3GB) mount -o remount,size=3G /dev/shm # 永久生效需修改/etc/fstab,添加: tmpfs /dev/shm tmpfs defaults,size=3G 0 0 ``` [^3] --- ### **2. 验证响应文件参数** Oracle 12c的响应文件需特别注意以下参数: - **磁盘组名称**:必须包含`+`前缀,例如`+DATA`(旧版本可能不需要) - **listeners参数**:需明确指定监听器名称,如`-listeners LISTENER` ```properties # 示例参数片段(参考实际响应文件) diskGroupName=+DATA listeners=LISTENER ``` 若参数格式错误会导致数据库创建失败[^4]。 --- ### **3. 检查环境变量和权限** - **ORACLE_HOME**:确保环境变量指向正确的安装目录,例如: ```bash echo $ORACLE_HOME # 应输出类似/u01/app/oracle/product/12.2.0/dbhome_1 ``` - **用户权限**:确保以`oracle`用户执行命令,且`$ORACLE_HOME/bin`在`PATH`中。 --- ### **4. 查看详细日志定位错误** DBCA日志位于`$ORACLE_BASE/cfgtoollogs/dbca/<数据库名>`,检查以下文件: ```bash tail -f $ORACLE_BASE/cfgtoollogs/dbca/mydb/mydb.log ``` 若日志报`ORA-12547: TNS:lost contact`,可能是权限问题,检查`$ORACLE_HOME/bin/oracle`文件的权限: ```bash chmod 6751 $ORACLE_HOME/bin/oracle ``` [^2] --- ### **5. 静默安装完整命令示例** 正确命令格式应包含所有必要参数: ```bash dbca -silent -createDatabase \ -responseFile /path/to/dbca.rsp \ -gdbName mydb -sid mydb \ -sysPassword oracle_123 \ -systemPassword oracle_123 \ -storageType ASM \ -diskGroupName +DATA \ -recoveryGroupName +RECO \ -listeners LISTENER \ -characterSet AL32UTF8 ``` --- ### **总结排查流程** 1. **检查内存设置** → `/dev/shm`是否足够 2. **核对响应文件** → 参数格式和必填项 3. **验证环境变量** → ORACLE_HOME和PATH 4. **分析日志文件** → 定位具体错误代码 5. **修复权限问题** → 确保`oracle`二进制文件权限正确 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值