ITPub博客

首页 > 数据库 > Oracle > Linux x86-64安装oracle 11.2(转)

Linux x86-64安装oracle 11.2(转)

Oracle 作者:dljim 时间:2013-09-21 23:57:05 0 删除 编辑

  安装centos6.3 桌面操作系统(oracle安装需要x server )

  使用root帐号登录linxu系统:并且满足下列条件必须已安装x server

2.1  打开 x terminal 

2.2  如果是远程安装,则在要安装的机器上输入 以下命令来允许 远程操作端可以使用本地的x server图形界面

$ xhost fully_qualified_remote_host_name

2.3  同时如果是远程安装,使用ssh 或者rlogin 或者 telnet 来远程连接比如:

$ telnet fully_qualified_remote_host_name

2.4 如果不是root帐号登录,使用sudo 命令把用户变成root权限  

需要配置/etc/sudoers 文件 username ALL=NOPASSWD:/bin/sh  或者username ALL=NOPASSWD:ALL           

$ sudo sh
password:
#


检查硬件需求

 3.1  内存最小1g,最好2g以上。虚拟内存对应内存关系
         vailable RAM                               Swap Space Required
         Between 1 GB and 2 GB           1.5 times the size of the RAM
         Between 2 GB and 16 GB         Equal to the size of the RAM
         More than 16 GB                        16 GB

检查内存使用情况命令:
# grep MemTotal /proc/meminfo

检查虚拟内存

# grep SwapTotal /proc/meminfo

查看内存使用情况

# free

 

检查系统cpu 是32位的还是64位的必须和 安装软件匹配

# uname -m

3.2    硬盘空间

 /tmp  需要有1g  检查命令

# df -h /tmp

检查安装软件需要的空间:

 

# df -h 

oracle需要的空间,不够的话清理 或者扩大硬盘

Installation Type                               Requirement for Software Files (GB)
Enterprise Edition                            4.35
Standard Edition                              4.22
Installation Type                               Requirement for Data Files (GB)
Enterprise Edition                            1.7
Standard Edition                              1.5

  安装oracle所需软件包支持 检查

4.1  检查oracle 所支持的操作系统()
# cat /proc/version
使用linux版本必须匹配oracle 所支持的。不然装不上,比如11g只支持到 redhat enterprise linux6

4.2   Kernel     linux内核检查

# uname -r

显示:2.6.32-279.el6.x86_64

4.3   所需软件包检查(64位的即可) :检查命令  libgcc  ,gcc

# rpm -aq | grep 软件包名

没有安装的话 用 # rpm -ivh 软件包名

如果联网可以用yum安装 # yum install 软件包名 第一次可能会有的警告:   

Total download size: 17 k
Installed size: 29 k
Is this ok [y/N]: y
Downloading Packages:
compat-libcap1-1.10-1.x86_64.rpm                         17 kB     00:00     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
 Userid : CentOS-6 Key (CentOS 6 Official Signing Key)
 Package: centos-release-6-3.el6.centos.9.x86_64 (@anaconda-CentOS-201207061011.x86_64/6.3)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: 


The following or later version of packages for Oracle Linux 6, and Red Hat
Enterprise Linux 6 must be installed:
binutils-2.20.51.0.2-5.11.el6 (x86_64)                                               默认已安装
compat-libcap1-1.10-1 (x86_64)                                                        yum install compat-libcap1
compat-libstdc++-33-3.2.3-69.el6 (x86_64)                                     [root@localhost ~]# yum install compat-libstdc++-33
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)                                                                    yum install gcc
gcc-c++-4.4.4-13.el6 (x86_64)                                                            yum install gcc-c++
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh                                                                                                            yum install ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)                                            
libstdc++-devel-4.4.4-13.el6.i686                                                  
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)                                               yum install libaio-devel
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

4.4 安装oracle driver驱动

On Oracle Linux 6 and Red Hat Enterprise Linux 6:
unixODBC-2.2.14-11.el6.i686 or later
unixODBC-devel-2.2.14-11.el6 (x86_64) or later                          yum install unixODBC-devel
unixODBC-2.2.14-11.el6 (x86_64) or later                                     yum install unixODBC
unixODBC-devel-2.2.14-11.el6.i686 or later                                 

5 添加 Required Operating System Groups and Users 

# /usr/sbin/groupadd oinstall   //初始用户组
# /usr/sbin/groupadd dba         //次要用户组

# grep oinstall /etc/group   检查有没有添加成功

# /usr/sbin/useradd -g oinstall -G dba oracle

# id oracle   检查有没有添加成功

# passwd oracle  //设置oracle账户的密码

6.1  linux内核参数检查是否符合oracle安装需求(参考oracle安装文档)

semmsl, semmns,semopm, and semmni     # /sbin/sysctl -a | grep sem
shmall, shmmax, and shmmni                       # /sbin/sysctl -a | grep shm
 file-max                                                              # /sbin/sysctl -a | grep file-max
ip_local_port_range                                       # /sbin/sysctl -a | grep ip_local_port_range
 rmem_default                                                   # /sbin/sysctl -a | grep rmem_default
rmem_max                                                        # /sbin/sysctl -a | grep rmem_max
wmem_default                                                 # /sbin/sysctl -a | grep wmem_default
wmem_max                                                     # /sbin/sysctl -a | grep wmem_max
 

因为本机是centos6.3 检查只有3个是符合要求的,其他都必须修改具体添加如下:

vim /etc/sysctl.conf

# add by  2012-12-10
fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152
#kernel.shmmax = 536870912
#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 = 1048576

# add by  2012-12-10

运行下面命令使内核参数修改 起作用

# /sbin/sysctl -p

6.2  查看并检查oracle安装用户可以使用的的资源分配,不足的修改/etc/security/limits.conf 文件

[root@localhost Packages]# su - oracle
[oracle@localhost ~]$ ulimit -Sn
1024
[oracle@localhost ~]$ ulimit -Hn
4096
[oracle@localhost ~]$ ulimit -Su
1024
[oracle@localhost ~]$ ulimit -Hu
14835
[oracle@localhost ~]$ ulimit -Ss
10240
[oracle@localhost ~]$ ulimit -Hs
unlimited

su -   //使用root帐号修改 

vim /etc/security/limits.conf

编辑添加

# add by  2012-12-10

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

# add by  2012-12-10

7 创建oracle 安装目录 和data 目录 //The Oracle base directory must have 3 GB of free disk space, or 4 GB of free disk space
if you choose not to create a separate Oracle data file directory.

[root@localhost ]# mkdir -p /u01/app/
[root@localhost ]# chown -R oracle:oinstall /u01/app
[root@localhost ]# chmod -R 775 /u01/app

8 配置oracle用户环境,修改完成后重启机器,或是当前帐号的当前目录下用命令source .bash_profile 来立即启用。

8.1 设置文件创建默认权限umask为022(centos6.3 默认就是不用修改)

# umask 022

//Set the default file mode creation mask (umask) to 022 in the shell startup file.

8.2 配置图形界面操作权限 echo $DISPLAY查看是否是:0.0  (表示本地有调用图形界面程序权限)没有的话配置环境变量export DISPLAY=IP:0.0

root 设置DISPLAY  一次,xhost +,切换用户后echo $DISPLAY 看是否有值,没有,再在当前用户设置(root用户退到最外面的shell操作)

xhost +localhost

//$ xhost fully_qualified_remote_host_name

8.3 切换到oracle 用户安装, 配置 oracle 用户环境变量

su - oracle

echo $SHELL
echo $DISPLAY

//环境变量配置文件
$ ../.bash_profile

如果是远程安装则执行$ export DISPLAY=local_host:0.0 命令让远程ip可以有执行x server权限

8.4 确保/tmp 目录 有1G 的 空间,如果没有则新建一个文件目录在环境变量里面配置成TMP

df -h /tmp                         //查询/tmp磁盘空间 是否有1G

创建一个tmp文件目录

sudo mkdir /mount_point/tmp
$ sudo chmod a+wr /mount_point/tmp
# exit
环境变量配置 .bash_profile
$ TMP=/mount_point/tmp
$ TMPDIR=/mount_point/tmp
$ export TMP TMPDIR

8.5 配置oracle 环境变量使用oracle用户 编辑 .bash_profile

ORACLE_BASE=/u01/app/oracle
ORACLE_SID=orcl                                                                                         //sid

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1          //后面的oracle自动启动脚本,批处理命令方便运行

NLS_LANG=AMERICAN_AMERICA.AL32UTF8                              //EXP 导出命令可能用到,客户端连接字符集设置
PATH=$PATH:$HOME/bin
export ORACLE_BASE ORACLE_SID ORACLE_HOME NLS_LANG PATH
上面的ORACLE_BASE根目录是上面早先创建的,解压后的安装文件database和等回要安装的oracle都是/u01/app下面的子目录

等回安装的时候都指定到这里,ORACLE_SID 是数据库名最好不要超过5个字符

8.6 删除变量操作:

$ unset ORACLE_HOME
$ unset TNS_ADMIN

8.7  ksh 相关配置sqlplus会用到    使用root用户通过 vi 编辑  vim /etc/profile

su -

vim /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.8 使用root用户编辑 /etc/pam.d/login

要使 /etc/security/limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。

查看 /etc/pam.d/login 文件中有:/lib/security/pam_limits.so

vi /etc/pam.d/login  

64位系统为lib64/security/pam_limits.so
32位系统为/lib/security/pam_limits.so

session    required     /lib64/security/pam_limits.so

#session    required     /lib/security/pam_limits.so
#session    required     pam_limits.so

上面的步骤做完最好重启一下,有些变量要重启才有作用

9 解压 安装包 开始安装   cksum linux.x64_11gR2_database_1of2.zip

 

   
Oracle Database 11g Release 2 (11.2.0.1.0) for Linux x86-64
  linux.x64_11gR2_database_1of2.zip(1,239,269,270 bytes) (cksum - 3152418844)
  linux.x64_11gR2_database_2of2.zip(1,111,416,131 bytes) (cksum - 3669256139)

 

unzip linux.x64_11gR2_database_1of2.zip &>unzip1.log

unzip linux.x64_11gR2_database_2of2.zip &>unzip2.log

unzip p8670579_112010_LINUX.zip    //oracle 补丁先解压后面可能要用到 不一定,本人没有用到

mv database /u01/app

mv 8570579 /u01/app

cd /u01/app

chown -R oracle:oinstall database/

chown -R oracle:oinstall 8570579/

10 切换到su - oracle 用户 

su - oracle

cd /u01/app/database

#此处注意,由于是英文安装环境,需要LANG的支持,否则中文乱码。

xhost +localhost 

export LANG=en_US 中文的是zh_CN.UTF-8

./runInstaller 执行安装(oracle用户,非root)

安装过程中bad CRC错误参照网上解决办法,重新解压oracle安装包

中间会有提示用root用户执行2个 sh 文件。照做./root

 

su - root

cd  /u01/app/oracle/product/11.2.0/dbhome_1

sh  root.sh

cd /u01/app/oraInventory

sh  orainstRoot.sh

安装完以后可以oracle默认是启动的。可以用sqlplus测下或者http://localhost:1158/em 

Linux下的Oracle在安装结束后是处于运行状态的。重启机器后,Oracle不会像在Windows下那样将Oracle添加到Windows服务,在linux下需要手动启动Orcle服务

打开vi .bash_profile并编辑添加下列环境变量方便 shell调用命令

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
$ORACLE_HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

11、启动连接数据库

11.1

以oracle用户下,执行下面的命令
进入sqlplus
$ sqlplus /nolog
以sysdba的身份连接到数据库,并启动Oracle数据库引擎
SQL> conn /as sysdba   如果没有修改vi etc/oratab配置文件orcl:/u01/app/oracle/product/10.2.0/db_1:N  N改成Y

最后的N或者Y表示是否允许dbstart来启动数据库,如果为N则实例不能通过dbstart启动,表现为sqlplus连接实例时显示Connected to an idle instance.如果为Y则实例可以通过dbstart启动,sqlplus连接后数据库即为open状态。
SQL> startup
退出sqlplus,运行Listener
SQL> exit
$ lsnrctl start

$ lsnrctl status

$ lsnrctl stop

$ lsnrctl reload

停止数据库的指令如下:
SQL> shutdown immediate

11、2 如果想用Oracle提供的EM来管理Oracle的话还需要启动EM控制台,运行如下命令:

emctl start dbconsole  //emctl stop dbconsole  

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


11、3 配置监听 和 服务

$ netca                          //配置监听 已有监听可以不用修改

$ netmgr                       //配置database 服务名servicename 

这里注意图形界面工具左边的listeners 里面要配置2项:

1、host 为ip不能为host名字不然局域网可能不能连接: 192.168.1.125

2、上面的下拉框还需配置database service,配置监听哪个实例,数据库给客户端访问的服务名。

工具生成的结果:vi /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/listener.ora

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME = ORCL)
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.125)(PORT = 1521))
  )

ADR_BASE_LISTENER = /u01/app/oracle
下面的文件为客户端访问服务端配置这里可以使用netmgr  配置service name
vi /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora


11.4、关闭防火墙iptables  -vnL  可以看到防火墙的策略

etc/init.d/iptables stop          //停止防火墙服务 ,开机后会恢复

chkconfig iptables off/on          //永久关闭

 
11.5、oracle自动启动配置 

11.5.1、 修改/etc/oratab文件

[root@oracle ~]#vim /etc/oratab   //不改这个oracle数据库不会启动
orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y(N
改为Y)

11.5.2、修改$ORACLE_HOME/BIN/dbstart$ORACLE_HOME/BIN/dbshut

[root@oracle ~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbstart          //自动启动监听哪个数据库
[root@oracle ~]#vim /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbshut

ORACLE_HOME_LISTNER=$ORACLE_HOME 
$1改为$ORACLE_HOME

这样,以后就可以在启动监听之后直接使用dbstart和dbshut命令来启动和关闭数据了

11.5.3、以root用户建立/etc/rc.d/init.d/oradb脚本文件

#!/bin/bash
# chkconfig: 2345 90 10
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl

export  NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export PATH=$PATH:$ORACLE_HOME/bin
ORCL_OWN="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
   echo "Oracle startup: cannot start"
   exit 1
fi
# depending on parameter -- start, stop, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
echo -n "Starting Oracle: "
su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/subsys/oradb
su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORCL_OWN -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su - $ORCL_OWN -c "$ORACLE_HOME/bin/dbshut"
rm -f /var/lock/subsys/oradb
echo "OK"
;;
reload|restart)
$0 stop
$1 start
;;
*)
echo "Usage: 'basename $0' start|stop|restart|reload"
exit 1
esac
exit 0

添加其它用户的执行权限,并添加到开机启动服务

# chmod 755 /etc/rc.d/init.d/oradb
# chkconfig --add oradb

//服务重启chkconfig oradb on/off 永久

# service oradb stop
# service oradb start

导出数据的时候会有异常:exp:00091 应该是客户端的字符集和源数据库字符集设置的不一样

重新设置环境变量.bash_profile

echo $NLS_LANG
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
[oracle@win ~]$ exp dev01/dev01@192.168.1.200_dev01_1521 file=/u01/app/temp20121220.dmp owner=dev01

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23350322/viewspace-1115460/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-02-16