代码改变世界

静默安装ORACLE【weber出品必属精品】

2014-08-16 18:29  yaoweber  阅读(455)  评论(0编辑  收藏  举报
  1. 安装配置系统环境
    安装linux ,所有服务都不选择,只是选择安装开发工具,不要安装防火墙(当然也可以在后面关闭)
  2. 打开终端,执行如下命令,检查安装包,没有的都要安装
    make, glibc, libaio
    compat-libstdc++, compat-gcc-34, compat-gcc-34-c++, gcc, libXp
    openmotif, compat-db
    查询glib有没有安装
    # rpm -qa | grep glib
  3. 如果没有则进行安装,安装需要挂载RHEL5这种光盘
    # mount  /dev/cdrom  /media
    # cd /media/Server
  4. 然后使用rpm包安装方式进行安装
    # rpm -ivh compat-gcc-34-* --nodeps
    # rpm -ivh openmotif-* --nodeps
    # rpm -ivh libXp-* --nodeps
    # rpm -ivh compat-db-* --nodeps
  5. 修改内核参数
    增加下面的内容到文件 /etc/sysctl.conf 中:
    
    kernel.shmall = 2097152
    --系统可以使用的内存页的最大数量
    kernel.shmmax = 2147483648
    --单个共享内存段的最大大小,单位是字节
    kernel.shmmni = 4096
    --内存页的大小
    # semaphores: semmsl, semmns, semopm, semmni
    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
  6. 运行下面的命令使得内核参数生效:
    /sbin/sysctl -p
  7. vi /etc/security/limits.conf 行末添加以下内容
    #use for oracle
    * soft nproc 2047
    * hard nproc 16384
    * soft nofile 1024
    * hard nofile 65536
  8.  vi /etc/pam.d/login 行末添加以下内容
    session required pam_limits.so
  9. 关闭防火墙,vi /etc/selinux/config 确保以下内容
    SELINUX=disabled
    关闭SELIINUX
  10. 新增组和用户:
    groupadd oinstall
    groupadd dba
    groupadd oper
    
    useradd -g oinstall -G dba oracle
    passwd oracle
    
    oinstall:属于此组的用户才能安装oracle
    dba:属于此组的用户才能进行sys这个用户的的操作系统验证
    oper:属于此组的用户才能进行public这个用户的的操作系统验证
  11. 创建Oracle的安装目录,并把权限付给oracle用户:
    mkdir -p /u01/app/oracle
    chown -R oracle:oinstall /u01
    chmod -R 775 /u01
  12. 因为VM虚拟机的官方只支持到RHEL4为止,所以要修改版本说明,编辑文件 /etc/redhat-release 把Red Hat Enterprise Linux Server release 5 (Tikanga) 改成版本4:redhat-4
  13. oracle 用户的环境变量

    以 oracle 身份登录,并通过在 .bash_profile 中添加以下行

    增加下列内容:

    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/10.2.0/db_1
    export ORACLE_SID=orcl
    export PATH=$PATH:$ORACLE_HOME/bin
  14. 因为oracle 的官方只支持到RHEL4为止,所以要修改版本说明,编辑文件 /etc/redhat-release 把Red Hat Enterprise Linux Server release 5 (Tikanga) 改成版本4:redhat-4
  15.  切换账号
    ​# su - oracle
    这里解释一下:su 加不加-的区别,加-了当前的用户环境由后面的用户决定。不加的话则有root这个用户的环境决定。
  16. 我们将10201_database_linux32.zipp8202632_10205_LINUX.zipp8350262_10205_Generic.zip拷贝到/u01路径下。这里介绍一下三个文件的作用:
    10201_database_linux32.zip   : oracle_database_10.2.0.1.0版本。
    p8202632_10205_LINUX.zip    : 将oracle_database_10.2.01版本升级到10.2.0.5.0版本的补丁文件
    p8350262_10205_Generic.zip  : 这是em的补丁文件
  17. 拷贝完成后进行解压操作
    # : unzip  10201_database_linux32.zip
  18.  解压完成后,文件夹多了个database文件夹。
  19. 【.............................................................华丽的分割线.........................................................................】
  20. 由于本次的实验我是将上次的虚拟机直接拷贝过来,然后将里面图形化界面安装好了的oracle给删除,再次重新安装,所以这里要修改一些配置。
  21. 首先修改的是我们的IP地址
    # system-config-network
  22. 完成后我们修改一下hosts文件,将里面的ip地址给修改一下
    # vi /etc/hosts
  23. 接着我们删除上次安装过的ORACLE文件
    # cd $ORACLE_BASE
    # ls
    # rm -rf *
  24. 进入root:rm -rf /etc/ora*
  25. 【...........................................................华丽的分割线........................................................................................】
  26. 还是在安装前进行配置。
  27. 接下来进行静默安装。首先我们先要创建一个相应文件,这个文件里记录了我们oracle安装的所有过程
    [oracle@oracle ~]$ cd /u01/database/response
    $ cp enterprise.rsp /u01
    $ vi /u01/enterprise.rsp
  28. 修改一下内容:
    35 UNIX_GROUP_NAME="oinstall"
     62 ORACLE_HOME="/u01/app/oracle/10.2.0/db_1"
     70 ORACLE_HOME_NAME="OraDbHome"
     351 COMPONENT_LANGUAGES={"en,zh_CN"}
     384 s_nameForDBAGrp="dba"
     392 s_nameForOPERGrp="oper"
     422 n_configurationOption=3
  29. 开始安装:
    [oracle@oracle ~]$ cd /u01/database
    $ ./runInstaller -silent -responseFile /u01/enterprise.rsp
  30. 安装完成后执行以下脚本
    $ORACLE_BASE/oraInventory/orainstRoot.sh
    $ORACLE_HOME/root.sh
  31. 执行完脚本以后使用:sqlplus / as sysdba即可知道oracle的版本为:10.2.0.1.0
  32. 静默升级数据库
    $ cp /u01/Disk1/response/patchset.rsp /u01
    vi /u01/patchset.rsp编辑如下行:
       45 UNIX_GROUP_NAME="oinstall"
        87 ORACLE_HOME="/u01/app/oracle/10.2.0/db_1"
        99 ORACLE_HOME_NAME="OraDbHome1"
        533 MYORACLESUPPORT_USERNAME="zhaoming@sina.com"
        542 MYORACLESUPPORT_PASSWORD="b"
        603 DECLINE_SECURITY_UPDATES=true
  33. 进行安装升级的补丁
    $ ./runInstaller -silent -responseFile /u01/patchset.rsp
    如果你报错server:oui - 10029,你可以加上-force这个参数。
  34. 升级成功,执行提示的两个脚本。
    $ sqlplus / as sysdba;
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
  35.  接下来进行手工建库
    $ vi $ORACLE_HOME/dbs/initorcl.ora
    写入以下内容:
    compatible=10.2.0.5
    instance_name=orcl
    db_name=orcl
    sga_target=500M
    sga_max_size=500M
    job_queue_processes=10
    undo_management=auto
    undo_tablespace=undotbs
    audit_file_dest=$ORACLE_BASE/admin/orcl/adump
    background_dump_dest=$ORACLE_BASE/admin/orcl/bdump
    core_dump_dest=$ORACLE_BASE/admin/orcl/cdump
    user_dump_dest=$ORACLE_BASE/admin/orcl/udump
    control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'
    保存退出
  36.  创建跟踪目录:
    mkdir -p $ORACLE_BASE/admin/orcl/{a,b,c,u}dump
  37. 创建控制文件的位置
    mkdir -p /u01/app/oracle/oradata/orcl/
  38.   启动到实例:
    sqlplus / as sysdba
    create spfile from pfile;
    startup nomount
  39.  接下来进行创建数据库
  40.  vi createdb.sql写入如下内容:

    CREATE DATABASE orcl
    USER SYS IDENTIFIED BY a ---这里需要修改你的密码
    USER SYSTEM IDENTIFIED BY a
    LOGFILE GROUP 1 ( '/u01/app/oracle/oradata/orcl/redo01.log ') SIZE 50M,
    GROUP 2 ( '/u01/app/oracle/oradata/orcl/redo02.log ') SIZE 50M,
    GROUP 3 ( '/u01/app/oracle/oradata/orcl/redo03.log ') SIZE 50M
    MAXLOGFILES 5
    MAXLOGMEMBERS 5
    MAXLOGHISTORY 1
    MAXDATAFILES 100
    MAXINSTANCES 1
    CHARACTER SET utf8
    NATIONAL CHARACTER SET utf8
    DATAFILE '/u01/app/oracle/oradata/orcl/system01.dbf ' SIZE 325M REUSE
    EXTENT MANAGEMENT LOCAL
    SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf ' SIZE 325M REUSE
    DEFAULT TABLESPACE users datafile '/u01/app/oracle/oradata/orcl/users01.dbf ' size 200M
    DEFAULT TEMPORARY TABLESPACE temp
    TEMPFILE '/u01/app/oracle/oradata/orcl/temp01.dbf '
    SIZE 20M REUSE
    UNDO TABLESPACE undotbs
    DATAFILE '/u01/app/oracle/oradata/orcl/undotbs01.dbf '
    SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
    /

  41.  然后在sql中引用到这些脚本
    sql> get /u01/create.sql   ---解释一下get的作用:就是引用操作系统目录下的任意一个文件引入到sql中来。
    sql> .........
    sql>/
    -----执行完这些脚本语句之后就会在相应的位置产生控制文件、数据文件、日志文件等----
  42.  接着执行
    sql>desc dba_tables
    ERROR:
    ORA-04043: object dba_tables does not exist
    ----解释一下:这里查询的是数据字典,我们这里只不过建好了数据库,并没有将数据库相关的视图、表、索引、数据字典等建好。----
  43.  所以我们呢要来建这些视图、表、索引了。
    $ cd /u01
    vi jb.sql写入如下内容:
    @?/rdbms/admin/catalog.sql  ----catalog.sql:创建数据字典
    @?/rdbms/admin/catproc.sql   ----catproc.sql:安装ORACLE自定义的包
    conn system/a
    @?/sqlplus/admin/pupbld.sql   ----pupbld.sql:屏蔽sqlplus错误
  44.  接着在数据库中执行这段脚本:
    sql>@/u01/jb.sql
    ---这里解释一下:@:可以执行操作系统下的某个脚本中sql语句
  45.  紧接着就是漫长的等待,估计20多分钟吧。
  46.  执行完成后,你会看到很多什么表啊视图什么的,does not exist。不用管他,这是创建数据字典时候先去查询这些表存不存在。当然不存在啊,因为都还没创建,所以自然会报错。
    sql>desc dba_tables
  47.  完了后这个时候就有内容了。
    sql> select count(*) from dba_tables
  48.  接下来我们进行OEM的安装,安装之前我们先将补丁给补上。补丁我们也是采用禁默安装。补丁:p8350262_10205_Generic.zip
  49.  将补丁上传到目录:$ORACLE_HOME/OPatch/  解压缩:
    $ unzip p8350262_10205_Generic.zip
  50.  得到一个目录为:8350262
  51.  打补丁:
    $ emctl stop dbconsole
    $ cd $ORACLE_HOME/OPatch
    $ ./opatch apply 8350262
  52.  补丁安装上去之后
    $ lsnrctl status 显示: No Listener
  53.  然后我们做:
    $ cd /u01/database/response/
    $ cp netca.rsp /u01
    $ netca /silent /responseFile /u01/netca.rsp
  54.  安装完监听器后我们进入sqlplus去将数据库注册到这个监听器上。
    $ sqlplus / as sysdba;
    sqlplus>alter system register
  55.  监听器安装完成后我们进行安装资料库
    SQL> select username from dba_users where username=\'SYSMAN\';
              no rows selected
  56.  执行安装资料库命令:
    $ emca -repos create 
    STARTED EMCA at Mar 30, 2013 9:57:23 AM
    EM Configuration Assistant, Version 10.2.0.1.0 Production
    Copyright (c) 2003, 2005, Oracle. All rights reserved.
    Enter the following information:
    Database SID: orcl
    Listener port number: 1521
    Password for SYS user: 
    Password for SYSMAN user: 
    Password for SYSMAN user: 
    Do you wish to continue? [yes(Y)/no(N)]: Y
    Mar 30, 2013 9:58:28 AM oracle.sysman.emcp.EMConfig perform
    INFO: This operation is being logged at /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl/emca_2013-03-30_09-57-2-AM.log.
    Mar 30, 2013 9:58:28 AM oracle.sysman.emcp.EMReposConfig createRepository
    INFO: Creating the EM repository (this may take a while) ...
    Mar 30, 2013 10:00:42 AM oracle.sysman.emcp.EMReposConfig invoke
    INFO: Repository successfully created
    Enterprise Manager configuration completed successfully
    FINISHED EMCA at Mar 30, 2013 10:00:42 AM
  57.  资料库安装完成后我们进行安装控制台:
    $ emca -config dbcontrol db
    STARTED EMCA at Mar 30, 2013 10:01:47 AM
    EM Configuration Assistant, Version 10.2.0.1.0 Production
    Copyright (c) 2003, 2005, Oracle. All rights reserved.
    Enter the following information:
    Database SID: orcl
    Listener port number: 1521
    Password for SYS user: 
    Password for DBSNMP user: 
    Password for SYSMAN user: 
    Invalid username/password.
    Password for SYSMAN user: 
    Email address for notifications (optional): 
    Outgoing Mail (SMTP) server for notifications (optional): 
    -----------------------------------------------------------------
    You have specified the following settings
    Database ORACLE_HOME ................ /u01/app/oracle/10.2.0/db_1
    Database hostname ................ hndx
    Listener port number ................ 1521
    Database SID ................ orcl
    Email address for notifications ............... 
    Outgoing Mail (SMTP) server for notifications ............... 
    -----------------------------------------------------------------
    Do you wish to continue? [yes(Y)/no(N)]: Y
    Mar 30, 2013 10:02:42 AM oracle.sysman.emcp.EMConfig perform
    INFO: This operation is being logged at /u01/app/oracle/10.2.0/db_1/cfgtoollogs/emca/orcl/emca_2013-03-30_10-01-4-AM.log.
    Mar 30, 2013 10:02:48 AM oracle.sysman.emcp.util.DBControlUtil startOMS
    INFO: Starting Database Control (this may take a while) ...
    Mar 30, 2013 10:04:24 AM oracle.sysman.emcp.EMDBPostConfig performConfiguration
    INFO: Database Control started successfully
    Mar 30, 2013 10:04:24 AM oracle.sysman.emcp.EMDBPostConfig performConfiguration
    INFO: >>>>>>>>>>> The Database Control URL is http://hndx:1158/em <<<<<<<<<<<
    Enterprise Manager configuration completed successfully
    FINISHED EMCA at Mar 30, 2013 10:04:24 AM
  58.  马上就大功告成了
    $ firefox http://hndx:1158/em    --如果报错:用户名密码错误,请先创建口令文件:
  59.  创建口令文件:
    orapwd file=$ORACLE_HOME/dbs/orapworcl password=xxxxx---用户名自己定义
  60.  是不是看到火狐浏览器的界面很亲切呢。这里估计还会有错误,就是要添加证书,进入后添加点击下面的添加就好了。