Chinaunix首页 | 论坛 | 博客
  • 博客访问: 497905
  • 博文数量: 59
  • 博客积分: 4236
  • 博客等级: 上校
  • 技术积分: 755
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-13 13:08
个人简介

六笨哥

文章分类

全部博文(59)

文章存档

2015年(1)

2014年(2)

2013年(4)

2012年(4)

2011年(15)

2010年(5)

2009年(13)

2008年(15)

我的朋友

分类: Oracle

2009-11-05 14:27:11

很多童鞋对64位Linux环境如何安装ORACLE10G都是一个很头痛的问题

首先要说明的是,官方也有相应的文档安装,只要认真阅读官方文档,都可以搞掂Oracel的安装。但是实际过程中,会有一些问题需要解决

下面把安装过程和大家分享一下,以免更多人像我一样花费大量的时间在莫名其妙的问题上

本文档参照了相关说明,旨在结合具体环境说明问题

但水平原因可能还是没有说明白,欢迎大家提意见

第一步
安装RH LINUX AS4

图形化安装,比较简单,为安装ORACLE注意

a.SWAP分区要设的足够大,最好在2G以上

b.安装包含的包要自选,开发包最好都钩上

分区表规划范本

Partition                     空间大小
----------------------------------------------------------------
/boot          512MB
/swap          16GB    swap
一般为实体内存2
/                  20GB
/home           4G
/tmp             8GB
/var             10GB
/u01            36G
/u02            106G
/backup         36G

如果有空间剩余的話,留留着用。

第二步
检查版本和需要的工具

该部分基本没什么问题。

uname -r     //内核版本

 

rpm -q gcc make binutils openmotif glibc //基本软件包,必须需要

rpm -q gcc make binutils openmotif setarch compat-db compat-gcc openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel   

//相关文档记载需要检查这些软件包,但有些是没有的,事实证明也确实是不需要的。

/******************************************
//RHEL AS 4
的发行注记中提到这些软件包已经被删除:

//compat-gcc

//compat-gcc-c++

//compat-glibc

//compat-libstdc++

//compat-libstdc++-devel

//所以他们再也不需要被安装上了。
*********************************************/

grep MemTotal /proc/meminfo   //检查内存
grep SwapTotal /proc/meminfo  //检查交换分区
df -h  //查看硬盘情况

第三步
针对 Oracle 配置 Linux

3.1 创建oracle安装群组和账号

groupadd oinstall

//添加组

groupadd dba
//添加组

useradd -m -g oinstall -G dba oracle

id oracle      //验证

passwd oracle   //设置密码

mkdir -p /u01/app/oracle           //目录

mkdir -p /u02/oradata              //数据库文件目录

chown -R oracle:oinstall /u01/app/oracle/ /u02/oradata/          //目录关系
chmod -R 755 /u01/app/oracle/ /u02/oradata/          //读写权限设置

 

3.2 配置 Linux 内核参数

按照官方说明,应该配置如下参数:

内核参数

调整linux相关参数(root账号)

sysctl.conf
limits.conf
login
profile 

#edit /etc/sysctl.conf file

cp /etc/sysctl.conf /etc/sysctl.conf.old`date +%Y%m%k%M`

#touch /etc/sysctl.conf;chown root:root /etc/sysctl

echo>>/etc/sysctl.conf "#-----add by `date +%c`-----Start"

echo>>/etc/sysctl.conf "kernel.sem = 250 32000 100 128"

echo>>/etc/sysctl.conf "kernel.shmmax = 536870912"

echo>>/etc/sysctl.conf "net.ipv4.ip_local_port_range = 1024 65000"

echo>>/etc/sysctl.conf "#Network Setting"

echo>>/etc/sysctl.conf "net.core.rmem_default=262144"

echo>>/etc/sysctl.conf "net.core.wmem_default=262144"

echo>>/etc/sysctl.conf "net.core.rmem_max=262144"

echo>>/etc/sysctl.conf "net.core.wmem_max=262144"

echo>>/etc/sysctl.conf "#-----add by `date +%c`-----END"

sysctl -p

 

#edit /etc/security/limits.conf file

cp /etc/security/limits.conf /etc/security/limits.conf.old`date +%Y%m%k%M`

echo>>/etc/security/limits.conf "#-----add by `date +%c`-----Start"

echo>>/etc/security/limits.conf " oracle

soft
nproc
16384 "

echo>>/etc/security/limits.conf " oracle
hard
nproc
16384 "

echo>>/etc/security/limits.conf " oracle
soft
nofile
65536 "

echo>>/etc/security/limits.conf " oracle
hard
nofile
65536 "

echo>>/etc/security/limits.conf "#-----add by `date +%c`-----END"

 

#edit /etc/pam.d/login and backup the file

cp /etc/pam.d/login /etc/pam.d/login.old`date +%Y%m%k%M`

echo>>/etc/pam.d/login "#-----add by `date +%c`-----Start"

echo>>/etc/pam.d/login " session
required
/lib/security/pam_limits.so "

echo>>/etc/pam.d/login "#-----add by `date +%c`-----End"

 

#edit /etc/profile and buckup file,append under line to /etc/profile

cp /etc/profile /etc/profile.old`date +%Y%m%k%M`

echo>>/etc/profile "#-----add by `date +%c`-----Start"

echo>>/etc/profile ' if [ $USER = "oracle" ]; then'

echo>>/etc/profile '
if [ $SHELL = "/bin/ksh" ]; then'

echo>>/etc/proflie '
ulimit -p 16384'

echo>>/etc/profile '
ulimit -n 65536
'

echo>>/etc/profile '
else'

echo>>/etc/profile '
ulimit -u 16384 -n 65536
'

 

echo>>/etc/profile '

fi
echo>>/etc/profile ' fi'

echo>>/etc/profile "#-----add by `date +%c`-----End"

 

#after add to profile perform "$ unlimit" command to auth

 

ulimit -a

source /etc/profile

 

3.3 配置ORACLE环境(以下步骤用oracle账号):

cat /home/oracle/.bash_profile

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs

#Oracle Environment
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0
export PATH=$PATH:$ORACLE_HOME/bin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
#export NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5
export NLS_LANG=AMERICAN_AMERICA.UTF8
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORACLE_SID=oracle
export ORACLE_TERM=xterm
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export LD_ASSUME_KERNEL=2.4.1

然后执行

source /home/oracle/.bash_profile

 

3.4.安装oralce

3.4.1.解压安装包

cpio –idmv
< 10201_database_linux_x86_64.cpio

3.4.2.开始安装

可以直接在本地主机上安装,也可通过仿真终端软件(Xmanager)远程安装。

3.4.2.1进入解压后的软件目录后,运行安装命令即可进入安装画面


./runInstaller

3.4.2.2.安装文件路径以及HOME的指定

3.4.2.3. 选择安装类型:企业版,第一次安装可选择只安装软件,以后再单独创建数据

3.4.2.4. Oracle10g自动检查操作系统是否符合安装的条件,当检查有不符的地方会有提示,需检查调整内核参数再重新检查:

3.4.2.5.最后选择部件并检查安装清单,然后点击安装

3.4.2.7.期中要用root账号运行两个脚本,最后安成完成

3.4.3.创建数据库(oracle9i)


 

dbca


 

3.4.4.创建临听器(oracle9i)
netca


 

3.4.5.设成开机自动启动数据库(root账号)


 

/etc/oratab 最后一行


 


sid:/oracle/product/10.2.0.1:N
=>


 


sid:/oracle/product/10.2.0.1:Y


 

/etc/rc.local


 

echo "su - oracle -c 'lsnrctl start'" >> /etc/rc.local


 

echo "su - oracle -c 'dbstart'" >> /etc/rc.local

 

3.4.6.验证安装是否成功
1)验证是否安装成功:
sqlplus system/yourpassword@yoursid
SQL> select * from tab;

2)关闭、启动正常
sqlplus /nolog
SQL> connect /as sysdba
SQL> shutdown immediate
SQL> conn /as sysdba
SQL> startup

3)查看监听器状态
lsnrctl status

 

从10.2.0.1升级到10.2.0.4

10.1.0.X.0 TO 10.2.0.4.0
1. Install 10.2.0.1.0 software
The software can be downloaded from the following link :

: Oracle? Database Installation and Configuration Requirements Quick Reference (8.0.5 to 11.1)
2. Install the 10.2.0.4.0 patchset on top of 10.2.0.1.0 ORACLE_HOME Patchset number is : 6810189
3. Upgrade the database to 10.2.0.4.0
: Different Upgrade Methods For Upgrading Your Database
: Complete checklist for manual upgrades to 10gR2
REFERENCE:
List of fixes included in 10.2.0.4
Known issues and alerts affecting 10.2.0.4
 
升级过程:
1.如果是全新安装的数据库,直接运行补丁包就可以了
      p6810189_10204_Linux-x86.zip
       ./runInstaller
2.如果是已经创建了数据库,并且有应用在上面,则先停止相关应用
再按以下步骤执行:
0)shutdown 数据库,并停止所有oracle相关的服务和stop listener .
    $ isqlplusctl stop
        $ emctl stop dbconsole
        $ lsnrctl stop
注意: 需要停止Distributed Transaction Coordinator服务/iis服务/web publish(www)/;
1)冷备份数据库
2)运行安装补丁程序
3)startup upgrade;   lsnrctl start
   3.1)修改java_pool_size / large_pool_size=150M
4)运行脚本@rdbms/admin/catupgrd.sql
5)shutdown immediate
6)startup
7)运行脚本@rdbms/admin/utlrp.sql;
    #              @rdbms/admin/catalog.sql;
    #             @rdbms/admin/catproc.sql;
8)--察看数据库安装的组件、版本、状态:
     col comp_name format a30
     col version format a30
     col status format a10
     SELECT comp_name, version, status  FROM dba_registry;
PS:
Chmod -R 777 /u01 -->改变权限
Chmod oracle /u01 -->改变文档所有者
When I execute the runInstaller for the patchset it gives me:
Checking operating system version: must be redhat-3, SuSE-9, SuSE-10, redhat-4, redhat-5, UnitedLinux-1.0, asianux-1, asianux-2 or asianux-3
Failed <<<<
I already had set /etc/redhat-release to:
redhat-5
What needs editing is these files:
/etc/issue
/etc/issue.net
/etc/redhat-release
In those files you will put this:
Red Hat Enterprise Linux Server release 5 (Tikanga)
Kernel \r on an \m
"Tikanga" is for 5.0 only If your running 5.1 you need to substitute the name for it. The same applys to also CentOS version 4, you substitute the appropriate line.
After your Oracle DB or Oracle App is installed change them back.
an other way to resolve this is to use the switch
-ignoreSysPrereqs
when starting the installer
 
 
 
$ emctl stop dbconsole

$ isqlplusctl stop

$ lsnrctl stop

 
 
手工删oracle客户端软件

1、删除oraInventory目录,目录位置记录在oraInst.loc文件中

$ more /etc/oraInst.loc
inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall
$ rm -rf /u01/app/oracle/oraInventory

2、删除$ORACLE_HOME目录

$ rm -rf $ORACLE_HOME

3、删除其它oracle文件

$ su -
# rm -f /usr/local/bin/oraenv
rm -f /usr/local/bin/coraenv
rm -f /usr/local/bin/dbhome
# rm -f /etc/oraInst.loc
rm -f /etc/oratab

4、将oracle用户删除(若要重新安装,可以不删除)

# userdel -r oracle

5、将用户组删除(若要重新安装,可以不删除)

# groupdel oinstall

阅读(4256) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~