Oracle专题一之Oracle的安装

10g安装

  1. 配置YUM源(国内阿里的还不错,也可以配置挂载的yum源)

  2. yum install -y binutils compat-db control-center gcc* glibc libXp libstdc++ libstdc++-devel make openmotif sysstat control-center

  3. root用户设置内核参数
    vi /etc/sysctl.conf
    kernel.shmall = 2097152(共享内存,单位是页面数,每个页面数是4K,就是块大小,操作系统ext3的,一个块是4K,设置共享内存8G,官方推荐值,生产中可以自行改大,8GB/4KB=8388608KB /4KB=2097152(页))
    kernel.shmmax = 2147483648 (单个共享内存段的最大尺寸,单位字节,单次提取最多2G,不是数据仓库完全够用2G=210241024*1024(byte))
    kernel.sem = 250 32000 100 128 (信号量)
    fs.file-max = 65536 (文件句柄的最大数量)
    net.ipv4.ip_local_port_range = 1024 65000 (端口范围)
    net.core.rmem_default = 262144(默认读内存大小)
    net.core.rmem_max = 262144(读内存最大值)
    net.core.wmem_default = 262144(默认写存大小)
    net.core.wmem_max = 262144(写内存最大值)

  4. 修改Linux版本号
    vi /etc/redhat-release (修改版本号,oracle10g只支持到redhat版本4,如果不修改,检测安装环境会报错)
    Red Hat Enterprise Linux Server release 3 (Tikanga))

  5. 使内核生效
    vi /etc/security/limits.conf

        oracle          soft    nproc           2047
        oracle          hard    nproc           16384
        oracle          soft    nofile          1024
        oracle          hard    nofile          65536
    
        #core - 限制内核文件的大小
    

#date - 最大数据大小
   #fsize - 最大文件大小
   #memlock - 最大锁定内存地址空间
   #nofile - 打开文件的最大数目
   #rss - 最大持久设置大小
   #stack - 最大栈大小
   #cpu - 以分钟为单位的最多 CPU 时间
   #noproc - 进程的最大数目
   #as - 地址空间限制
   #maxlogins - 此用户允许登录的最大数目)
```

    /sbin/sysctl –p
    vi /etc/pam.d/login
    在下面添加以下信息
    session    required     /lib/security/pam_limits.so
  1. 用户环境变量
    groupadd oinstall
    groupadd dba
    useradd -g oinstall -G dba oracle
    passwd oracle
    su -l oracle
    vi .bash_profile
    stty erase ^H //删除键
    ORACLE_BASE=/oracle/app
    ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1 //家目录
    ORACLE_SID=ecom //实例名(与Oracle实例名相同)
    PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    NLS_LANG=AMERICAN_AMERICA.ZHS16GBK //字符集
    export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH NLS_LANG
    source .bash_profile

  2. 开始安装
    mkdir -p /oracle/app
    chmod 777 /oracle
    chown -R oracle:oinstall /oracle
    unzip oracle_database_linux32.zip












    在上面图片出来之后 切换到root下执行以下脚本




    按ok 退出
  3. 输入dbca 进入安装




















11g脚本安装

  • prepare.sh
#!/bin/sh

cat <<EOF  >  /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=DB88
EOF

hostname DB88

cat <<EOF  >  /etc/hosts
127.0.0.1    localhost localhost.localdomain localhost4 localhost4.localdomain4
::1          localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.8.88  DB88
EOF

`sed -i 's/ONBOOT=no/ONBOOT=yes/g' /etc/sysconfig/network-scripts/ifcfg-eth0`

service iptables stop 
 
setenforce 0 

`sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config`

yum -y install  binutils-* \
compat-libstdc++-* \
compat-libcap1-* \
elfutils-libelf-* \
elfutils-libelf-devel-* \
gcc* \
gcc-c++-* \
glibc* \
glibc-common-* \
glibc-devel-* \
glibc-headers-* \
ksh-* \
libaio-* \
libaio-devel-* \
libgcc-* \
libstdc++-* \
libstdc++-devel* \
make-* \
sysstat-* \
unixODBC-* \
unixODBC-devel-* \
numactl-devel-* \
pdksh-* \
kernel-headers* \
wget

groupadd oinstall   

groupadd dba

useradd -g oinstall -G dba oracle

echo "oracle" | passwd --stdin oracle

echo "umask 022" >>/home/oracle/.bash_profile 
echo "stty erase ^H" >>/home/oracle/.bash_profile 
echo "PATH=\$PATH:\$HOME/bin" >>/home/oracle/.bash_profile 
echo "TMP=/tmp" >>/home/oracle/.bash_profile 
echo "TMPDIR=\$TMP" >>/home/oracle/.bash_profile 
echo "ORACLE_BASE=/home/oracle/app/oracle" >>/home/oracle/.bash_profile 
echo "ORACLE_HOME=\$ORACLE_BASE/product/11.2.0/db_1" >>/home/oracle/.bash_profile 
echo "ORACLE_SID=ecom" >>/home/oracle/.bash_profile           
echo "ORACLE_TERM=xterm" >>/home/oracle/.bash_profile 
echo "PATH=\$PATH:\$HOME/bin:\$ORACLE_HOME/bin" >>/home/oracle/.bash_profile 
echo "LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib" >>/home/oracle/.bash_profile 
echo "CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib" >>/home/oracle/.bash_profile 
echo 'NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"'>>/home/oracle/.bash_profile 
echo "NLS_LANG=AMERICAN_AMERICA.ZHS16GBK" >>/home/oracle/.bash_profile 
echo "export EDITOR=vi" >>/home/oracle/.bash_profile 
echo "export TMP TMPDIR ORACLE_TERM CLASSPATH NLS_DATE_FORMAT ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH NLS_LANG EDITOR" >>/home/oracle/.bash_profile 

mkdir -p /home/oracle/app/oracle

chmod -R 777 /home/oracle/app/oracle

chown -R oracle:oinstall /home/oracle
 
cd /tmp

unzip linux.x64_11gR2_database_1of2.zip    

unzip linux.x64_11gR2_database_2of2.zip     
rm -rf linux.x64_11gR2_database_1of2.zip  linux.x64_11gR2_database_2of2.zip 

chmod -R 777 /tmp/database

chown -R oracle.oinstall /tmp/database

  • prelimits.sh
#!/bin/bash
#Purpose:Change the /etc/security/limits.conf.
#Usage:Log on as the superuser('root'),and then execute the command:#./prelimits.sh
#Author:TJ

echo "Now modify the /etc/security/limits.conf,but backup it named /etc/security/limits.conf.bak before"
cp /etc/security/limits.conf /etc/security/limits.conf.bak
echo "oracle soft nproc 2047" >>/etc/security/limits.conf
echo "oracle hard nproc 16384" >>/etc/security/limits.conf
echo "oracle soft nofile 1024" >>/etc/security/limits.conf
echo "oracle hard nofile 65536" >>/etc/security/limits.conf
echo "grid soft nproc 2047" >>/etc/security/limits.conf
echo "grid hard nproc 16384" >>/etc/security/limits.conf
echo "grid soft nofile 1024" >>/etc/security/limits.conf
echo "grid hard nofile 65536" >>/etc/security/limits.conf
echo "Modifing the /etc/security/limits.conf has been succeed."

  • prelogin.sh
#!/bin/bash
#Purpose:Modify the /etc/pam.d/login.
#Usage:Log on as the superuser('root'),and then execute the command:#./prelimits.sh
#Author:TJ

echo "Now modify the /etc/pam.d/login,but with a backup named /etc/pam.d/login.bak"
cp /etc/pam.d/login /etc/pam.d/login.bak

echo "session required /lib/security/pam_limits.so" >>/etc/pam.d/login
echo "session required pam_limits.so" >>/etc/pam.d/login

echo "Modifing the /etc/pam.d/login has been succeed."
  • preprofile.sh
#!/bin/bash
#Purpose:Modify the /etc/profile.
#Usage:Log on as the superuser('root'),and then execute the command:#./preprofile.sh
#Author:TJ

echo "Now modify the  /etc/profile,but with a backup named  /etc/profile.bak"
cp /etc/profile /etc/profile.bak
echo 'if [ $USER = "oracle" ]||[ $USER = "grid" ]; then' >>  /etc/profile
echo 'if [ $SHELL = "/bin/ksh" ]; then' >> /etc/profile
echo 'ulimit -p 16384' >> /etc/profile
echo 'ulimit -n 65536' >> /etc/profile
echo 'else' >> /etc/profile
echo 'ulimit -u 16384 -n 65536' >> /etc/profile
echo 'fi' >> /etc/profile
echo 'fi' >> /etc/profile
echo "Modifing the /etc/profile has been succeed."
  • presysctl.sh
#!/bin/bash
#Purpose:Modify the /etc/sysctl.conf.
#Usage:Log on as the superuser('root'),and then execute the command:#./6presysctl.sh
#Author:TJ

echo "Now modify the /etc/sysctl.conf,but with a backup named /etc/sysctl.bak"
cp /etc/sysctl.conf /etc/sysctl.conf.bak

echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "kernel.shmmax = 1054472192" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048586" >> /etc/sysctl.conf
echo "net.ipv4.tcp_wmem = 262144 262144 262144" >> /etc/sysctl.conf
echo "net.ipv4.tcp_rmem = 4194304 4194304 4194304" >> /etc/sysctl.conf

echo "Modifing the /etc/sysctl.conf has been succeed."
echo "Now make the changes take effect....."
/sbin/sysctl -p
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容