oracle的克隆

  1. oracle on linux安装多台服务器时可以采用一次安装副本多台克隆即可,简单快速.  
  2. **************************************************************  
  3. 1、检查下列包是否安装  
  4. **************************************************************  
  5.   
  6. yum -y install  gcc gcc-c++ make binutils compat-libstdc++-33 compat-libcap1 \  
  7. elfutils-libelf elfutils-libelf-devel glibc  glibc-devel glibc-common  \  
  8. libaio libaio-devel libgcc libstdc++ libstdc++-devel  sysstat   expat \  
  9. ksh unixODBC unixODBC-devel    
  10.   
  11.   
  12.   
  13. --配置系统  
  14. # grep MemTotal /proc/meminfo  
  15. MemTotal:      4946772 kB  
  16.   
  17.   
  18. # grep SwapTotal /proc/meminfo  
  19. SwapTotal:    12289716 kB  
  20.   
  21.   
  22.   
  23. # df -h  
  24. Filesystem            Size  Used Avail Use% Mounted on  
  25. /dev/sda2              17G  2.8G   14G  18% /  
  26. /dev/sda1            1012M   40M  921M   5% /boot  
  27. none                  891M     0  891M   0% /dev/shm  
  28. /dev/hdc              192M  192M     0 100% /media/cdrom  
  29.   
  30.   
  31.   
  32.   
  33. **************************************************************  
  34. 2.参数修改  
  35. **************************************************************  
  36.   
  37. 1.设置需要的IP  
  38.   
  39.   
  40. 2、修改host文件  
  41. 在/etc/hosts文件中添加一个全限定域名,如:  
  42.   
  43. vi /etc/hosts  
  44.   
  45. 192.168.50.180  vp01  vp01.vpay.com  
  46. 192.168.50.190  vp02  vp02.vpay.com  
  47.   
  48.   
  49.   
  50. 3. 查看修改结果  
  51.   
  52. hostname  
  53.   
  54. cat /etc/hosts | grep `eval hostname`  
  55.   
  56.   
  57.   
  58.   
  59. 4、设置核心参数  
  60.  1、在/etc/sysctl.conf文件中加入下列行:  
  61. #vi /etc/sysctl.conf  
  62.   
  63.   
  64. fs.suid_dumpable = 1  
  65. fs.aio-max-nr = 1048576  
  66. fs.file-max = 6815744  
  67. kernel.shmmni = 4096  
  68. # semaphores: semmsl, semmns, semopm, semmni  
  69. kernel.sem = 250 32000 100 128  
  70. net.ipv4.ip_local_port_range = 9000 65500  
  71. net.core.rmem_default=4194304  
  72. net.core.rmem_max=4194304  
  73. net.core.wmem_default=262144  
  74. net.core.wmem_max=1048586  
  75.   
  76.   
  77.   
  78.   
  79.   
  80.   
  81.  5、运行下列命令改变核心参数:  
  82. #/sbin/sysctl -p  
  83.   
  84.   
  85.  6、在/etc/security/limits.conf文件中加入下列行:  
  86.   
  87. # vi /etc/security/limits.conf  
  88.   
  89. oracle           soft    nproc   2047  
  90. oracle           hard    nproc   16384  
  91. oracle           soft    nofile  1024  
  92. oracle           hard    nofile  65536  
  93. oracle           hard    stack   10240  
  94.   
  95.   
  96.   
  97.   
  98.   
  99. 7、在/etc/pam.d/login文件中加入下列行:  
  100.   
  101. # vi +13 /etc/pam.d/login  
  102.   
  103. session    required     pam_limits.so  
  104.   
  105.   
  106.   
  107.   
  108. **************************************************************  
  109. 3.创建下列组和用户  
  110. **************************************************************  
  111.   
  112. groupadd oinstall  
  113. groupadd dba  
  114. groupadd oper  
  115. useradd -g oinstall -G dba,oper -d /home/oracle -m oracle  
  116. passwd oracle  
  117.   
  118. 123  
  119.   
  120.   
  121.   
  122.   
  123. **************************************************************  
  124. 4.设置oracle用户的环境变量  
  125. **************************************************************  
  126.   
  127. 用oracle登录在:/home/oracle/.bash_profile文件末尾,注意把其中ORACLE_SID换成自己的实例名:  
  128.   
  129. # vi /home/oracle/.bash_profile  
  130.   
  131. 也可以   
  132. #su - oracle  
  133.   
  134. #vi .bash_profile  
  135.   
  136. 增加下列内容:  
  137.   
  138. # Oracle Settings  
  139. TMP=/tmp;  
  140. export TMP  
  141. TMPDIR=$TMP;  
  142. export TMPDIR  
  143.   
  144. ORACLE_BASE=/u01/app/oracle;  
  145. export ORACLE_BASE  
  146. ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1;  
  147. export ORACLE_HOME  
  148. ORACLE_SID=jinri;  
  149. export ORACLE_SID  
  150. ORACLE_TERM=xterm;  
  151. export ORACLE_TERM  
  152. PATH=/usr/sbin:$PATH;  
  153. export PATH  
  154. PATH=$ORACLE_HOME/bin:$PATH;  
  155. export PATH  
  156.   
  157. LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;  
  158. export LD_LIBRARY_PATH  
  159. CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;  
  160. export CLASSPATH  
  161. #LD_ASSUME_KERNEL=2.4.1;  
  162. export LD_ASSUME_KERNEL  
  163.   
  164. #set language  
  165. NLS_LANG="SIMPLIFIED CHINESE"_CHINA.AL32UTF8  
  166. export  NLS_LANG  
  167. EDITOR=vi  
  168. export EDITOR  
  169.   
  170.   
  171.   
  172. if [ $USER = "oracle" ]; then  
  173. if [ $SHELL = "/bin/ksh" ]; then  
  174. ulimit -p 16384  
  175. ulimit -n 65536  
  176. else  
  177. ulimit -u 16384 -n 65536  
  178. fi  
  179. fi  
  180.   
  181.   
  182. alias  oratrace="cat   $ORACLE_BASE/diag/rdbms/$ORACLE_SID/$ORACLE_SID/trace/alert_jinri.log"  
  183. alias  oradata="cd $ORACLE_BASE/oradata/$ORACLE_SID"  
  184. alias  oranetwork="cd $ORACLE_HOME/network/admin"  
  185. alias topc='ps -e -o pcpu,pid,user,tty,args | sort -n -k 1 -r | head'  
  186. alias topm='ps -e -o pmem,pid,user,tty,args | sort -n -k 1 -r | head'  
  187.   
  188.   
  189.   
  190. ----新建必要的数据目录  
  191.   
  192. #mkdir /u01/backup/  && chown -R   oracle.oinstall  /u01/backup/  
  193.   
  194. # mkdir /data/ctl  
  195.   
  196. # chown -R   oracle.oinstall /data/ctl/  
  197.   
  198. **************************************************************  
  199. 5.副本克隆安装数据库  
  200. **************************************************************  
  201.   
  202. --1.vp01正常关闭数据库  
  203.   
  204.   
  205. [oracle@vp01 20760982]$ sqlplus / as sysdba  
  206.   
  207. SQL*Plus: Release 11.2.0.4.0 Production on 星期一 9月 28 18:27:13 2015  
  208.   
  209. Copyright (c) 1982, 2013, Oracle.  All rights reserved.  
  210.   
  211.   
  212. 连接到:   
  213. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production  
  214. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
  215.   
  216. SQL> shutdown immediate  
  217. 数据库已经关闭。  
  218. 已经卸载数据库。  
  219. ORACLE 例程已经关闭。  
  220. SQL> exit  
  221.   
  222.   
  223.   
  224. [oracle@vp01 20760982]$ lsnrctl stop  
  225.   
  226. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 28-9月 -2015 18:27:39  
  227.   
  228. Copyright (c) 1991, 2013, Oracle.  All rights reserved.  
  229.   
  230. 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))  
  231. 命令执行成功  
  232.   
  233.   
  234.   
  235.   
  236. ---2.vp01打包  
  237.   
  238. $cd /u01/  
  239. $tar czvf oracle.tar.gz /u01/  
  240.   
  241.   
  242. ---3.vp01将oracle安装副本压缩包传递到vp02  
  243.   
  244. scp -r -p -P 16335 /u01/oracle.tar.gz  oracle@10.174.157.163:/u01/backup/  
  245.   
  246.   
  247. ---4.vp02解压修改权限  
  248.   
  249.   
  250. #chown -R   oracle.oinstall /u01/backup/oracle.tar.gz  
  251.   
  252. #cd /u01/backup/  
  253.   
  254. # tar zxvf oracle.tar.gz -C /u01/  
  255.   
  256.   
  257. --移动目录到上一层  
  258. # cd /u01/u01/ && mv app/  ../ && ls /u01/u01/ &&  ls /u01/app/   
  259.   
  260.   
  261. #rm -rf /u01/u01  
  262.   
  263.   
  264. ---控制文件有个副本在不同目录  
  265.   
  266. #cp /u01/app/oracle/oradata/jinri/control01.ctl  /data/ctl/control03.ctl  
  267.   
  268.   
  269. #chown -R   oracle.oinstall  /u01/app/  
  270. #chown -R   oracle.oinstall /data/ctl/  
  271.   
  272. --relink  
  273. $cd  
  274. $relink all  
  275. writing relink log to: /u01/app/oracle/product/11.2.0/dbhome_1/install/relink.log  
  276.   
  277.   
  278.   
  279.   
  280.   
  281. ----5.修改监听解析文件  
  282.   
  283. $ cat   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora   
  284. # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora  
  285. # Generated by Oracle configuration tools.  
  286. SID_LIST_LISTENER =  
  287. (SID_LIST =    
  288.   (SID_DESC =  
  289.   (GLOBAL_DBNAME = jinri)  
  290.   (SID_NAME = jinri)  
  291.   )   
  292. )     
  293.   
  294.   
  295. LISTENER =  
  296.   (DESCRIPTION_LIST =  
  297.     (DESCRIPTION =   
  298.       (ADDRESS = (PROTOCOL = TCP)(HOST = 10.174.157.163)(PORT = 1521))  
  299.     )  
  300.   )   
  301.   
  302. ADR_BASE_LISTENER = /u01/app/oracle  
  303. [oracle@vp02 ~]$   
  304.   
  305.   
  306. #将vp01修改为vp02对应IP  
  307.   
  308.   
  309. $ cat   /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora   
  310. # tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora  
  311. # Generated by Oracle configuration tools.  
  312.   
  313. JINRI =  
  314.   (DESCRIPTION =  
  315.     (ADDRESS = (PROTOCOL = TCP)(HOST = vp02)(PORT = 1521))  
  316.     (CONNECT_DATA =  
  317.       (SERVER = DEDICATED)  
  318.       (SERVICE_NAME = jinri)  
  319.     )  
  320.   )  
  321.   
  322.   
  323.   
  324. -----6.附加oracle主目录  
  325.   
  326.   
  327. cd $ORACLE_HOME/oui/bin  
  328.   
  329.   
  330.   
  331.   
  332. $ $ORACLE_HOME/oui/bin/runInstaller –silent -attachHome -invPrtLoc /u01/app/oraInventory/oraInst.loc  \  
  333. ORACLE_HOME_NAME="OraDb11g_home1" \  
  334. ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1"  
  335.   
  336.   
  337. Starting Oracle Universal Installer...  
  338.   
  339. Checking swap space: must be greater than 500 MB.   Actual 4999 MB    Passed  
  340. The inventory pointer is located at /etc/oraInst.loc  
  341. The inventory is located at /u01/app/oraInventory  
  342. Please execute the '/u01/app/oraInventory/orainstRoot.sh' script at the end of the session.  
  343. 'AttachHome' was successful.  
  344.   
  345.   
  346. #/u01/app/oraInventory/orainstRoot.sh  
  347.   
  348. --注册前  
  349. $ cat /u01/app/oraInventory/ContentsXML/inventory.xml   
  350. <?xml version="1.0" standalone="yes" ?>  
  351. <!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.  
  352. All rights reserved. -->  
  353. <!-- Do not modify the contents of this file by hand. -->  
  354. <INVENTORY>  
  355. <VERSION_INFO>  
  356.    <SAVED_WITH>11.2.0.4.0</SAVED_WITH>  
  357.    <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>  
  358. </VERSION_INFO>  
  359. <HOME_LIST>  
  360. </HOME_LIST>  
  361. <COMPOSITEHOME_LIST>  
  362. </COMPOSITEHOME_LIST>  
  363. </INVENTORY>  
  364.   
  365.   
  366. --注册前  
  367. $ cat /u01/app/oraInventory/ContentsXML/inventory.xml   
  368. <?xml version="1.0" standalone="yes" ?>  
  369. <!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.  
  370. All rights reserved. -->  
  371. <!-- Do not modify the contents of this file by hand. -->  
  372. <INVENTORY>  
  373. <VERSION_INFO>  
  374.    <SAVED_WITH>11.2.0.4.0</SAVED_WITH>  
  375.    <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>  
  376. </VERSION_INFO>  
  377. <HOME_LIST>  
  378. <HOME NAME="OraDb11g_home1" LOC="/u01/app/oracle/product/11.2.0/dbhome_1" TYPE="O" IDX="1"/>  
  379. </HOME_LIST>  
  380. <COMPOSITEHOME_LIST>  
  381. </COMPOSITEHOME_LIST>  
  382. </INVENTORY>  
  383.   
  384.   
  385.   
  386. $ cat /etc/oraInst.loc   
  387. inventory_loc=/u01/app/oraInventory  
  388. inst_group=oinstall  
  389.   
  390.   
  391.   
  392. ----7.分离oracle主目录(需要的时候)  
  393.   
  394.   
  395. $ORACLE_HOME/oui/bin/runInstaller –silent -detachHome -invPrtLoc /u01/app/oraInventory/oraInst.loc  \  
  396. ORACLE_HOME_NAME="OraDb11g_home1" \  
  397. ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1"  
  398.   
  399.   
  400.   
  401. ----8.启动监听文件  
  402.   
  403. $ lsnrctl start  
  404.   
  405. LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 28-9月 -2015 19:30:48  
  406.   
  407. Copyright (c) 1991, 2013, Oracle.  All rights reserved.  
  408.   
  409. 启动/u01/app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: 请稍候...  
  410.   
  411. TNSLSNR for Linux: Version 11.2.0.4.0 - Production  
  412. 系统参数文件为/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora  
  413. 写入/u01/app/oracle/diag/tnslsnr/vp02/listener/alert/log.xml的日志信息  
  414. 监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))  
  415. 监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vp02)(PORT=1521)))  
  416.   
  417. 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))  
  418. LISTENER 的 STATUS  
  419. ------------------------  
  420. 别名                      LISTENER  
  421. 版本                      TNSLSNR for Linux: Version 11.2.0.4.0 - Production  
  422. 启动日期                  28-9月 -2015 19:30:48  
  423. 正常运行时间              0 天 0 小时 0 分 2 秒  
  424. 跟踪级别                  off  
  425. 安全性                    ONLocal OS Authentication  
  426. SNMP                      OFF  
  427. 监听程序参数文件          /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora  
  428. 监听程序日志文件          /u01/app/oracle/diag/tnslsnr/vp02/listener/alert/log.xml  
  429. 监听端点概要...  
  430.   (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))  
  431.   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vp02)(PORT=1521)))  
  432. 监听程序不支持服务  
  433. 命令执行成功  
  434.   
  435.   
  436.   
  437. $ tnsping jinri  
  438.   
  439. TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 28-9月 -2015 19:31:11  
  440.   
  441. Copyright (c) 1997, 2013, Oracle.  All rights reserved.  
  442.   
  443. 已使用的参数文件:  
  444. /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/sqlnet.ora  
  445.   
  446.   
  447. 已使用 TNSNAMES 适配器来解析别名  
  448. 尝试连接 (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = vp02)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = jinri)))  
  449. OK (0 毫秒)  
  450.   
  451.   
  452.   
  453.   
  454.   
  455.   
  456.   
  457. $ sqlplus / as sysdba  
  458.   
  459. SQL*Plus: Release 11.2.0.4.0 Production on 星期一 9月 28 20:17:45 2015  
  460.   
  461. Copyright (c) 1982, 2013, Oracle.  All rights reserved.  
  462.   
  463. 已连接到空闲例程。  
  464.   
  465. SQL> startup  
  466. ORACLE 例程已经启动。  
  467.   
  468. Total System Global Area 3925032960 bytes  
  469. Fixed Size          2259240 bytes  
  470. Variable Size         822085336 bytes  
  471. Database Buffers     3087007744 bytes  
  472. Redo Buffers           13680640 bytes  
  473. 数据库装载完毕。  
  474. 数据库已经打开。  
  475. SQL> select open_mode from v$database;  
  476.   
  477. OPEN_MODE  
  478. --------------------  
  479. READ WRITE