首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Oracle11g的不同装配方法

2012-07-27 
Oracle11g的不同安装方法这两天学习了下关于Oracle11g数据库的安装,以下主要介绍Oracle11g Release2数据库

Oracle11g的不同安装方法

这两天学习了下关于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://centos.org/

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

热点排行