iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 9.2.0.4的一个简单安装脚本(含安装前补丁p3006854)
  • 663
分享到

Oracle 9.2.0.4的一个简单安装脚本(含安装前补丁p3006854)

2024-04-02 19:04:59 663人浏览 八月长安
摘要

#! /bin/bashecho "#########oracle9R204 的一个简单的安装脚本 ##############################"## 为系统添加oracle的用户和用户组#

#! /bin/bash
echo "#########oracle9R204 的一个简单的安装脚本 ##############################"
#
# 为系统添加oracle的用户和用户组
#
groupadd dba
groupadd oinstall
useradd -c "Oracle software owner" -g oinstall -G dba oracle
passwd oracle

# 创建oracle 的安装目录

mkdir /oracle/oracle
mkdir /oracle/oracle/product
mkdir /oracle/oracle/product/9.2.0
chown -R oracle.oinstall /oracle/oracle
                                            
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle

#更改GCc,g++版本
cd /usr/bin
mv gcc gcc323
mv g++ g++323
ln -s gcc296 gcc
ln -s g++296 g++

#设置Oracle配置文件
echo "oracle soft nofile 65536" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf
#最大的进程数量
echo "oracle soft nproc 16384" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf

#修改配置/etc/sysctl.conf
echo "#################################################### " >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
# shmmax内核参数定义单个共享内存段的最大值,如果该参数设置小于Oracle SGA设置,
# 那么SGA就会被分配多个共享内存段。这在繁忙的系统中可能成为性能负担,带来系统问题。
# 如果没有修改shmmax参数,Oracle在启动过程中就可能会报出以下错误:
##############################################################################
#      Starting ORACLE instance (nORMal)
#      Thu Nov 17 09:27:29 2005
#      WARNING: EINVAL creating segment of size 0x0000000033400000
#      fix shm parameters in /etc/system or equivalent
##############################################################################
#这里我们设为 2G
echo "kernel.shmmax = 2147483648" >> /etc/sysctl.conf
#单个共享内存段的最小值
echo "kernel.shmmni=4096" >> /etc/sysctl.conf
# kernel.sem中的四个值分别 是指
# 1:SEMMSL(每个用户拥有信号量最大数量),
# 2:SEMMNS(系统信号量最大数量),
# 3:SEMOPM(每次semop系统调用操作数),
# 4:SEMMNI(系统信号量集最小数量)
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
#系统允许同时打开的最大文件数为65536
echo "fs.file-max = 65536" >> /etc/sysctl.conf
# 本地主机在ipv4下可用端口范围
echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf

# 使/etc/sysctl.conf 文件生效
/sbin/sysctl -p


#
#通过编辑 /home/oracle/.bash_profile文件来设置用户环境变量
echo "############ everoment for oracle################" >> /home/oracle/.bash_profile
echo "export LD_ASSUME_KERNEL=2.4.1" >> /home/oracle/.bash_profile
echo "export THREADS_FLAG=native" >> /home/oracle/.bash_profile
echo "export ORACLE_BASE=/oracle/oracle" >> /home/oracle/.bash_profile
echo "export ORACLE_HOME=/oracle/oracle/product/9.2.0" >> /home/oracle/.bash_profile
echo "export ORACLE_SID=orcl" >> /home/oracle/.bash_profile
echo "export ORACLE_TERM=xterm" >> /home/oracle/.bash_profile
echo "export ORACLE_OWNER=oracle" >> /home/oracle/.bash_profile
echo "export NLS_LANG=AMERICAN;" >> /home/oracle/.bash_profile
echo 'export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data' >> /home/oracle/.bash_profile
echo 'LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib' >> /home/oracle/.bash_profile
echo 'LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib' >> /home/oracle/.bash_profile
echo "export LD_LIBRARY_PATH" >> /home/oracle/.bash_profile
echo 'export PATH=$PATH:$ORACLE_HOME/bin' >> /home/oracle/.bash_profile

#打安装前所需的p3006854补丁
USER=`whoami`
if [ $USER != root ]; then
echo "Must be root to run this script, please login as root and re-try"
exit
fi

# see if libcwait.so is already being loaded
if [ -f "/etc/ld.so.preload" ] && [ -n "`grep libcwait /etc/ld.so.preload`" ]; then
echo "Patch has already been applied"
exit
else
echo "Applying patch..."
fi

cat << EOF |
#include <errno.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
pid_t
__libc_wait (int *status)
{
int res;
asm volatile ("pushl %%ebx\n\t"
                 "movl %2, %%ebx\n\t"
                 "movl %1, %%eax\n\t"
                 "int \$0x80\n\t"
                 "popl %%ebx"
                 : "=a" (res)
                 : "i" (__NR_wait4), "0" (WAIT_ANY), "c" (status), "d" (0), "S" (0));
return res;
}
EOF
gcc -O2 -shared -fpic -xc - -o /etc/libcwait.so
echo "/etc/libcwait.so" >>/etc/ld.so.preload

echo "Patch successfully applied"


echo "####################################################################"
echo "设置结束,你可以切换到oracle用户,进入oracle的解压目录运行 oracle的 runinstaller"


您可能感兴趣的文档:

--结束END--

本文标题: Oracle 9.2.0.4的一个简单安装脚本(含安装前补丁p3006854)

本文链接: https://www.lsjlt.com/news/40318.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 一个简单的OS7安装GitLab教程
    近年来,GitLab在软件开发和代码管理领域变得非常流行。但是,对于某些操作系统和版本,如OS7,安装GitLab可能会成为一个未解之谜。在本文中,我们将提供一个简单的OS7安装GitLab教程来解决这个问题。第一步:安装git和curl在...
    99+
    2023-10-22
  • linux下expect环境的安装以及简单脚本测试
    这篇文章主要介绍“linux下expect环境的安装以及简单脚本测试”,在日常操作中,相信很多人在linux下expect环境的安装以及简单脚本测试问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux下e...
    99+
    2023-06-05
  • Django的下载安装以及实现一个简单示
    一.Django下载安装   Django下载链接   1. 下载Django:     pip3 install django==1.11.9    (大的版本1.11不要错)   2.创建一个django project     输...
    99+
    2023-01-30
    简单 Django
  • pycharm社区版安装django并创建一个简单项目的全过程
    目录前言1.在PyChrom下载django包2. 创建项目3. pycharm中运行总结前言 最近在某学习网站看视频发现up主直接打开pycharm新建项目就可以创建django项...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作