在Linux下安装配置Oracle 11g R2详细过程(在整个过程中是在虚拟机下模拟的,虚拟机磁盘设置成了100GB)

1.Linux环境配置准备

环境:Linux:Redhat Enterprise 6,DB:Oracle 11gR2 X64,Oracle安装到/home/oralce_11目录下。

配置过程如下:(大部分是网上的内容,个人也是按照网上步骤来的)

1) 检查基本需求(对于牛逼的服务器来说,这个肯定是满足要求的,可以跳过)
内存大小
grep MemTotal /proc/meminfo


交换分区大小
grep SwapTotal /proc/meminfo


增加交换分区
创建/home/swap这么一个分区文件。文件的大小是5120000个block,一般情况下1个block为1K,所以这里空间是5G。
dd if=/dev/zero of=/home/swap bs=1024 count=5120000

接着再把这个分区变成swap分区。
mkswap /home/swap


然后把它加到fstab里面
echo "/home/swap swap swap defaults 0 0" >> /etc/fstab


2) 检查软件需求,没有的yum install安装
rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibcglibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh

具体的未安装的有:

binutils-2.20.51.0.2-5.36.el6.x86_64.rpm

compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

elfutils-libelf-0.152-1.el6.x86_64.rpm

elfutils-libelf-devel-0.152-1.el6.x86_64.rpm

glibc-2.12-1.107.el6.x86_64.rpm

glibc-2.12-1.107.el6.i686.rpm

glibc-common-2.12-1.107.el6.x86_64.rpm

glibc-devel-2.12-1.107.el6.x86_64.rpm

gcc-4.4.7-3.el6.x86_64.rpm

gcc-c++-4.4.7-3.el6.x86_64.rpm

libaio-devel-0.3.107-10.el6.x86_64.rpm

libaio-0.3.107-10.el6.x86_64.rpm

libgcc-4.4.7-3.el6.x86_64.rpm

libgcc-4.4.7-3.el6.i686.rpm

libstdc++-4.4.7-3.el6.x86_64.rpm

libstdc++-devel-4.4.7-3.el6.x86_64.rpm

make-3.81-20.el6.x86_64.rpm

sysstat-9.0.4-20.el6.x86_64.rpm

unixODBC-2.2.14-12.el6_3.x86_64.rpm

unixODBC-devel-2.2.14-12.el6_3.x86_64.rpm

package pdksh is not installed

(这里如果出现没有安装的,那么就要把Linux光盘放入,进入Server文件夹,找到对应的RPM包,运行RPM命令来进行安装,如果喜欢图形界面的话,在图像界面也可以通过双击对应的RPM包来安装。需要注意的是在安装libaio-devel unixODBC unixODBC-devel 这3个软件包的时候,除了安装X64的包以为,还要安装i386的包,不能因为是X64的系统,就不装i386的包了。)

注意:

A将磁盘插入,切换用户再操作。如果是用虚拟机,进行以下设置:

B再右击左侧的Red Hat***à可以移动设备à连接,接着就可以看到如下:

C在进入/media目录下进行查看

图形化是的内容如下:

D package中有我们需要的安装包,cd目录中的内容如下:

E安装各种上面没有安装好的rpm

(1):安装binutils-2.20.51.0.2-5.36.el6.x86_64

(2):安装compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

(3):安装elfutils-libelf-0.152-1.el6.x86_64.rpm

(4):安装elfutils-libelf-devel-0.152-1.el6.x86_64.rpm

后面的继续一个个安装好:

F(这里如果出现没有安装的,那么就要把Linux光盘放入,进入Server文件夹,找到对应的RPM包,运行RPM命令来进行安装,如果喜欢图形界面的话,在图像界面也可以通过双击对应的RPM包来安装。需要注意的是在安装libaio-devel unixODBC unixODBC-devel 这3个软件包的时候,除了安装X64的包以为,还要安装i386的包,不能因为是X64的系统,就不装i386的包了。

下面的也要安装上

3)配置内核。
编辑 /etc/sysctl.conf。
将以下内容添加至文件
# Kernel paramaters required by Oracle 11gR1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
4)         要使/etc/sysctl.conf更改立即生效,执行以下命令。
sysctl -p
5)         编辑/etc/security/limits.conf。
添加以下行:
oracle          soft   nproc           2047
oracle          hard   nproc           16384
oracle          soft   nofile          1024
oracle          hard   nofile          65536
6)         编辑/etc/pam.d/login。
添加以下行:
session    required    /lib/security/pam_limits.so
session    required     pam_limits.so

【注意:如果是X64的系统,那么这里就要用 /lib64/security/pam_limits.so,不然系统可能会在服务器上无法登录!】
7)         编辑/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
8)         创建操作系统用户,作为软件安装和支持组的拥有者。
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle    密码设置成为oracle
9)         创建软件安装目录。
mkdir -p /home/oracle_11/app/
chown -R oracle.oinstall /home/oracle_11/
chmod -R 755 /home/oracle_11/
10)     编辑/home/oracle/.bash_profile。要进入/home目录下的oracle目录。


添加以下行:
umask 022
ORACLE_BASE=/home/oracle_11/app
ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1
ORACLE_SID=MYTEST --实例名,根据需要进行修改
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
LANG=C                     --设定此参数避免安装过程出现乱码
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH LANG

原来的配置:

配置改成如下:

如果有时候发现有乱码,这里去掉LANG=C  和 export最后的LANG

11)    在图形界面下(在本机操作或者通过VNC远程操作)以root身份打开另一个终端窗口
--这步至关重要,不执行这步在以oracle用户运行 # ./runInstaller时会启动不了图型安装界面
#xhost +
#xhost + localhost


12)   将下载的Oracle安装文件解压到Linux中,然后安装数据库(/home/oralce目录下:)

*********************************************************************************************************

注意在安装前要把机器的ip地址改成固定的ip地址,即修改vi /etc/sysconfig/network-scripts/ifcfg-eth0中的BOOTPROTO=static,否则报如下错误:

DCHP获取的IP,在安装过程中会造成:
Oracle Net Configuration Assistant failed

必须设置固定IP,如果计算机名称有改动需要需要在/etc/hosts文件中做解析配置。

*********************************************************************************************************

将上面的文件传到Linux下

分别加压这两个包:

运行结果:

下面的是执行Oracle安装。
#su - oracle


cd database/
./runInstaller

13)接下来会出现图形化的安装向导,按照向导一步一步的操作,和Windows下安装Oracle的向导一样,没有太大区别,直到最后安装完成。

A:配置是否更新

B创建并配置数据库:

C选择服务器:

D安装实例

E选择高级安装

F选择语言(中文平台下)

G选择企业级版

H选择默认的安装路径

I选择通用的服务器开发

J设置数据库服务名(这个牢记,默认的服务名是orcl)

K选择字符集

L选择默认:

M配置是否进行默认的备份(不需要,可以使用默认配置)

N设置几个用户名和密码,这里统一用sys/sys

校验环境是否正确:

若中途出现如下错误:

通过搜索博文,发现是说需要装gcc-4.4.7-3.el6.x86_64.rpm,但是装的时候报如下错误:

libmpfr.so.1 is needed by cpp-4.4.4-13.el6.i686
libppl.so.7 is needed by cloog-ppl-0.15.7-1.2.el6.i686
libppl_c.so.2 is needed by cloog-ppl-0.15.7-1.2.el6.i686

是缺了这两个包。
mpfr-2.4.1-6.el6.x86_64.rpm
ppl-0.10.2-11.el6.x86_64.rpm

若再安装gcc-4.4.7-3.el6.x86_64.rpm再次包如下问题:

  1. warning: gcc-4.4.7-4.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
  2. error: Failed dependencies:
  3. cloog-ppl >= 0.15 is needed by gcc-4.4.7-4.el6.x86_64
  4. cpp = 4.4.7-4.el6 is needed by gcc-4.4.7-4.el6.x86_64

说明:

  1. cloog-ppl 需要大于等于 0.15 版本的
  2. cpp 需要 4.4.7-4.el6 版本的

接着:

[root@localhost oracledepents]# rpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpm
warning: cloog-ppl-0.15.7-1.2.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
   1:cloog-ppl              ########################################### [100%]
[root@localhost oracledepents]#

再次安装cpp-4.4.7-4.el6.x86_64.rpm,发现安装上了:

[root@localhost oracledepents]# rpm -ivh cpp-4.4.7-4.el6.x86_64.rpm 
warning: cpp-4.4.7-4.el6.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Preparing...                ########################################### [100%]
   1:cpp                    ########################################### [100%]

如果安装进展到95%,发现报类似如下错误:

进入Detail中的提示的log文件中看一下,可能是你已经装的jdk版本导致的。log日志文件的内容如下:

将你在/etc/profie中配置的jdk参数注释掉:

类似:

然后执行:source /etc/profie命令,接着可以执行到下面的界面中:

O对用户进行管理(放开scott用户,并将这两个用户的密码设置成123456):

点击OK

P执行配置脚本,以超级管理运行这两个脚本(要重新打开一个终端,然后执行下面的脚本)

运行结果:

最后点击安装解界面上的OK,再到close

14 oracle11g-启动和关闭

A确认安装成功

Linux下的Oracle在安装结束后是处于运行状态的。运行top –u oracle可以看到以Oracle用户运行的进程。

B查看oracle的启动进程有哪些

ps –u oracle

C在图形化界面下,运行$ORACLE_HOME/sqldeveloper/sqldeveloper.sh可以出现Oracle自带的免费Oracle管理客户端SQL Developer。

D试着连接刚安装的Oracle,连接成功。

这时需要重启服务器,看服务器重启后,Oracle是否可以正常启动。以Root用户运行reboot命令可以重启Linux,重启完成后,默认情况下Oracle并不像Windows中的Oracle那样注册成服务,随机器一起启动的,所以需要手动敲入命令来启动。

启动方式:以oracle用户登录运行以下语句:

(1)进入sqlplus:

sqlplus /nolog

(2)以sysdba的身份连接到数据库,并启动Oracle数据库引擎:

SQL> conn /as sysdba

SQL> startup

(3)退出sqlplus,运行Listener

SQL> exit

E启动监听服务

$ lsnrctl start

这样数据库的TNS也启动了,可以通过网络连接数据库了。一般情况下就启动这两个就够了,如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:

$ emctl start dbconsole

这样就可以通过https://servername:1158/em/console来访问EM控制台了。

这里我在实际操作中运行sqlplus出现了错误,大致如下:

sqlplus / as sysdba

sqlplus: error while loadingshared libraries: /u01/app/oracle/product/11.1.0/db_1/lib/libnnz11.so: cannotrestore segment prot after reloc: Permission denied

网上也有很多人遇到了这个问题,原来是SELinux在作怪,我采用的解决办法是禁止掉SELinux:

更改/etc/sysconfig/selinux文件的内容为SELINUX=disabled,然后重启服务器。

好像这个办法不是很好,也有说的解决办法是使用chcon命令

示例: chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so

另外我在启动Listener时也报错TNS-12555: TNS:permission denied

后来网上搜了下,发现是oracle用户就无法进入/var/tmp/.oracle文件夹,方法很简单,执行:chmod 777 /var/tmp/.oracle 之后就ok了.

还有,我在启动EM控制台的时候又遇到了错误:Environment variable ORACLE_UNQNAME not defined. Please setORACLE_UNQNAME to database unique name.

设置了这个变量后(运行export ORACLE_UNQNAME=xxxx实例名)后,再启动EM控制台,又出现了新的错误:OC4JConfiguration issue./u01/app/oracle/product/11.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_xxxx not found.没有这个文件?去查了一下,确实是没有这样一个文件存在,怎么办呢?其实很简单,

运行:

emca -config dbcontrol db

根据向导重新配置一下就可以了。

F配置Oracle为开机自启动

虽然说Oracle作为服务器不会经常关机,但是偶尔重启一下,每次都要去手动启动Oracle还是太麻烦了,希望的是能够像在Windows中一样,每次开机的时候自动启动Oracle,只需要将Oracle配置为Linux的服务就可以了。操作如下:

1,以root用户建立/etc/rc.d/init.d/oracle11g脚本文件,内容如下(环境变量设置根据实际情况进行修改):

#!/bin/bash
#
# chkconfig: 35 95 1
# description: init script to start/stop oracle database 11g, TNS listener, EM
#
#
#
# match these values to your environment:

ORACLE_BASE=/home/oracle_11/app
ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/db_1
ORACLE_SID=BRDWDEV
ORACLE_UNQNAME=BRDWDEV
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
LANG=C

export ORACLE_BASE ORACLE_HOME ORACLE_SIDORACLE_UNQNAME PATH LD_LIBRARY_PATH LANG

# see how we are called:
case $1 in
start)
su - oracle<<EOO
lsnrctl start
sqlplus /nolog<<EOS
connect / as sysdba
startup
EOS
emctl start dbconsole
EOO
;;

stop)
su - oracle<<EOO
lsnrctl stop
sqlplus /nolog<<EOS
connect / as sysdba
shutdown immediate
EOS
emctl stop dbconsole
EOO
;;

*)
echo "Usage: $0 {start|stop}"
;;
esac

2,以root用户执行以下命令

chmod 755 /etc/rc.d/init.d/oracle11g

chkconfig --add oracle11g

3,重启服务

service oracle11g stop

service oracle11g start

这样在开关机的时候oracle自动启动和停止。

另外,还有说,需要修改/etc/oratab这个文件,将最后的N改为Y,如下:

xxxxTEST:/home/oracle_11/app/oracle/product/11.2.0/db_1:Y

最后,我们要测试一下这个自启动是否真的有效,重启一下服务器吧,过几分钟后,可以看到客户端可以正常连接到Oracle了。Oracle环境配置成功!

此外还有:

/home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin/ tnsnames.ora

# tnsnames.ora Network ConfigurationFile: /home/oracle_11/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configurationtools.

 

ORCL=(

DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.6.14)(PORT=1521))

(CONNECT_DATA =

(SERVER = SHARED)

(SERVICE_NAME = orcl)

)

)

Redhat linux下安装oracle11r2手册+截图_toto_V1.0相关推荐

  1. 在LINUX下安装 Sybase ASE 11.0.3.3

    在LINUX下安装 Sybase ASE 11.0.3.3 从Sybase的站点上下载两个软件包,笔者下载了11.0.3.3版本,Sybase目前已经推出了ASE11.9.2,由 于11.9.2软件包 ...

  2. 红旗linux hba卡wwn,Redhat Linux下安装HBA卡并查看WWN号

    这次是在真机上的安装,HBA卡的型号是QLA2460. 首先下载Qlogic HBA卡的驱动,上传到tmp目录,解压缩,并进入解压缩目录 [root@redhat tmp]# cd qlafc-lin ...

  3. RedHat Linux 下安装 jdk-7u75-linux-x64.gz,jdk1.7.0_75,jdk1.7步骤

    一.安装 创建安装目录,在/usr/java下建立安装路径,并将文件考到该路径下: # mkdir /usr/java 1.jdk-7u11-linux-i586.bin 这个是自解压的文件,在lin ...

  4. Linux下安装二进制版mysql-8.0.15

    1.添加用户 ## 添加用户组 groupadd mysql ## 添加用户,指定用户home目录 useradd -g mysql mysql -d /data/mysql ## 解压下载的mysq ...

  5. redhat linux下安装oracle10g rac,RedHat 5.5下安装Oracle 10g+RAC

    五.Oracle软件安装及实例安装 软件安装 Host+ Su oracle 建议在执行前先加载一下.bash_profile文件,加载oracle用户的环境变量 ./runInstaller–ign ...

  6. 重装linux之后gcc等下载不了,Redhat linux下安装gcc

    一.安装步骤 1.使用which gcc命令发现gcc没有安装 2.拷贝gcc-3.2.2-5.i386.rpm 尝试安装 说明在这之前还需要先装binutils.cpp.glibc-devel这三个 ...

  7. redhat linux下安装jq和jq的简单应用

    1首先,源码包https://stedolan.github.io/jq/download/ 找到Source tarball for jq 1.5下载下来 图中有写You can build it ...

  8. linux jdk1.7 tomcat mysql_RedHat Linux 下安装JDK 1.7+MySQL 5.0+Tomcat 7.0.27过程

    RedHat Linux 下安装JDK 1.7+MySQL 5.0+Tomcat 7.0.27过程记录: tar -zxvf jdk-7u3-linux-i586.tar.gz /解压gz文件 rpm ...

  9. linux下安装nvm

    linux下安装nvm  As大大 关注 0.3 2017.07.06 11:59* 字数 39 阅读 5811评论 0喜欢 3 github官网 https://github.com/creatio ...

最新文章

  1. SoftPool算法详解
  2. python用for循环求10的因数_python for循环练习(初级)
  3. jstl c:choose、c:when和c:otherwise标签的简单使用介绍
  4. Linux监控命令之 top
  5. MySQL5.5.15_linux下mysql-5.5.15安装详细步骤
  6. 在Word 2007中为公式编号
  7. OpenCV-绘制多边形(fillConvexPoly和fillPoly的区别)
  8. DevExpress XtraGrid网格控件示例四:初始化新建行的单元格
  9. CV学习笔记-推理和训练
  10. 点云能量预测:KPConv点云输入方式
  11. 如何自学c语言更有效率,新手自学C语言提高效率的方法(混精)
  12. android 全局悬浮按钮,Android自定义APP全局悬浮按钮
  13. 阿里云认证有什么用?考试费用高不高?
  14. Eclipse中pep8规范,修改每行字符长度
  15. MIT 6.824 Raft论文精读
  16. unity3d/用户自由改变背景色
  17. 基于sklearn的软硬间隔以及各类核函数的SVM实现
  18. 【破解利器】反汇编工具 and 反编译(Decompilers)
  19. 冒泡算法java代码实现
  20. linux驱动K10运算卡,NVIDIATESLA丽台K20K10C2075C2070运算加速卡

热门文章

  1. 神经网络的损失函数讲解
  2. boost::spirit::karma::real_generator相关的测试程序
  3. boost::pfr::for_each_field相关的测试程序
  4. boost::intrusive::list_base_hook用法的测试程序
  5. boost::log::make_exception_handler用法的测试程序
  6. boost::hana::greater用法的测试程序
  7. boost::geometry::segment_view用法的测试程序
  8. boost::container实现双端队列选项的测试程序
  9. boost::callable_traits添加可变参数的测试程序
  10. Boost:BOOST_VERIFY_MSG扩展的用法测试程序