分享

Oracle11g的不同安装方法

 python_diango 2012-10-26

这两天学习了下关于Oracle11g数据库的安装,以下主要介绍Oracle11g Release2数据库系统的安装过程,作为自己的学习记录。
1、安装环境
   主机系统:Windows 7 x64 sp1
   虚拟机:VMware Workstation 7.0.1 build-227600
   操作系统:CentOS5.8-release,Kernel:2.6.18-308.el5,官网地址:http:///

2、参考文档:
   Oracle11g Release 2 (11.2),下载地址:http://download.oracle.com/docs/cds/E11882_01.zip
   
3、安装方法:
   Interactive Method:交互式安装
   Non-Interactive Method:静默式安装

4、安装前准备工作
   关于Oracle安装的硬件要求,这里就不累赘阐述,直接查Oracle11g Release 2(11.2)即可,这里主要阐述并且通过实验来说明安装前的准备工作
   4.1 rpm包需求
     在Linux x86系统中,操作系统是CentOS5,所需的包可以通过运行如下的packageCheck来检查,如下:
     # ./packageCheck
     如果没有任何输出,则表示包检查通过。
     
     具体packageCheck内容如下:
        #!/bin/bash
        rpm -q \
        binutils- \
        compat-libstdc++-33 \
        elfutils-libelf \
        elfutils-libelf-devel \
        elfutils-libelf-devel-static \
        gcc \
        gcc-c++ \
        glibc \
        glibc-common \
        glibc-devel \
        glibc-headers \
        kernel-headers \
        ksh \
        libaio \
        libaio-devel \
        libgcc \
        libgomp \
        libstdc++ \
        libstdc++-devel \
        make \
        sysstat \
        pdksh \
        unixODBC \
        unixODBC-devel \
        unixODBC-libs | grep "not installed"

   4.2 用户和用户组的检查
        由于这里安装使用文件系统,作为一个基本的安装,需要增加2个组:dba和oinstall,一个用户oracle,如下:
        # groupadd dba
        # groupadd oinstall
        # mkdir /u01
        # useradd -g oinstall -G dba -d /u01/oracle oracle
        # passwd oracle
        设置oracle用户的密码
    
   4.3 设置Linux系统的资源限制以及内核参数
     4.3.1 增加以下内容到/etc/security/limits.conf
        oracle              soft    nproc   2047
        oracle              hard    nproc   16384
        oracle              soft    nofile  1024
        oracle              hard    nofile  65536
        oracle              soft    stack   10240
     
     4.3.2 增加以下内容到/etc/sysctl.conf,根据原有内容进行选择性增加
        fs.aio-max-nr = 1048576
        fs.file-max = 6815744
        kernel.shmall = 2097152
        kernel.shmmax = 4294967295
        kernel.shmmni = 4096
        kernel.sem = 250 32000 100 128
        net.ipv4.ip_local_port_range = 9000 65500
        net.core.rmem_default = 262144
        net.core.rmem_max = 4194304
        net.core.wmem_default = 262144
        net.core.wmem_max = 1048576
     增加完成后,运行
        # sysctl -p        //让其生效
        # sysctl -a        //查看生效的内核参数
     另外,在11g中,没有看到修改---------------
   
   4.4 设置环境变量
     切换到oracle用户,编辑.bash_profile,新增如下环境变量:
        ORACLE_BASE = /u01/app/oracle/product/11.2.0
        ORACLE_HOME = $ORACLE_BASE/db_1
        ORACLE_SID = orcl
        PATH = $ORACLE_HOME/bin:$PATH
        
        export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
     
5、交互式安装
   在上述4完成后,我们就可以进行Oracle软件的安装了,本节主要介绍Oracle的交互式安装,即使用OUI(Oracle Universal Interface)来安装
   5.1 安装步骤
     5.1.1 切换到Oracle用户下,如下:
        $ ./runInstaller
     5.1.2 如下图所示:<略>
     
6、静默式安装
   如果选择静默式安装,比如服务器没有X-window等原因,在上述4完成之后,还需做如下的步骤:
   6.1 创建oraInst.loc文件(如果第一次安装,系统中应该不存在oraInst.loc文件)
        $ su - root
        # touch /etc/oraInst.loc
     编辑oraInst.loc文件,内容如下:
        inventory_loc=/u01/app/oracle/product/oraInventory
        inst_group=oinstall
     并且修改owner,group和权限
        # chown oracle:oinstall /etc/oraInst.loc
        # chmod 664 /etc/oraInst.loc
   
   6.2 准备Response文件
     6.2.1 使用上述5步骤,在最后一步,保存response文件,作为静默安装的response文件
     6.2.2 在服务器没有X-window的情况下,可以使用Oracle自带的模板文件进行修改来准备response文件
        Oracle自带的模板文件在安装介质的database/response文件夹中,一般包括如下:
        # ls -l
        -rw-rw-r-- 1 root root 44969 2009-02-14 dbca.rsp
        -rw-rw-r-- 1 root root 22557 2009-08-14 db_install.rsp
        -rwxrwxr-x 1 root root  5740 2009-02-26 netca.rsp
        
     db_install.rsp即为安装Oracle软件所需的response文件,下面是一个简单的模板:
         oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
         oracle.install.option=INSTALL_DB_SWONLY
         ORACLE_HOSTNAME=oracle11g
         UNIX_GROUP_NAME=oinstall
         INVENTORY_LOCATION=/u01/app/oracle/product/oraInventory
         SELECTED_LANGUAGES=zh_CN,en
         ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
         ORACLE_BASE=/u01/app/oracle/product/11.2.0
         oracle.install.db.InstallEdition=EE
         oracle.install.db.isCustomInstall=false
         oracle.install.db.customComponents=
         oracle.install.db.DBA_GROUP=dba
         oracle.install.db.OPER_GROUP=oinstall
         oracle.install.db.CLUSTER_NODES=
         oracle.install.db.config.starterdb.type=
         oracle.install.db.config.starterdb.globalDBName=
         oracle.install.db.config.starterdb.SID=
         oracle.install.db.config.starterdb.characterSet=
         oracle.install.db.config.starterdb.memoryLimit=
         oracle.install.db.config.starterdb.memoryOption=false
         oracle.install.db.config.starterdb.installExampleSchemas=false
         oracle.install.db.config.starterdb.enableSecuritySettings=true
         oracle.install.db.config.starterdb.password.ALL=
         oracle.install.db.config.starterdb.password.SYS=
         oracle.install.db.config.starterdb.password.SYSTEM=
         oracle.install.db.config.starterdb.password.SYSMAN=
         oracle.install.db.config.starterdb.password.DBSNMP=
         oracle.install.db.config.starterdb.control=DB_CONTROL
         oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
         oracle.install.db.config.starterdb.dbcontrol.enableEmailNotification=false
         oracle.install.db.config.starterdb.dbcontrol.emailAddress=
         oracle.install.db.config.starterdb.dbcontrol.SMTPServer=
         oracle.install.db.config.starterdb.automatedBackup.enable=false
         oracle.install.db.config.starterdb.automatedBackup.osuid=
         oracle.install.db.config.starterdb.automatedBackup.ospwd=
         oracle.install.db.config.starterdb.storageType=
         oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
         oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
         oracle.install.db.config.asm.diskGroup=
         oracle.install.db.config.asm.ASMSNMPPassword=
         MYORACLESUPPORT_USERNAME=
         MYORACLESUPPORT_PASSWORD=
         SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
         DECLINE_SECURITY_UPDATES=true
         PROXY_HOST=
         PROXY_PORT=
     修改文件的owener,group和permission
        # chown oracle:oinstall db_install.rsp
        # chmod 700 dbinstall.rsp
    
   6.3 在做好上述准备工作后,就可以真正启动Oracle的安装了,执行
        $ ./runInstaller -force -ignoreSysprereqs -silent -responseFile /u01/database/response/db_install.rsp
        (i)-force 使用此参数允许在非空目录下静默安装
        (ii)-ignoreSysprereqs 忽略系统的安装前检查的结果
   
   6.4 Oracle安装完成后,需要在root用户下执行
        # $ORACLE_BASE/oraInventory/orainstRoot.sh     --这句不用执行
        # $ORACLE_HOME/root.sh
   
   6.5 由于先安装的仅仅是Oracle软件,以下是静默方式执行netca和dbca
     6.5.1 运行Net Configuration Assistant(responseFile)
        执行Net Configuration Asssistant比较简单,同样找到netca.rsp文件,复制到本地系统,并且执行:
        $ $ORACLE_HOME/bin/netca -silent -responseFile /u01/database/response/netca.rsp
     netca.rsp参考:
        [GENERAL]
        RESPONSEFILE_VERSION="11.2"
        CREATE_TYPE="CUSTOM"
        
        [oracle.net.ca]
        INSTALLED_COMPONENTS={"server","net8","javavm"}
        INSTALL_TYPE=""typical""
        LISTENER_NUMBER=1
        LISTENER_NAMES={"LISTENER"}
        LISTENER_PROTOCOLS={"TCP;1521"}
        LISTENER_START=""LISTENER""
        NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
        
        NSN_NUMBER=1
        NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
        NSN_SERVICE={"PLSExtProc"}
        NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}
    
     6.5.2 运行Database Configuration Assistant
        执行DBCA可以在silent模式,response模式和silent|response模式
        silent模式:提供command或者response默认形式的参数选项指定;
        response模式:提供图形界面,-progressOnly
        silent|response模式:通过读取responseFile文件,在silent模式下自动创建数据库
       
        这里介绍silent|response模式,准备好dbca.rsp后,执行
        $ $ORACLE_HOME/bin/dbca -silent -responseFile /u01/database/response/dbca.rsp
        
     dbca.rsp参考
        [GENERAL]
        RESPONSEFILE_VERSION = "11.2.0"
        OPERATION_TYPE = "createDatabase"
        
        [CREATEDATABASE]
        GDBNAME = "orcl"
        SID = "orcl"
        
        TEMPLATENAME = "General_Purpose.dbc"
        #SYSPASSWORD = "oracle"        留在敲完命令的时候以command命令输入
        #SYSTEMPASSWORD = "oracle"
        
        CHARACTERSET = "AL32UTF8"
        NATIONALCHARACTERSET= "AL16UTF16"
       
7、后续补充
   7.1 在安装完成后,运行sqlplus报错
     $ sqlplus /nolog
     sqlplus: error while loading shared libraries: /u01/oracle/product/11.2.0/db_1/lib/libclntsh.so.11.1: 
     cannot restore segment prot after reloc: Permission denied
   这主要是由于Linux系统的SELinux的原因,由于是实验环境,直接修改SELinux为disabled
        # vi /etc/selinux/config
        SELINUX = enforcing 改为
        SELINUX = disabled
        
        # reboot
    
   7.2 sqlplus的提示信息乱码或者中英文切换
     $sqlplus /nolog
     > conn / as sysdba
     > select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET';
     PARAMETER          VALUE
     ----------------   ---------------------
     NLS_CHARACTERSET    AL32UTF8
     这样查询到NLS_CHARACTERSET值,则记下,然后关闭数据库,即:
     > shutdown immediate
     
     $ vi .bash_profile 增加下面其中一行:
     export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"            #提示信息为english
     export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"     #提示信息为简体中文
     $ source .bash_profile    ----使之生效,然后sqlplus就可以看到效果了

7.3 使用静默方式创建数据库,则OEM是启动不起来的,因为没有创建和配置,过程如下:
     7.3.1 配置dbconsole步骤如下:
        $ emca -repos create
        $ emca -config dbconsole db
        $ emctl start dbconsole
     
     7.3.2 重新配置dbconsole步骤:
        $ emca -repos drop
        $ emca -repos create
        $ emca -config dbconsole db
        $ emctl start dbconsole
     
     7.3.3 OEM的一些基本操作
        创建一个EM资料库
        $ emca -repos create
        重建一个EM资料库
        $ emca -repos recreate
        删除一个EM资料库
        $ emca -repos drop
        配置数据库的 Database Control
        $ emca -config dbcontrol db
        删除数据库的 Database Control配置
        $ emca -deconfig dbcontrol db
        重新配置db control的端口,默认端口在1158
        $ emca -reconfig ports
        $ emca -reconfig ports -dbcontrol_http_port 1160
        $ emca -reconfig ports -agent_port 3940
        先设置ORACLE_SID环境变量后,启动EM console服务
        $ emctl start dbconsole
        先设置ORACLE_SID环境变量后,停止EM console服务
        $ emctl stop dbconsole
        先设置ORACLE_SID环境变量后,查看EM console服务的状态
        $ emctl status dbconsole

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多