刚刚开始学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、安装桌面环境和依赖包

  1. [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指令扩扩容。

  1. [orausr@centos6 ~]$ wget http://10.34.67.204/package/oracle10g/Oracle10g-10201-Linux-X64.cpio.gz
  2. [orausr@centos6 ~]$ gunzip Oracle10g--Linux-X64.cpio.gz
  3. [orausr@centos6 ~]$ cpio -idmv < Oracle10g--Linux-X64.cpio
  4. [orausr@centos6 ~]$
  5. [orausr@centos6 ~]$ rm Oracle10g-10201-Linux-X64.cpio
  6. [orausr@centos6 tmp]$ cd /tmp
  7. [orausr@centos6 tmp]$ dd if=/dev/zero of=test bs=10M count= oflag=sync
  8. [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、启动

  1. [orausr@centos6 ~]$ emctl start dbconsole
  2. [orausr@centos6 ~]$ lsnrctl start
  3. [orausr@centos6 ~]$ dbstart

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

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

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

2、访问

sqlplus访问:

  1. [orausr@centos6 ~]$ sqlplus /nolog
  2. SQL> conn /as sysdba
  3. SQL> startup
  4. SQL> show linesize;
  5. linesize
  6. SQL> set linesize ;
  7. SQL> select * from scott.emp;
  8.  
  9. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
  10. ---------- ---------- --------- ---------- --------- ---------- ---------- ----------
  11. SMITH CLERK -DEC-
  12. ALLEN SALESMAN -FEB-
  13. WARD SALESMAN -FEB-
  14. JONES MANAGER -APR-
  15. MARTIN SALESMAN -SEP-
  16. BLAKE MANAGER -MAY-
  17. CLARK MANAGER -JUN-
  18. SCOTT ANALYST -APR-
  19. KING PRESIDENT -NOV-
  20. TURNER SALESMAN -SEP-
  21. ADAMS CLERK -MAY-
  22.  
  23. EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
  24. ---------- ---------- --------- ---------- --------- ---------- ---------- ----------
  25. JAMES CLERK -DEC-
  26. FORD ANALYST -DEC-
  27. MILLER CLERK -JAN-
  28.  
  29. rows selected.
  30.  
  31. SQL>
  32. SQL> create user jerry identified by password123;
  33. SQL> grant create session to jerry;
  34. SQL> conn jerry/password123
  35. SQL> show user;

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

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

  1. #!/bin/bash
  2. #script for Oracle10g installation on Centos6.
  3. #Change the following variables for your installation.
  4. local_ip="192.168.122.2"
  5. host_name="centos6"
  6. host_name_fqdn="centos6.localdomain"
  7. oracle_user="orausr"
  8. oracle_user_password="mysql"
  9. oracle_base="/opt/oracle"
  10. oracle_home="/opt/oracle/10.2.1/instance0"
  11. oracle_data="/opt/oracle/data"
  12. oracle_data_recoveryarea="/opt/oracle/data_recover"
  13. oracle_inventory="/opt/oraInventory"
  14. oracle_sid="centos6"
  15. #Change the above variables for your installation.
  16.  
  17. echo "${local_ip} ${host_name} ${host_name_fqdn}" >>/etc/hosts

  18. groupadd -g 505 dba
  19. groupadd oinstall
  20. groupadd oper
  21. useradd ${oracle_user}
  22. echo ${oracle_user_password}|passwd --stdin ${oracle_user}
  23. usermod -g oinstall -G dba ${oracle_user}
  24.  
  25. mkdir -p ${oracle_base}
  26. mkdir -p ${oracle_data}
  27. mkdir -p ${oracle_data_recoveryarea}
  28. mkdir -p ${oracle_home}
  29. mkdir -p ${oracle_inventory}
  30. chown -R ${oracle_user}:oinstall ${oracle_base}
  31. chmod -R ${oracle_base}
  32. chmod -R g+s ${oracle_base}
  33. chown -R ${oracle_user}:oinstall ${oracle_inventory}
  34. chmod -R ${oracle_inventory}
  35. chmod -R g+s ${oracle_inventory}
  36.  
  37. sysctl_value="
  38. kernel.sem =
  39. fs.file-max =
  40. kernel.shmall =
  41. kernel.shmmax =
  42. kernel.shmmni =
  43. net.ipv4.ip_local_port_range =
  44. net.core.rmem_default =
  45. net.core.rmem_max =
  46. net.core.wmem_default =
  47. net.core.wmem_max =
  48. vm.hugetlb_shm_group =
  49. "
  50. /bin/cp /etc/sysctl.conf /etc/sysctl.conf.bak
  51. echo -e "${sysctl_value}" >> /etc/sysctl.conf
  52. sysctl -p
  53.  
  54. limits_value="
  55. ${oracle_user} soft nofile
  56. ${oracle_user} hard nofile
  57. ${oracle_user} soft nproc
  58. ${oracle_user} hard nproc
  59. "
  60. /bin/cp /etc/security/limits.conf /etc/security/limits.conf.bak
  61. echo -e "${limits_value}" >> /etc/security/limits.conf
  62.  
  63. bash_profile_value="
  64. umask
  65. ORACLE_BASE=${oracle_base}
  66. ORACLE_SID=${oracle_sid}
  67. ORACLE_HOME=${oracle_home}
  68. ORACLE_UNQNAME=${oracle_sid}
  69. export ORACLE_BASE ORACLE_SID ORACLE_HOME ORACLE_UNQNAME
  70. PATH=$PATH:${oracle_home}/bin
  71. export PATH
  72. "
  73. /bin/cp /home/${oracle_user}/.bash_profile /home/${oracle_user}/.bash_profile.bak
  74. echo -e "${bash_profile_value}" >> /home/${oracle_user}/.bash_profile
  75.  
  76. /bin/cp /etc/redhat-release /root/redhat-release.bak
  77. echo "redhat4" > /etc/redhat-release

  78. 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
     
  79. echo
  80. echo "All prepared! Restart the system and then run Oracle Installer in linux GUI."

四、启动过程示范:

  1. [orausr@centos6 ~]$ emctl start dbconsole
  2. TZ set to PRC
  3. Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.
  4. Copyright (c) , Oracle Corporation. All rights reserved.
  5. http://c608:1158/em/console/aboutApplication
  6. Starting Oracle Enterprise Manager 10g Database Control .............................. started.
  7. ------------------------------------------------------------------
  8. Logs are generated in directory /opt/oracle/10.2./instance0/c608_c608/sysman/log
  9.  
  10. [orausr@centos6 ~]$
  11. [orausr@centos6 ~]$ lsnrctl start
  12.  
  13. LSNRCTL for Linux: Version 10.2.0.1. - Production on -DEC- ::
  14.  
  15. Copyright (c) , , Oracle. All rights reserved.
  16.  
  17. Starting /opt/oracle/10.2.1/instance0/bin/tnslsnr: please wait...
  18.  
  19. TNSLSNR for Linux: Version 10.2.0.1. - Production
  20. System parameter file is /opt/oracle/10.2./instance0/network/admin/listener.ora
  21. Log messages written to /opt/oracle/10.2./instance0/network/log/listener.log
  22. Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  23. Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=c608)(PORT=)))
  24.  
  25. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
  26. STATUS of the LISTENER
  27. ------------------------
  28. Alias LISTENER
  29. Version TNSLSNR for Linux: Version 10.2.0.1. - Production
  30. Start Date -DEC- ::
  31. Uptime days hr. min. sec
  32. Trace Level off
  33. Security ON: Local OS Authentication
  34. SNMP OFF
  35. Listener Parameter File /opt/oracle/10.2./instance0/network/admin/listener.ora
  36. Listener Log File /opt/oracle/10.2./instance0/network/log/listener.log
  37. Listening Endpoints Summary...
  38. (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
  39. (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=c608)(PORT=)))
  40. Services Summary...
  41. Service "PLSExtProc" has instance(s).
  42. Instance "PLSExtProc", status UNKNOWN, has handler(s) for this service...
  43. The command completed successfully
  44.  
  45. [orausr@centos6 ~]$
  46. [orausr@centos6 ~]$ dbstart
  47. [orausr@centos6 ~]$ sqlplus /nolog
  48.  
  49. SQL*Plus: Release 10.2.0.1. - Production on Thu Dec ::
  50.  
  51. Copyright (c) , , Oracle. All rights reserved.
  52.  
  53. SQL> conn /as sysdba
  54. Connected to an idle instance.
  55. SQL> startup
  56. ORACLE instance started.
  57.  
  58. Total System Global Area bytes
  59. Fixed Size   bytes
  60. Variable Size bytes
  61. Database Buffers bytes
  62. Redo Buffers   bytes
  63. Database mounted.
  64. Database opened.
  65. SQL> select * from scott.emp;

Centos6安装oracle10g的更多相关文章

  1. CentOS6.2上安装Oracle10g报ins_emdb.mk错误处理方法

    oracle安装过程报ins_emdb.mk错误,此时继续点击“continue”即可,待Oracle完成安装后,再手工执行相应脚本完成链接即可 在CentOS6.2操作系统上,安装Oracle10g ...

  2. CentOS5.6下安装Oracle10G软件 【保留报错经验】

    CentOS5.6下安装Oracle10G ****************************************************************************** ...

  3. linux5.8安装oracle10g过程记录,换实例一定要改profile的配置

    查看系统位数: [root@oracle /]# uname -aLinux oracle 2.6.18-308.el5 #1 SMP Fri Jan 27 17:21:15 EST 2012 i68 ...

  4. Redhat6.4下安装Oracle10g

    Oracle10g_Redhat6.4 安装指南 文档说明 本文借鉴<Redhat_Linux_6.4下Oracle_10g安装配置手册><Redhat 6.4 安装 Oracle1 ...

  5. Win7 x64bit安装Oracle10g

    解决方案:   步骤一:在解压出的oracle文件夹中搜索refhost.xml文件,搜索结果出现2条符合条件文件,这两个文件均需要修改.   打开文件发现内容中有包含...5.0 6.0等系统说明, ...

  6. Linux 安装oracle10g 配置dataguard 介绍和步骤

            DataGuard是甲骨文推出的一种高可用性数据库方案,在Oracle 8i之前被称为Standby Database.从Oracle 9i开始,正式更名为Data Guard.它是在 ...

  7. Centos6 安装vnc

    Centos6 安装vnc 1. 安装 使用yum方式安装 yum install tigervnc-server tigervnc #启动 vncserver #重启动 /etc/init.d/vn ...

  8. centos6 安装vsftpd

    centos6 安装vsftpd vsftpd一般选择yum安装,以下是安装和配置过程 如果是centos6想要安装的话一般是编译安装 1.安装 yum安装 yum install vsftpd 编译 ...

  9. win7系统64位安装oracle10g

    win7系统64位安装oracle10g 下载地址: http://download.oracle.com/otn/nt/oracle10g/10204/10204_vista_w2k8_x64_pr ...

随机推荐

  1. 5. pytest的断言

    一.pytest 支持Python自带的标准断言 def f(): return 3 def test_function(): assert f() == 4 pytest 的断言报告,也很丰富,和详 ...

  2. SQL 判断Null

    字段 is null 这是多久没写SQL 了啊....................

  3. tomcat更改web文件路径

    由于代码太长,记不住!只能自己做个小笔记了!! <Context path="/" docBase="/opt/appl/merch.bak" debug ...

  4. 【语义分割】PSPNet中PSP模块的pytorch实现

    github地址:https://github.com/Lextal/pspnet-pytorch/blob/master/pspnet.py PSP模块示意图如下 代码如下 class PSPMod ...

  5. 洛谷 P4859 && BZOJ3622: 已经没有什么好害怕的了

    题目描述 给出 \(n\) 个数 \(a_i\)​ ,以及 \(n\) 个数 \(b_i\)​ ,要求两两配对使得 \(a>b\) 的对数减去 \(a<b\) 的对数等于 \(k\) . ...

  6. web 导出数据到 exls 中

    // 文件下载:导出excel表 @RequestMapping(value = "/exportExcel", method = {RequestMethod.GET}) @Re ...

  7. JavaScript的type属性等于text/html 例子

    在使用JavaScript标签<script>的时候,其中type最常用的就是text/javascript 其实这个type还有其他用法,下面直接给出例子: type属性为text/ht ...

  8. 深入剖析PHP输入流 php://input

    另附一个一个连接: http://www.nowamagic.net/academy/detail/12220520 ///////////////////////////////////////// ...

  9. Ionic3,懒加载(二)

    Ionic懒加载: 普通的ionic项目中,创建好每一个Component页面后,都需要在app.module.ts中进行declaration(声明)后才能进行调用,而这样的声明方式,及在APP加载 ...

  10. [转]ClassPath是什么

    from: https://my.oschina.net/GivingOnenessDestiny/blog/603505 classpath 是什么classpath实际上就是编译后的 以 clas ...