最近开始学习CentOS使用,做些记录。

参考文献:Cent OS 6_5(x86_64)下安装Oracle 11g

一、硬件要求

1、内存&swap

Minimum:1 GB of RAM
Recommended: 2 GB of RAM or more

检查内存情况

[plain] view plaincopy

 

  1. #grep MemTotal /proc/meminfo
  2. #grep SwapTotal /proc/meminfo

2、硬盘

由于CentOS安装后差不多有4~5G,再加上Oracle等等的安装,所以请准备至少10G的硬盘空间。

检查磁盘情况

#df -h

二、软件

系统平台:CentOS6.5(x86_64)

(我这里安装的是DeskTop版。安装精简版的需要单独yum桌面程序)

Oracle版本:Oracle11g

p13390677_112040_Linux-x86-64_1of7.zip、p13390677_112040_Linux-x86-64_2of7.zip

三、系统安装注意

系统安装时一定要安装桌面模式,否则无法安装oracle,另外请勿开启SELinux,oracle官方不建议使用SELinux,防火墙也请暂时关闭,减少安装时的困扰。为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作。

本文中所描述的系统命令,未经特殊标示,均为“#”代表root权限,“$”代表oracle权限。

四、安装Oracle前的系统准备工作

首先,请先以root账号登入作一些前置设定作业。

1.关闭、防火墙(SELinux临时关闭命令:setenforce 0 防火墙临时关闭命令:service iptables stop)

2.安装依赖包

以下RPM包拷贝到/opt目录下,进行opt目录,执行以下命令。

[plain] view plaincopy

 

  1. #rpm -ivh libstdc++-devel-4.4.7-4.el6.x86_64.rpm
  2. #rpm -ivh mpfr-2.4.1-6.el6.x86_64.rpm
  3. #rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm
  4. #rpm -ivh ppl-0.10.2-11.el6.x86_64.rpm
  5. #rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
  6. #rpm -ivh gcc-4.4.7-4.el6.x86_64.rpm
  7. #rpm -ivh gcc-c++-4.4.7-4.el6.x86_64.rpm
  8. #rpm -ivh compat-libcap1-1.10-1.x86_64.rpm
  9. #rpm -ivhcompat-libstdc++-33-3.2.3-69.el6.x86_64.rpm
  10. #rpm -ivh libaio-devel-0.3.107-10.el6.x86_64.rpm
  11. #rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
  12. #rpm -ivhelfutils-libelf-devel-0.152-1.el6.x86_64.rpm

3.创建用户和组

(1)建立群组oinstall、dba

[plain] view plaincopy

 

  1. #groupadd oinstall
  2. #groupadd dba

(2)新增使用者oracle并将其加入dba群组

[plain] view plaincopy

 

  1. #useradd -m -g oinstall -G dba oracle

(4)测试oracle账号是否建立完成

[plain] view plaincopy

 

  1. #id oracle

(5)建立oracle的新密码

[plain] view plaincopy

 

  1. #passwd oracle

4.将oracle使用者加入到sudo群组中

[plain] view plaincopy

 

  1. #vi /etc/sudoers

找到
root       ALL=(ALL)       ALL 
这行,并且在底下再加入

[plain] view plaincopy

 

  1. oracle       ALL=(ALL)       ALL

输入wq!(由于这是一份只读文档所以需要再加上!)并且按下Enter

5、配置系统内核参数

[plain] view plaincopy

 

  1. #vi /etc/sysctl.conf

修改和添加以下内容:

[plain] view plaincopy

 

  1. fs.aio-max-nr= 1048576
  2. fs.file-max= 6815744
  3. #kernel.shmall= 2097152
  4. #官方文档kernel.shmmax= 536870912,实际软件中需要kernel.shmmax= 980742144
  5. #kernel.shmmax = 980742144
  6. kernel.shmmni= 4096
  7. kernel.sem= 250 32000 100 128
  8. net.ipv4.ip_local_port_range= 9000 65500
  9. net.core.rmem_default= 262144
  10. net.core.rmem_max= 4194304
  11. net.core.wmem_default= 262144
  12. net.core.wmem_max= 1048586
  13. vm.hugetlb_shm_group= 501
  14. #oracle用户组dbaid 为501,以彻底解决ORA-27125错误。
  15. #id oracle

可以看到oracledbaid 501

会有一些与目前的参数重复的,就修改成文件上提供的。

编辑完之后,储存,然后执行:

[plain] view plaincopy

 

  1. #sysctl –p

启用刚刚所做的变更。

6、编辑/etc/security/limits.conf

[plain] view plaincopy

 

  1. #vi /etc/security/limits.conf

添加以下四行

[plain] view plaincopy

 

  1. oracle soft        nproc  2047
  2. oracle  hard       nproc   16384
  3. oracle  soft       nofile  1024
  4. oracle  hard       nofile  65536

7、编辑/etc/pam.d/login

[plain] view plaincopy

 

  1. #vi /etc/pam.d/login

添加以下两行

[plain] view plaincopy

 

  1. sessionrequired /lib64/security/pam_limits.so
  2. session requiredpam_limits.so

8、修改/etc/profile

[plain] view plaincopy

 

  1. #vi /etc/profile

将以下代码新增到profile档案中。

[plain] view plaincopy

 

  1. if [ $USER = "oracle" ]; then
  2. if [ $SHELL = "/bin/ksh"]; then
  3. ulimit -p 16384
  4. ulimit -n 65536
  5. else
  6. ulimit -u 16384 -n 65536
  7. fi
  8. fi

10、创建Oracle安装文件夹以及数据存放文件夹

[plain] view plaincopy

 

  1. #mkdir/opt/oracle
  2. #mkdir /opt/oracle/112
  3. #mkdir/opt/oraInventory
  4. #chown -R oracle:dba /opt/oracle
  5. #chown-R oracle:dba /opt/oraInventory
  6. #chown-R oracle:dba /opt

11、配置Linux主机

检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。

增加以下配置IP地址加主机名称 映射

[plain] view plaincopy

 

  1. 192.168.1.101CentOS-Oracle

(此处前面的192.168.1.101为安装机器的IP地址 CentOS-Oracle为安装机器的主机名称 请各位根据自己的情况填写)

第一阶段到此完毕,接下来,完成这些设定之后,请先注销root账号,并且以oracle账号再次登入系统。

12、配置oracle用户环境变量

[plain] view plaincopy

 

  1. #su oracle
  2. $cd /home/oracle
  3. $ vi .bash_profile

修改并加入以下內容

[plain] view plaincopy

 

  1. ORACLE_BASE=/opt/oracle                    #上面创建的Oracle安装文件夹
  2. ORACLE_HOME=$ORACLE_BASE/112
  3. ORACLE_SID=orcl
  4. LD_LIBRARY_PATH=$ORACLE_HOME/lib
  5. PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
  6. exportORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
  7. #PATH=$PATH:$HOME/bin
  8. #exportPATH

保存后使用如下命令,使设置生效:

[plain] view plaincopy

 

  1. $source /home/oracle/.bash_profile

五、安装Oracle,并进行相关设置

1、解压缩安装文件

将下载的p13390677_112040_Linux-x86-64_1of7.zip、p13390677_112040_Linux-x86-64_2of7.zip放至即将安装oracle的文件夹/opt/oracle

回到终端模式并且进入到oracle文件夹:

[plain] view plaincopy

 

  1. $cd /opt/oracle

解压缩

[plain] view plaincopy

 

  1. $unzip p13390677_112040_Linux-x86-64_1of7.zip
  2. $unzip p13390677_112040_Linux-x86-64_2of7.zip

接着会看到一连串的解压缩动作。

解压缩完成会在同一个文件夹中看到database的文件夹,请进入到database文件夹中:

[plain] view plaincopy

 

  1. $cd database

准备执行数据库安装,如果你的操作系统是中文环境,安装时会出现中文乱码,请使用以下指令

$export LANG=en_US.UTF-8

一定不能少了.UTF-8,否则会提示以下错误:

[plain] view plaincopy

 

  1. [oracle@databasedatabase]$ export LANG=en_US
  2. [oracle@databasedatabase]$ ./runInstaller
  3. ERROR:Unable to convert from "UTF-8" to "ISO-8859-1"for NLS!
  4. redhat-3,SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
  5. /tmp/OraInstall2013-09-06_09-17-04AM.[oracle@database database]$

接着执行(这里建议切换为oracle登录桌面再执行)

$./runInstaller

(下面的问题基本是由于远程工具安装本地安装基本不会出现)

如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:

#export DISPLAY=:0.0

# xhost +

切换回ORACLE用户

$./runInstaller

开始执行安装程序。

最后出现InstallSummary画面,此时只要按下Install按钮,系统即开始安装。

选择“高级安装”,以指定字符集ZH16GBK。

2、安装过程(略)

3、安装完成登录EM控制台

地址:https://db:1158/em

使用SYS、SYSTEM登录验证安装成功。

六、参考

6.1、设置Oracle服务开机自启动

1.修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle自带的dbstart和dbshut才能够发挥作用。

[plain] view plaincopy

 

  1. #vi /etc/oratab
  2. orcl:/opt/oracle/102:Y
  3. #Entries are of the form:
  4. #  $ORACLE_SID:$ORACLE_HOME:<N|Y>:

2.在/etc/init.d/下创建文件oracle,内容如下:

[plain] view plaincopy

 

  1. #vi /etc/init.d/oracle
[plain] view plaincopy

 

  1. #!/bin/bash
  2. # chkconfig: 35 80 10
  3. # description: Oracle auto start-stop script.
  4. #
  5. # Set ORA_HOME to be equivalent to the $ORACLE_HOME
  6. # from which you wish to execute dbstart and dbshut;
  7. #
  8. # Set ORA_OWNER to the user id of the owner of the
  9. # Oracle database in ORA_HOME.
  10. ORA_HOME=/opt/oracle/1<span style="font-family:宋体;">1</span>2
  11. ORA_OWNER=oracle
  12. if [ ! -f $ORA_HOME/bin/dbstart ]
  13. then
  14. echo "Oracle startup: cannot start"
  15. exit
  16. fi
  17. case "$1" in
  18. 'start')
  19. # Start the Listener:
  20. echo "Starting Oracle Listeners ... "
  21. echo "-------------------------------------------------" >> /var/log/oracle
  22. date +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracle
  23. echo "-------------------------------------------------" >> /var/log/oracle
  24. su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracle
  25. echo "Done."
  26. echo "-------------------------------------------------" >> /var/log/oracle
  27. date +" %T %a %D : Finished." >> /var/log/oracle
  28. echo "-------------------------------------------------" >> /var/log/oracle
  29. touch /var/lock/subsys/oracle
  30. # Start the Oracle databases:
  31. echo "Starting Oracle Databases ... "
  32. echo "-------------------------------------------------" >> /var/log/oracle
  33. date +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle
  34. echo "-------------------------------------------------" >> /var/log/oracle
  35. su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracle
  36. echo "Done"
  37. # Start the dbconsole:
  38. echo "Starting Oracle dbconsole  ... "
  39. echo "-------------------------------------------------" >> /var/log/oracle
  40. date +" %T %a %D : Starting Oracle dbconsole as part of system up." >> /var/log/oracle
  41. echo "-------------------------------------------------" >> /var/log/oracle
  42. su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole" >>/var/log/oracle
  43. echo "Done."
  44. echo "-------------------------------------------------" >> /var/log/oracle
  45. date +" %T %a %D : Finished." >> /var/log/oracle
  46. echo "-------------------------------------------------" >> /var/log/oracle
  47. touch /var/lock/subsys/oracle
  48. ;;
  49. 'stop')
  50. # Stop the Oracle dbconsole:
  51. echo "Stoping Oracle dbconsole ... "
  52. echo "-------------------------------------------------" >> /var/log/oracle
  53. date +" %T %a %D : Stoping Oracle dbconsole as part of system down." >> /var/log/oracle
  54. echo "-------------------------------------------------" >> /var/log/oracle
  55. su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole" >>/var/log/oracle
  56. echo "Done."
  57. # Stop the Oracle Database:
  58. echo "Stoping Oracle Databases ... "
  59. echo "-------------------------------------------------" >> /var/log/oracle
  60. date +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracle
  61. echo "-------------------------------------------------" >> /var/log/oracle
  62. su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracle
  63. echo "Done."
  64. echo ""
  65. echo "-------------------------------------------------" >> /var/log/oracle
  66. date +" %T %a %D : Finished." >> /var/log/oracle
  67. echo "-------------------------------------------------" >> /var/log/oracle
  68. # Stop the Oracle Listener:
  69. echo "Stoping Oracle Listeners ... "
  70. echo "-------------------------------------------------" >> /var/log/oracle
  71. date +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracle
  72. echo "-------------------------------------------------" >> /var/log/oracle
  73. su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracle
  74. echo "Done."
  75. rm -f /var/lock/subsys/oracle
  76. ;;
  77. 'restart')
  78. $0 stop
  79. $0 start
  80. ;;
  81. <style type="text/css">P { margin-bottom: 0.08in; direction: ltr; text-align: justify; }</style><style type="text/css">P { margin-bottom: 0.08in; direction: ltr; text-align: justify; }</style>esac

3.改变文件权限

[plain] view plaincopy

 

  1. #chmod 755 /etc/init.d/oracle

4.添加服务

[plain] view plaincopy

 

  1. #chkconfig --level 35 oracle on

5.需要在关机或重启机器之前停止数据库,做一下操作

[plain] view plaincopy

 

  1. #ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle   //关机
  2. #ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle   //重启

6.使用方法

[plain] view plaincopy

 

  1. #service oracle start       //启动oracle
  2. #service oracle stop       //关闭oracle
  3. #service oracle restart     //重启oracle

7.测试

[plain] view plaincopy

 

  1. a. 开机自启动
  2. b. service oracle stop
  3. c. service oracle start
  4. d. service oracle restart

至此,Oracle服务启动&停止脚本与开机自启动设置完毕。

CentOS 6.5下安装Oracle 11g(转)的更多相关文章

  1. (静默安装)Cent OS 6_5(x86_64)下安装Oracle 11g

    Cent OS 6_5(x86_64)下安装Oracle 11g 1 硬件要求   1.1 内存 & swap 物理内存不少于1G 硬盘可以空间不少于5G swap分区空间不少于2G Mini ...

  2. Windows10下安装Oracle 11g 64位的详细步骤

    直接附上我整理后的Word版<Windows10下安装Oracle 11g 64位的详细步骤>下载地址,提取码:9vak. 参考文献: 1.Win10 64位系统下安装Oracle11g详 ...

  3. Redhat Linux 下安装Oracle 11g R2

    能够下载:http://download.csdn.net/detail/ykh554541184/8086647文档方便查阅 官方文档:http://docs.oracle.com/cd/E1188 ...

  4. 在Windows10系统下安装Oracle 11g数据库

    在Windows10系统下安装Oracle 11g数据库 https://blog.csdn.net/wei1992_6/article/details/60054727

  5. Oracle Linux 6.3下安装Oracle 11g R2(11.2.0.3)

    本文主要描写叙述了在Oracle Linux 6.3下安装Oracle 11gR2(11.2.0.3).从Oracle 11g開始,Oracle官方站点不再提供其Patch的下载链接,须要使用Meat ...

  6. solaris下安装oracle 11g与11g rac

    1.To Find Swap, RAM, and OS Version 对于 Solaris 操作系统,查看 Swap, RAM, and OS Version 的方法: swap -l /usr/s ...

  7. 在windows系统下安装oracle 11g

     oracle 11g 安装在windows server 2012 系统下. 最近,需要配置数据库,要求在windows操作系统下,安装oracle 11g 数据库,因为以前没有安装过,所以成功后, ...

  8. 详解Windows Server 2008 R2下安装Oracle 11g

    本篇文章转载 http://www.it165.net/database/html/201212/3385.html 一.安装前的准备工作: 1. 修改计算机名: 服务器的计算机名称对于登录到Orac ...

  9. Centos7下安装ORACLE 11g,弹窗不显示

    Centos7下安装ORACLE 11gR2,弹窗不显示,安装界面显示为灰色. 解决方法:执行安装时带上一下参数 ./runInstaller -jreLoc /etc/alternatives/jr ...

随机推荐

  1. DirectX9.0c SDK学习笔记(一)

    Direct9.0c SDK中提供了一个叫DXviewer的*.x格式文件查看器的源码,代码给出了基于DXUT框架的模型显示接口使用方法, 对于我想编写一个动作捕捉的上位程序是大有助益的. 我的想法是 ...

  2. 四种常见的 POST 提交数据方式 专题

    定义和用法 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码.默认地,表单数据会编码为 "application/x-www-form-urlencoded". ...

  3. 欧几里德和扩展欧几里德详解 以及例题CodeForces 7C

    欧几里德定理: 对于整数a,b来说,gcd(a, b)==gcd(b, a%b)==d(a与b的最大公约数),又称为辗转相除法 证明: 因为a是d的倍数,b是d的倍数:所以a%d==0:b%d==0: ...

  4. UVa 11538 象棋中的皇后

    https://vjudge.net/problem/UVA-11538 题意: n×m的棋盘,有多少种方法放置两个相互攻击的皇后? 思路: 这两个皇后互相攻击的方式只有3种,在同一行,在同一列,或在 ...

  5. java 普通容器,同步容器,并发容器,同步工具

    同步容器,如HashTable,提供独占访问. 并发容器,ConcurrentHashMap,有着更好的并发性能,但是不能独占访问. --putIfAbsent 同步工具: 闭锁:CountDownL ...

  6. php环境重启

    php-fpm mysql nginx 一个lnmp的服务,主要就是靠这三个来维持的. 重启nginx # /usr/local/nginx/sbin/nginx -s stop # /usr/loc ...

  7. Nginx 正则匹配

    目录 Nginx 正则表达式之匹配操作符 过期缓存 针对浏览器 针对文件类型 针对文件夹 判断文件,文件夹 设置某些类型文件的浏览器缓存时间 匹配到所有uri 全局变量 常用正则 Nginx 正则表达 ...

  8. Abstract Factory(抽象工厂)

    意图: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. 适用性: 一个系统要独立于它的产品的创建.组合和表示时. 一个系统要由多个产品系列中的一个来配置时. 当你要强调一系列相关 ...

  9. Java Mongodbjar包下载网址

    http://mongodb.github.io/mongo-java-driver/

  10. 使用Pandas: str.replace() 进行文本清洗

    前段时间参加了Kaggle上的Mercari Price Suggestion Challenge比赛,收获良多,过些时候准备进行一些全面的总结,本篇文章先谈一个比赛中用到的小技巧. 这个比赛数据中有 ...