zoukankan      html  css  js  c++  java
  • Centos6安装oracle10g

    刚刚开始学OCP。第一关,安装,被折腾得稀碎。。。查询了大量资料,多次失败后终于总结出一些经验,简单整理如下。【2014-12-11 重新整理了一下顺序,修改了脚本!

    需要注意的是:如果想尝试我提供的环境设置脚本,一定要根据自己的实际情况修改变量!

    Centos6安装oracle10g
    一、安装流程
    1、最小安装Centos6.6虚拟机(虚拟机系统推荐Virtualbox https://www.virtualbox.org ),Centos6镜像地址 http://mirrors.163.com/centos/6.6/isos/x86_64/CentOS-6.6-x86_64-minimal.iso

    • CPU: 2
    • MEM: 2G
    • DISK: >=20G (创建固定大小的虚拟硬盘文件能提高安装速度)
    • 分区时选最上面的 Use All Space
    • 手工指定主机名、分配IP地址

    2、上传环境设置脚本,编辑变量部分,IP、主机名等值必须与本机相符。核查无误后,运行环境设置脚本(因为脚本没有做容错,所以只能运行一次),环境设置脚本会提示如下错误,忽略。
    error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
    error: "net.bridge.bridge-nf-call-iptables" is an unknown key
    error: "net.bridge.bridge-nf-call-arptables" is an unknown key

    3、安装桌面环境和依赖包

    [root@centos6 ~]# yum install wget -y && 
    yum groupinstall "Desktop" "X Window System" &&
    yum install ksh make sysstat binutils* compat-libstdc++-33*
    elfutils-libelf* gcc gcc-c++ glibc* glibc*.i686 libgcc* libgcc*.i686
    libaio* libaio*.i686 libstdc++* libstdc++*.i686 libXp libXp.i686
    libXt libXt.i686 libXtst libXtst.i686

    安装过程中以orausr用户登录,将学习用的Oracle10g安装包复制到/home/orausr,解压缩。如果虚拟机磁盘文件是自动增长的,此时可以用dd指令扩扩容。

    [orausr@centos6 ~]$ wget http://10.34.67.204/package/oracle10g/Oracle10g-10201-Linux-X64.cpio.gz
    [orausr@centos6 ~]$ gunzip Oracle10g-10201-Linux-X64.cpio.gz
    [orausr@centos6 ~]$ cpio -idmv < Oracle10g-10201-Linux-X64.cpio
    [orausr@centos6 ~]$ 
    [orausr@centos6 ~]$ rm Oracle10g-10201-Linux-X64.cpio
    [orausr@centos6 tmp]$ cd /tmp
    [orausr@centos6 tmp]$ dd if=/dev/zero of=test bs=10M count=800 oflag=sync
    [orausr@centos6 tmp]$ rm test

    4、安装完成后重启系统!

    5、以orausr用户登录控制台,运行 startx 启动桌面,桌面里打开终端运行 ./database/runInstaller 安装Oracle10g。以下选择仅供参考:

    • 选择Advanced Installation
    • 仔细核查安装目录是否跟脚本一致
    • 选择Enterprise Edition,选择Product Languages,增加 Simplified Chinese
    • Name推荐跟主机名一致,再次核查安装目录
    • 等待自检依赖项,完毕后点Next
    • 选择Create a database
    • 选择General Purpose
    • Global Database Name、SID可以不动,选择Database Character Set 为 Unicode standard UTF-8 AL32UTF8,选择Create database with sample schemas
    • 点Next
    • 选择File System,核查数据文件位置
    • 选择Do not enable Automatic backups
    • 选择Use the same password for all the accounts,输入密码,需要字母开头,大小写数字结合
    • 点Install
    • 忽略报错,点 Continue
    • 点OK
    • 以root身份运行完两个脚本后,点OK

    中间会出现一个编译错误,Error in invoking target 'collector' of makefile '/opt/oracle/10.2.1/instance0/sysman/lib/ins_emdb.mk'. 可以点“Continue”忽略。

    6、安装结束时,runInstaller会提示在root终端窗口运行两个脚本 orainstRoot.sh,root.sh,照做就行,接着完成Installer里面的操作,重启服务器。
    如果安装失败,重新安装之前需要删除安装目录和一些文件
        /opt/oracle/*
        /opt/oraInventory/*
        /etc/oratab
        /usr/local/bin/* (新装系统这里只有3个Oracle程序,不会有其他文件)

    二、使用Oracle
    1、启动

    [orausr@centos6 ~]$ emctl start dbconsole
    [orausr@centos6 ~]$ lsnrctl start
    [orausr@centos6 ~]$ dbstart

    emctl start dbconsole启动时间很长,要耐心。

    第一次手工运行dbstart会报错,需要修改dbstart脚本。嗯,oracle有个工程师叫vikrkuma,他写脚本有点儿马虎。。。

    [orausr@centos6 ~]$ vi $ORACLE_HOME/bin/dbstart
    ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle  替换为 ORACLE_HOME_LISTNER=$ORACLE_HOME

    2、访问

    sqlplus访问:

    [orausr@centos6 ~]$ sqlplus /nolog
    SQL> conn /as sysdba
    SQL> startup
    SQL> show linesize;
    linesize 80
    SQL> set linesize 160;
    SQL> select * from scott.emp;
    
         EMPNO ENAME      JOB           MGR HIREDATE        SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- --------- ---------- ---------- ----------
          7369 SMITH      CLERK          7902 17-DEC-80        800            20
          7499 ALLEN      SALESMAN          7698 20-FEB-81       1600        300       30
          7521 WARD       SALESMAN          7698 22-FEB-81       1250        500       30
          7566 JONES      MANAGER          7839 02-APR-81       2975            20
          7654 MARTIN     SALESMAN          7698 28-SEP-81       1250       1400       30
          7698 BLAKE      MANAGER          7839 01-MAY-81       2850            30
          7782 CLARK      MANAGER          7839 09-JUN-81       2450            10
          7788 SCOTT      ANALYST          7566 19-APR-87       3000            20
          7839 KING       PRESIDENT        17-NOV-81       5000            10
          7844 TURNER     SALESMAN          7698 08-SEP-81       1500      0       30
          7876 ADAMS      CLERK          7788 23-MAY-87       1100            20
    
         EMPNO ENAME      JOB           MGR HIREDATE        SAL       COMM     DEPTNO
    ---------- ---------- --------- ---------- --------- ---------- ---------- ----------
          7900 JAMES      CLERK          7698 03-DEC-81        950            30
          7902 FORD       ANALYST          7566 03-DEC-81       3000            20
          7934 MILLER     CLERK          7782 23-JAN-82       1300            10
    
    14 rows selected.
    
    SQL>
    SQL> create user jerry identified by password123;
    SQL> grant create session to jerry;
    SQL> conn jerry/password123
    SQL> show user;

    OEM Web管理(需要先在sqlplus运行startup后才能正常):
    http://192.168.122.2:1158/em


    三、环境设置脚本
    ins-c6-10g.sh

    #!/bin/bash
    #script for Oracle10g installation on Centos6.6
    #Change the following variables for your installation.
    local_ip="192.168.122.2"
    host_name="centos6"
    host_name_fqdn="centos6.localdomain"
    oracle_user="orausr"
    oracle_user_password="mysql"
    oracle_base="/opt/oracle"
    oracle_home="/opt/oracle/10.2.1/instance0"
    oracle_data="/opt/oracle/data"
    oracle_data_recoveryarea="/opt/oracle/data_recover"
    oracle_inventory="/opt/oraInventory"
    oracle_sid="centos6"
    #Change the above variables for your installation.
     
    echo "${local_ip} ${host_name} ${host_name_fqdn}" >>/etc/hosts
    
    groupadd -g 505 dba groupadd
    oinstall groupadd oper useradd ${oracle_user} echo ${oracle_user_password}|passwd --stdin ${oracle_user} usermod -g oinstall -G dba ${oracle_user} mkdir -p ${oracle_base} mkdir -p ${oracle_data} mkdir -p ${oracle_data_recoveryarea} mkdir -p ${oracle_home} mkdir -p ${oracle_inventory} chown -R ${oracle_user}:oinstall ${oracle_base} chmod -R 755 ${oracle_base} chmod -R g+s ${oracle_base} chown -R ${oracle_user}:oinstall ${oracle_inventory} chmod -R 755 ${oracle_inventory} chmod -R g+s ${oracle_inventory} sysctl_value=" kernel.sem = 250 32000 100 128 fs.file-max = 65536 kernel.shmall = 2097152 kernel.shmmax = 1054525444 kernel.shmmni = 4096 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 vm.hugetlb_shm_group = 505 " /bin/cp /etc/sysctl.conf /etc/sysctl.conf.bak echo -e "${sysctl_value}" >> /etc/sysctl.conf sysctl -p limits_value=" ${oracle_user} soft nofile 1024 ${oracle_user} hard nofile 65536 ${oracle_user} soft nproc 2047 ${oracle_user} hard nproc 16384 " /bin/cp /etc/security/limits.conf /etc/security/limits.conf.bak echo -e "${limits_value}" >> /etc/security/limits.conf bash_profile_value=" umask 022 ORACLE_BASE=${oracle_base} ORACLE_SID=${oracle_sid} ORACLE_HOME=${oracle_home} ORACLE_UNQNAME=${oracle_sid} export ORACLE_BASE ORACLE_SID ORACLE_HOME ORACLE_UNQNAME PATH=$PATH:${oracle_home}/bin export PATH " /bin/cp /home/${oracle_user}/.bash_profile /home/${oracle_user}/.bash_profile.bak echo -e "${bash_profile_value}" >> /home/${oracle_user}/.bash_profile /bin/cp /etc/redhat-release /root/redhat-release.bak echo "redhat4" > /etc/redhat-release
    service iptables stop
    service ip6tables stop
    chkconfig iptables off
    chkconfig ip6tables off
    setenforce 0
    sed 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux -i
     
    echo echo "All prepared! Restart the system and then run Oracle Installer in linux GUI."

    四、启动过程示范:

    [orausr@centos6 ~]$ emctl start dbconsole
    TZ set to PRC
    Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0  
    Copyright (c) 1996, 2005 Oracle Corporation.  All rights reserved.
    http://c608:1158/em/console/aboutApplication
    Starting Oracle Enterprise Manager 10g Database Control .............................. started. 
    ------------------------------------------------------------------
    Logs are generated in directory /opt/oracle/10.2.1/instance0/c608_c608/sysman/log 
     
    [orausr@centos6 ~]$ 
    [orausr@centos6 ~]$ lsnrctl start
     
    LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 11-DEC-2014 14:36:50
     
    Copyright (c) 1991, 2005, Oracle.  All rights reserved.
     
    Starting /opt/oracle/10.2.1/instance0/bin/tnslsnr: please wait...
     
    TNSLSNR for Linux: Version 10.2.0.1.0 - Production
    System parameter file is /opt/oracle/10.2.1/instance0/network/admin/listener.ora
    Log messages written to /opt/oracle/10.2.1/instance0/network/log/listener.log
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=c608)(PORT=1521)))
     
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
    Start Date                11-DEC-2014 14:36:52
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /opt/oracle/10.2.1/instance0/network/admin/listener.ora
    Listener Log File         /opt/oracle/10.2.1/instance0/network/log/listener.log
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=c608)(PORT=1521)))
    Services Summary...
    Service "PLSExtProc" has 1 instance(s).
      Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
     
    [orausr@centos6 ~]$ 
    [orausr@centos6 ~]$ dbstart
    [orausr@centos6 ~]$ sqlplus /nolog
     
    SQL*Plus: Release 10.2.0.1.0 - Production on Thu Dec 11 14:37:56 2014
     
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
     
    SQL> conn /as sysdba
    Connected to an idle instance.
    SQL> startup
    ORACLE instance started.
     
    Total System Global Area  557842432 bytes
    Fixed Size              2022280 bytes
    Variable Size         163579000 bytes
    Database Buffers      385875968 bytes
    Redo Buffers            6365184 bytes
    Database mounted.
    Database opened.
    SQL> select * from scott.emp;
  • 相关阅读:
    TortoiseGit状态图标不能正常显示的解决办法
    git安装及命令使用和github网站
    git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode.
    msysgit之git bash方便的复制粘贴,默认工作目录,窗口大小,提高速度等小窍门
    Apache与Tomcat的整合
    Android UI效果实现——Activity滑动退出效果
    多平台Native库打入JAR包发布实战
    WPF使用Win32进行GDI截屏笔记
    使用Gradle将Maven库打包成Jar
    【转载/修改】ScrollLayout代码修正,追加模仿viewpager滚动速度
  • 原文地址:https://www.cnblogs.com/panblack/p/install_oracle10g_on_centos6.html
Copyright © 2011-2022 走看看