Oracle11gR2 for Linux6.4 静默安装
Oracle11gR2 for Linux6.4 静默安装 1、安装准备 ####################################### 主机:window7,64位 数据库版本:Oracle Database 11.2.0.1 ,将装在虚拟主机中 虚拟主机:RHEL6.4 Server,32位(镜像文件:rhel-server-6.4-i386-dvd.iso, vmware虚拟机,操作系统仅安装了基本服务,简体中文,2G内存,20磁盘空间)。 所有操作无需使用图形界面. 静默安装能减少安装出错的可能性,也能大大加快安装速度。 虚拟主机的基本设置 #hostname redhata #vi /etc/hosts 192.168.1.200 redhata 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 ########################### #service iptables stop #关闭防火墙 也可以设置开机不启动chkconfig --level 2345 iptables off #setenforce 0 #关闭selinux,也可以在/etc/sysconfig/selinux设置 ######################################## 制作yum源(Redhat6.4)(将rhel-server-6.4-i386-dvd.iso上传至/usr/local/) 1、mkdir -p /mnt/cdrom 2、mount -o loop /usr/local/rhel-server-6.4-i386-dvd.iso /mnt/cdrom/(或者将镜像光盘挂载上去,通过df -m 找到挂载的光盘如/dev/sr1,然后执行mount -o loop /dev/sr1 /mnt/cdrom) 3、cd /etc/yum.repos.d 4、mkdir -p bak 5、mv *.repo bak/ 6、vi /etc/yum.repos.d/redhat.repo (将 [RHEL] name=RHEL6.4 baseurl=file:///mnt/cdrom gpgcheck=0 gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release enabled=1 复制进去,保存退出) 7、yum clean all 8、yum update ################################################ 注: # 后跟命令表示以操作系统下root用户操作; $ 后跟命令表示以操作系统下oracle用户操作; ############################################### 2、安装过程 2.1 上传数据库文件 假如放在/tmp/目录下. 可通过SecureCRT工具sftp上传数据库安装文件. 解压Oracle安装文件 # cd /tmp # unzip linux*_11gR2_database_1of2.zip # unzip linux*_11gR2_database_2of2.zip 2.2 Package安装检查 # rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make kernel-headers pdksh sysstat unixODBC unixODBC-devel | grep "not installed" ****************************** 执行上述命令后发现缺少以下安装包 cd /mnt/cdrom/ #此为镜像文件挂载点 package compat-libstdc++-33 is not installed package elfutils-libelf-devel is not installed package gcc is not installed package gcc-c++ is not installed package glibc-devel is not installed package glibc-headers is not installed package libaio-devel is not installed package libstdc++-devel is not installed package kernel-headers is not installed package pdksh is not installed package unixODBC is not installed package unixODBC-devel is not installed ################################## 安装以上缺少包 rpm -ivh compat-libstdc++-33-3.2.3-69.el6.i686.rpm rpm -ivh elfutils-libelf-devel-0.152-1.el6.i686.rpm rpm -ivh unixODBC-2.2.14-12.el6_3.i686.rpm rpm -ivh unixODBC-devel-2.2.14-12.el6_3.i686.rpm rpm -ivh /tmp/pdksh-5.2.14-1.i386.rpm rpm -q libstdc++-devel-4.4.7-3.el6.i686.rpm rpm -ivh libaio-devel-0.3.107-10.el6.i686.rpm rpm -ivh kernel-headers-2.6.32-358.el6.i686.rpm rpm -ivh glibc-headers-2.12-1.107.el6.i686.rpm rpm -ivh glibc-devel-2.12-1.107.el6.i686.rpm yum install gcc* -y #由于安装gcc、gcc-c++存在依赖关系,所以采用yum方式安装。 安装后可以再次检查一次,查看有没有全部安装成功。 2.3 增加数据库组和用户 # id oracle (确认oracle用户是否存在) # /usr/sbin/groupadd oinstall (建立产品清单管理组) # /usr/sbin/groupadd dba (建立数据库安装组) # /usr/sbin/groupadd asmadmin (建立ASM管理组) # /usr/sbin/groupadd asmdba (建立Grid管理组) # /usr/sbin/useradd -g oinstall -G dba,asmdba oracle -d /home/oracle (oinstall为主要组,确保/home/oracle原不存在) # passwd oracle 2.4 调整OS内核参数 设置原则: kernel.shmmax 为 4GB-1byte或一半的物理内存,哪个值更低用哪个; fs.file-max 为512 * PROCESSES. # vi /etc/sysctl.conf (增加或修改以下参数,参考值为最小需求,kernel.shmmax默认即可无需设置 ) #------------------------------------------ fs.aio-max-nr = 1048576 #增加项 fs.file-max = 6815744 #增加项 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 = 1048586 kernel.shmall = 2097152 kernel.shmmax = 536870912 #------------------------------------------ # /sbin/sysctl -p (设置参数立即生效) 2.5 增加shell限制 为了提升性能增加oracle用户的shell限制. # vi /etc/security/limits.conf (在文件最后增加或修改以下参数) oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 # vi /etc/pam.d/login (在文件最后增加或修改以下参数) session required pam_limits.so # vi /etc/profile (在文件最后增加或修改以下脚本) if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 2.6 建立必需目录 # more /etc/oratab (确认原来是否存在Oracle主目录) # more /etc/oraInst.loc (确认原来是否存在Oracle产品清单目录) # mkdir -p /u01/app/oracle/ (Oracle基目录,一般为/mount_point/app/oracle_owner) # chown -R oracle:oinstall /tmp/database #chown -R oracle:oinstall /u01 # chmod -R 775 /tmp/database #chmod -R 775 /u01 2.7 设置oracle用户环境变量 如果服务器有多网卡,注意设置ORACLE_HOSTNAME为某网卡IP对应的主机名,参照/etc/hosts文件. # su - oracle $ vi ~/.bash_profile umask 022 export ORACLE_HOSTNAME=redhata export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=ORCL export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH export LC_ALL="en_US" export LANG="en_US" export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" $ . ~/.bash_profile 2.8 将/tmp/database移到/u01/中 $ cd /tmp/ $ mv database /u01/ 在解压后oracle软件的response目录里有各种响应文件的模版. 2.9 生成响应文件模板 1) 方法一(推荐) $ vi /u01/database/db_swonly.rsp #-------------------------------------------------------------------- #以下参数不要更改 oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 oracle.install.option=INSTALL_DB_SWONLY DECLINE_SECURITY_UPDATES=true #以下参数根据实际情况更改,一般也无需更改 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oracle/oraInventory SELECTED_LANGUAGES=en,zh_CN,zh_TW ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.isCustomInstall=true oracle.install.db.customComponents=oracle.rdbms.partitioning:11.2.0.1.0,oracle.oraolap:11.2.0.1.0,oracle.rdbms.lbac:11.2.0.1.0,oracle.rdbms.dm:11.2.0.1.0,oracle.rdbms.dv:11.2.0.1.0,oracle.rdbms.rat:11.2.0.1.0 oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oinstall #-------------------------------------------------------------------- 各参数含义如下: -silent 表示以静默方式安装,不会有任何提示 -force 允许安装到一个非空目录 -noconfig 表示不运行配置助手netca -responseFile 表示使用哪个响应文件,必需使用绝对路径 oracle.install.responseFileVersion 响应文件模板的版本,该参数不要更改 oracle.install.option 安装选项,本例只安装oracle软件,该参数不要更改 DECLINE_SECURITY_UPDATES 是否需要在线安全更新,设置为false,该参数不要更改 ORACLE_HOSTNAME 安装主机名 UNIX_GROUP_NAME oracle用户用于安装软件的组名 INVENTORY_LOCATION oracle产品清单目录 SELECTED_LANGUAGES oracle运行语言环境,一般包括引文和简繁体中文 ORACLE_HOME Oracle安装目录 ORACLE_BASE oracle基础目录 oracle.install.db.InstallEdition 安装版本类型,一般是企业版 oracle.install.db.isCustomInstall 是否定制安装,默认Partitioning,OLAP,RAT都选上了 oracle.install.db.customComponents 定制安装组件列表:除了以上默认的,可加上Label Security和Database Vault oracle.install.db.DBA_GROUP oracle用户用于授予OSDBA权限的组名 oracle.install.db.OPER_GROUP oracle用户用于授予OSOPER权限的组名 2) 方法二(图形界面) $ ./runInstaller & 一步步设置到Summary页,然后点击Save Response File按钮,选择合适的存放路径并Finish后,回到Summary页,点击Cancel退出OUI. 2.10 开始安装oracle软件 1) 通过response文件静默安装,大概2-3分钟: $cd /u01/database/ $ ./runInstaller -silent -force -noconfig -responseFile /u01/database/db_swonly.rsp 控制台直到出现以下提示则表示安装完成: #------------------------------------------------------------------- ... /u01/app/oracle/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts 4. Return to this window and hit "Enter" key to continue Successfully Setup Software. #------------------------------------------------------------------- 2) 安装期间查看安装日志信息了解安装进度: $ cd $ORACLE_BASE/oraInventory/logs $ tail -100f installActions*.log 3) 安装的软件信息会写入inventory.xml文件,如果需重运行则把该文件的对应安装条目信息删除即可: $ vi $ORACLE_BASE/oraInventory/ContentsXML/inventory.xml
2.11 运行orainstRoot.sh和root.sh 若本机第一次安装oracle软件,则执行orainstRoot.sh来建立oraInst.loc文件和修改权限: $ exit返回root用户 # /u01/app/oracle/oraInventory/orainstRoot.sh # more /etc/oraInst.loc 执行$ORACLE_HOME下的root.sh来建立oratab,dbhome,oraenv,coraenv文件,如果提示则一直回车: # /u01/app/oracle/product/11.2.0/dbhome_1/root.sh # more /etc/oratab 2.12 静默配置监听 通过response文件运行netca,生成sqlnet.ora和listener.ora文件,位于$ORACLE_HOME/network/admin目录下: # su - oracle $ $ORACLE_HOME/bin/netca /silent /responsefile /u01/database/response/netca.rsp 如果报错/u01/app/Oracle/product/11.2.0/dbhome_1/bin/netca: line 178: 2973 Aborted,则是因 为主机是64-Bit的系统,而虚拟主机是32位的系统,因此会产生这个错误bug,装个补丁(patch name:p8670579_112010_LINUX.zip)就 可以解决问题。 解决办法: 下载好后切换到oracle用户 $unzip p8670579_112010_LINUX.zip $cd 8670579 $/u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch apply -invPtrLoc /u01/app/oracle/product/11.2.0/dbhome_1/oraInst.loc 补丁打成功后再执行 $ORACLE_HOME/bin/netca /silent /responsefile/u01/database/response/netca.rsp $ ll $ORACLE_HOME/network/admin/*.ora $ lsnrctl status 执行完后,监听就已经启动了,默认端口是1521,默认是动态监听,只要实例启动了就会监听到. 2.13 静默建库 1) 生成响应文件模板: $ vi /u01/database/db_create.rsp #-------------------------------------------------------------------- #以下参数不要更改 [GENERAL] RESPONSEFILE_VERSION = "11.2.0" OPERATION_TYPE = "createDatabase" #以下参数必须设置 [CREATEDATABASE] GDBNAME = "ORCL" TEMPLATENAME = "General_Purpose.dbc" #以下参数不设置则使用默认值,建议设置 CHARACTERSET = "ZHS16GBK" TOTALMEMORY = "1024" #-------------------------------------------------------------------- 2) dbca静默建库,大概3-4分钟: 种子数据库和控制文件位于$ORACLE_HOME/assistants/dbca/templates/下,即Seed_Database.dfb和Seed_Database.ctl文件, 实际上建库就是基于通过rman恢复种子数据库和控制文件来实现的. $ $ORACLE_HOME/bin/dbca -silent -responseFile /u01/database/db_create.rsp Enter SYS user password: <输入sys用户密码> Enter SYSTEM user password: <输入system用户密码> Copying database files ... 37% complete Creating and starting Oracle instance ... 62% complete Completing Database Creation ... 100% complete Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL/ORCL.log" for further details. 各参数含义如下: -silent 表示以静默方式安装 -responseFile 表示使用哪个响应文件,必需使用绝对路径 RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改 OPERATION_TYPE 安装类型,该参数不要更改 GDBNAME 全局数据库名,点号前面默认是db_name,点号后面默认就是db_domain TEMPLATENAME 建库模板名,参考各模板定义:$ORACLE_HOME/assistants/dbca/templates/*.dbc CHARACTERSET 字符集,默认是WE8MSWIN1252 TOTALMEMORY 实例内存,默认是服务器物理内存的40% 3) 安装期间查看日志信息了解进度: $ tail -100f /u01/app/oracle/cfgtoollogs/dbca/ORCL/ORCL.log 4) 建库后实例检查 $ ps -ef | grep ora_ | grep -v grep | wc -l 22 $ ps -ef | grep ora_ | grep -v grep oracle 1807 1 0 Jan22 ? 00:01:08 ora_pmon_ORCL oracle 1809 1 1 Jan22 ? 00:34:24 ora_vktm_ORCL oracle 1813 1 0 Jan22 ? 00:00:12 ora_gen0_ORCL oracle 1815 1 0 Jan22 ? 00:00:24 ora_diag_ORCL oracle 1817 1 0 Jan22 ? 00:00:12 ora_dbrm_ORCL oracle 1819 1 0 Jan22 ? 00:00:29 ora_psp0_ORCL oracle 1821 1 0 Jan22 ? 00:03:13 ora_dia0_ORCL oracle 1823 1 0 Jan22 ? 00:00:14 ora_mman_ORCL oracle 1825 1 0 Jan22 ? 00:01:04 ora_dbw0_ORCL oracle 1827 1 0 Jan22 ? 00:01:20 ora_lgwr_ORCL oracle 1829 1 0 Jan22 ? 00:02:35 ora_ckpt_ORCL oracle 1831 1 0 Jan22 ? 00:00:32 ora_smon_ORCL oracle 1833 1 0 Jan22 ? 00:00:07 ora_reco_ORCL oracle 1835 1 0 Jan22 ? 00:01:10 ora_mmon_ORCL oracle 1837 1 0 Jan22 ? 00:01:41 ora_mmnl_ORCL oracle 1839 1 0 Jan22 ? 00:00:07 ora_d000_ORCL oracle 1841 1 0 Jan22 ? 00:00:07 ora_s000_ORCL oracle 1850 1 0 Jan22 ? 00:00:06 ora_qmnc_ORCL oracle 1852 1 0 Jan22 ? 00:00:09 ora_q000_ORCL oracle 1854 1 0 Jan22 ? 00:00:08 ora_q001_ORCL oracle 3603 1 0 Jan22 ? 00:00:14 ora_smco_ORCL oracle 9673 1 0 07:54 ? 00:00:01 ora_w000_ORCL 5) 建库后监听检查 [oracle@redhata ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-JAN-2017 12:14:24 Copyright (c) 1991,2009,Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production Start Date 22-JAN-2017 08:19:52 Uptime 1 days 3 hr. 54 min. 32 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/redhata/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=redhata)(PORT=1521))) Services Summary... Service "ORCL" has 1 instance(s). Instance "ORCL",status READY,has 1 handler(s) for this service... Service "ORCLXDB" has 1 instance(s). Instance "ORCL",has 1 handler(s) for this service... The command completed successfully 实例应该被动态注册到监听程序了. 如果未被动态注册到监听程序,则可以手工注册: $ sqlplus / as sysdba SQL*Plus: Release 11.2.0.1.0 Production on Wed Sep 16 11:11:46 2009 Copyright (c) 1982,Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning,Oracle Label Security,Data Mining, Oracle Database Vault and Real Application Testing options SQL> alter system register; 6) 改为归档模式并重启 $ sqlplus / as sysdba SQL> shutdown immediate; SQL> startup mount; SQL> alter database archivelog; SQL> alter database flashback on; (如果要启用数据库闪回功能则执行) SQL> alter database open; SQL> execute utl_recomp.recomp_serial(); (重新编译所有可能失效对象) SQL> alter system archive log current; (手工归档测试) 到此建库完毕! 7)查看 默认安装的数据库用户: select * from dba_users 8)查看默认安装的组件: select * from dba_registry order by 1 2.14 静默删库 1) 生成响应文件模板: $ vi /u01/database/db_delete.rsp #-------------------------------------------------------------------- #以下参数不能更改 [GENERAL] RESPONSEFILE_VERSION = "11.2.0" OPERATION_TYPE = "deleteDatabase" #以下参数根据实际情况更改 [DELETEDATABASE] SOURCEDB = "ORCL" #-------------------------------------------------------------------- 2) dbca静默建库,无需手工停库,大概1分钟: $ $ORACLE_HOME/bin/dbca -silent -responseFile /u01/database/db_delete.rsp Connecting to database ... 47% complete Updating network configuration files ... 52% complete Deleting instance and datafiles ... 100% complete Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/ORCL.log" for further details. 各参数含义如下: -silent 表示以静默方式删除 -responseFile 表示使用哪个响应文件,必需使用绝对路径 RESPONSEFILE_VERSION 响应文件模板的版本,该参数不要更改 OPERATION_TYPE 安装类型,该参数不要更改 SOURCEDB 数据库名,不是全局数据库名,即不包含db_domain 3) 删除期间查看日志信息了解进度: $ tail -100f $ORACLE_BASE/cfgtoollogs/dbca/$ORACLE_SID/$ORACLE_SID.log 重启后 su - oracle $sqlplus / as sysdba $lsnrctl start $emctl start dbconsole #(如果失败提示为Environment variable ORACLE_SID not defined.Please define it,则执行1.4中的内容) 2.15使用网页访问数据库 $ emca -config dbcontrol db# 开启网页https://192.168.1.200:1158/em/ $ emca status dbconsole 3、使用PLSQL Developer工具连接数据库 3.1下载instantclient-basic-windows.x64-11.2.0.4.0.zip并解压至F:instantclient_11_2中 3.2下载plsqldeveloperxx.zip并安装 3.2.1打开plsqldeveloper设置如下图 3.2.2设置系统环境变量如下图 1)在系统环境变量Path中添加instantclient-basic-windows.x64-11.2.0.4.0.zip的解压路径F:instantclient_11_2如下图: 2)新建系统环境环境变量NLS_LANG=AMERICAN_AMERICA.ZHS16GBK如下图: 3)新建系统环境环境变量TNS_ADMIN=F:instantclient_11_2如下图: 3.3将数据库服务器中/u01/app/oracle/product/11.2.0/dbhome_1/network/admin目录下的listener.ora、tnsnames.ora下载下来并将其中的主机名redhata改成虚拟机的IP后放到主机目录F:instantclient_11_2中即可。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |