Advertisement
Guest User

Untitled

a guest
Feb 8th, 2017
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.86 KB | None | 0 0
  1. # ORACLE 11G R2静默安装,配置
  2.  
  3. ## 目录
  4.  
  5. * [准备工作](#-2)
  6. * [开始安装](#-3)
  7. * [安装后工作](#-4)
  8. * [建库](#-5)
  9. * [配置监听](#-6)
  10. * [测试](#-7)
  11.  
  12. ## 准备工作
  13.  
  14. 1.依赖性准备
  15.  
  16. #yum install make gcc binutils gcc-c++ compat-libstdc++ elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel glibc.i686
  17.  
  18. 2.用户和组准备
  19.  
  20. #groupadd oinstall
  21. #groupadd dba
  22. #useradd -g oinstall -G dba -d /home/oracle oracle
  23. #passwd oracle //设置oracle密码
  24.  
  25. 3.目录准备及权限调整
  26.  
  27. #mkdir -p /export/servers/oracle/11.2.0 //数据库系统安装目录
  28. #mkdir /export/data/oradata //数据库数据安装目录
  29. #mkdir /export/data/oradata_back //数据备份目录
  30. #mkdir /home/oracle/inventory //清单目录
  31. #chown -R oracle:oinstall /export/servers/oracle
  32. #chown -R oracle:oinstall /home/oracle/inventory
  33. #chown -R oracle:oinstall /export/data
  34. #chomod -R 775 /export/servers/oracle
  35. #chomod -R 775 /export/data
  36.  
  37. 以上工作可通过招待 pre-install.sh 脚本完成.
  38.  
  39. 4.内核参数调整
  40.  
  41. #vim /etc/sysctl.conf 在文件最后增加
  42. fs.aio-max-nr = 1048576
  43. fs.file-max = 6553600
  44. kernel.shmall = 2097152
  45. kernel.shmmax = 2147483648
  46. kernel.shmmni = 4096
  47. kernel.sem = 250 32000 100 128
  48. net.ipv4.ip_local_port_range = 1024 65000
  49. net.core.rmem_default = 262144
  50. net.core.rmem_max = 4194304
  51. net.core.wmem_default = 262144
  52. net.core.wmem_max = 1048586
  53. 保存文件。
  54. #/sbin/sysctl -p //让参数生效
  55.  
  56. 5.用户的限制文件修改
  57.  
  58. #vim /etc/security/limits.conf 在文件后增加
  59. oracle soft nproc 2047
  60. oracle hard nproc 16384
  61. oracle soft nofile 1024
  62. oracle hard nofile 65536
  63. oracle soft stack 10240
  64. 保存文件。
  65.  
  66. 修改/etc/pam.d/login文件,增加如下:
  67. session required /lib64/security/pam_limits.so //64为系统,千万别写成/lib/security/pam_limits.so,否则导致无法登录
  68. session required pam_limits.so
  69. 修改/etc/profile,增加:
  70. if [ $USER = "oracle" ]; then
  71. if [ $SHELL = "/bin/ksh" ]; then
  72. ulimit -p 16384
  73. ulimit -n 65536
  74. else
  75. ulimit -u 16384 -n 65536
  76. fi
  77. fi
  78.  
  79. 6.oracle安装包准备
  80.  
  81. 下载并解压安装包到 /home/oracle/database
  82.  
  83. ## 开始安装
  84.  
  85. 1.打开另外一个终端,用oracle用户登录
  86.  
  87. 2.复制并修改应答文件
  88.  
  89. 复制应答文件
  90.  
  91. $cp -R /home/oracle/database/response/db_install.rsp /home/oracle/database/response/my_db_install.rsp
  92. #复制一份模板文件,以便改错后回滚
  93.  
  94. 修改应答文件
  95.  
  96. $vim /home/oracle/database/response/my_db_install.rsp,按实际情况修改以下项
  97. oracle.install.option=INSTALL_DB_SWONLY
  98. ORACLE_HOSTNAME=oracle11g.jd.com
  99. UNIX_GROUP_NAME=oinstall
  100. INVENTORY_LOCATION=/home/oracle/inventory/
  101. ORACLE_HOME=/export/servers/oracle/11.2.0
  102. ORACLE_BASE=/export/servers/oracle
  103. oracle.install.db.InstallEdition=EE
  104. oracle.install.db.isCustomInstall=false
  105. oracle.install.db.DBA_GROUP=dba
  106. oracle.install.db.OPER_GROUP=dba
  107. DECLINE_SECURITY_UPDATES=true
  108.  
  109. 修改好的应答文件,保存在 /vagrant/zhs16gbk/db_install.rsp 文件中,可直接使用。
  110.  
  111. 3.根据应答文件,开始安装
  112.  
  113. $ sudo su - oracle
  114. $ cd /home/oracle/database/
  115. $ ./runInstaller -silent -responseFile /vagrant/zhs16gbk/db_install.rsp
  116.  
  117. 4.按提示切换到root用户的终端,依次执行脚本
  118.  
  119. #/home/oracle/inventory/orainstRoot.sh
  120. #/opt/oracle/11.2.0/root.sh
  121. 脚本位置会提示
  122.  
  123. 5.切换到oracle用户的终端,敲”回车“,完成安装
  124.  
  125. 6.修改oracle用户环境变量
  126.  
  127. $vim ~/.bash_profile
  128. 添加以下内容
  129.  
  130. # User specific environment and startup programs
  131. export ORACLE_SID=orcl
  132. export ORACLE_BASE=/app/server/oracle
  133. export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
  134. export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
  135. PATH=$PATH:$ORACLE_HOME/bin
  136.  
  137. 7.执行`$source ~/.bash_profile` 刷新环境变量
  138.  
  139. ## 安装后工作
  140.  
  141. #### 建库
  142. 1.复制并修改建库应答文件
  143.  
  144. 复制应答文件
  145.  
  146. $cp -R /home/oracle/database/response/dbca.rsp /home/oracle/database/response/my_dbca.rsp
  147.  
  148. 修改应答文件
  149.  
  150. $vim /home/oracle/database/response/my_dbca.rsp
  151. 修改以下项
  152. OPERATION_TYPE = "createDatabase"
  153. GDBNAME = "orcl11g"
  154. SID = "orcl"
  155. SYSPASSWORD = "OraPwd11"
  156. SYSTEMPASSWORD = "OraPwd11"
  157. DATAFILEDESTINATION = /app/data/oradata
  158. RECOVERYAREADESTINATION = /app/data/oradata_back
  159. SYSDBAUSERNAME = "system"
  160. SYSDBAPASSWORD = "OraPwd11"
  161. #以上2项可选
  162. INSTANCENAME = "orcl11g"
  163. CHARACTERSET = "ZHS16GBK" #按需求设置,建议使用UTF-8
  164. NATIONALCHARACTERSET= "" #可选 "UTF8" or "AL16UTF16" 建议UTF-8
  165. TOTALMEMORY = "5120" #Oracle使用的最大内存,单位M建库
  166.  
  167. 修改好的应答文件,保存在 /vagrant/zhs16gbk/dbca.rsp 文件中,可直接使用。
  168.  
  169. 2.使用dbca静默建库
  170.  
  171. $dbca -silent -responseFile /vagrant/zhs16gbk/dbca.rsp
  172.  
  173. #### 配置监听
  174.  
  175. 1.使用netca静默方式创建监听
  176.  
  177. $netca /silent /responsefile /vagrant/zhs16gbk/netca.rsp
  178. 执行完成会在 $ORACLE_HOME/network/admin目录下生成sqlnet.ora和listener.ora两个文件。
  179.  
  180. 2.注册sid
  181.  
  182. vim $ORACLE_HOME/network/admin/listener.ora
  183. LISTENER =
  184. (DESCRIPTION_LIST =
  185. (DESCRIPTION =
  186. (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  187. (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  188. )
  189. )
  190. 之前添加以下内容:
  191. SID_LIST_LISTENER =
  192. (SID_LIST =
  193. (SID_DESC =
  194. (SID_NAME = orcl)
  195. (ORACLE_HOME = /app/server/oracle/product/11.2.0/db_1)
  196. (PROGRAM = extproc)
  197. )
  198. )
  199. 3.执行`$lsnrctl reload`重启监听
  200.  
  201. 4.编辑 `/etc/oratab` 把 `orcl11g:/export/servers/oracle/11.2.0:N`的‘N’,改为‘Y’,这样就可以通过`dbstart`启动此实例,也可以通过`dbshut`关闭此实例了。
  202.  
  203. ## 测试
  204.  
  205. 1.查看监听状态
  206.  
  207. $lsnrctl status
  208. 类似以下返回,说明监听状态正常
  209. Service "ORCL" has 1 instance(s).
  210. Instance "orcl11g", status UNKNOWN, has 1 handler(s) for this service...
  211. Service "db1" has 1 instance(s).
  212. Instance "orcl11g", status READY, has 1 handler(s) for this service...
  213. Service "orcl11gXDB" has 1 instance(s).
  214. Instance "orcl11g", status READY, has 1 handler(s) for this service...
  215.  
  216. 2.sqlplus连接测试
  217.  
  218. $export $ORACLE_SID=orcl11g
  219. $sqlplus / as sysdba
  220. 正常登陆说明实例正常启动。
  221.  
  222. ## 自启动脚本
  223.  
  224. 加入 /etc/init.d/oracledb 文件:
  225.  
  226. #!/bin/sh -e
  227.  
  228. # chkconfig: 3 56 10
  229. # description: Oracle 11g custom start/stop script
  230.  
  231. DAEMON=oracle
  232. ORACLE_HOME=/app/server/oracle/product/11.2.0/db_1
  233. ORACLE_OWNER=oracle
  234.  
  235. restart() {
  236. stop
  237. start
  238. }
  239.  
  240. case $1 in
  241. 'start')
  242. su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/lsnrctl start"
  243. su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/dbstart ${ORACLE_HOME}"
  244. #su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/emctl start dbconsole"
  245. #su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/isqlplusctl start"
  246. ;;
  247. 'stop')
  248. #su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/isqlplusctl stop"
  249. #su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/emctl stop dbconsole"
  250. su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/dbshut ${ORACLE_HOME}"
  251. su - ${ORACLE_OWNER} -c "${ORACLE_HOME}/bin/lsnrctl stop"
  252. ;;
  253. restart)
  254. restart
  255. ;;
  256. *)
  257. echo "Usage: $0 {start|stop}"
  258. exit
  259. ;;
  260. esac
  261.  
  262. exit $?
  263.  
  264.  
  265. 加入自动启动:
  266. $ sudo chkconfig --add oracledb
  267.  
  268. ## 文档约定
  269.  
  270. #开头的命令 说明需要使用root用户执行
  271. $开头的命令 说明需要用oracle用户执行
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement