Chinaunix首页 | 论坛 | 博客
  • 博客访问: 108361
  • 博文数量: 22
  • 博客积分: 1415
  • 博客等级: 上尉
  • 技术积分: 245
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-10 12:18
文章分类

全部博文(22)

文章存档

2017年(3)

2011年(1)

2010年(10)

2009年(1)

2008年(7)

我的朋友

分类: Oracle

2010-05-07 19:34:22

Oracle 10g Linux下的安装

内容均来自互联网,经本人亲自实践,对通不过的地方进行了修正。
首先我自己的linux内核版本是
[redhat@redhat ~]$ uname -r
2.6.18-128.el5
我的redhat版本是Linux Server release 5.3 如下所示:
[redhat@redhat ~]$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.3 (Tikanga)

接下来开始安装oracle 10g. 从官方网站上下载的文件名是   10201_database_linux32.zip
我把它放到/opt/tools目录下面。
首先解压数据库程序:
解压文件
解压文件命令:  unzip 10201_database_linux32.zip
[root@redhat tools]# unzip 10201_database_linux32.zip
解压后得到一个文件名称是database的文件。这个文件是oracle程序文件。


接着修改 Hosts文件
/etc/hosts 文件中包含一个完整合法的服务器名

我自己的host文件修改后的结果是:
127.0.0.1       localhost
192.168.1.132 redhat

或者在/etc/sysconfig/network文件下修改主机名
将前面对内容都加#注释掉。然后重启系统。
接着设置内核参数
/etc/sysctl.conf中添加以下行:
#kernel.shmall = 2097152
#kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
#fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144

运行下面的命令应用以上OS参数
/sbin/sysctl -p
[root@redhat ~]# sysctl -p
接着修改如下内容:
添加以下行到/ect/security/limits.conf文件中
*               soft    nproc   2047
*               hard    nproc   16384
*               soft    nofile 1024
*               hard    nofile 65536

如果/etc/pam.d/login文件中没有以下行,则添加以下内容:
session    required     /lib/security/pam_limits.so

修改/etc/selinux/config文件来关闭linux防火墙,确保SELINUX设置如下:
SELINUX=disabled
配置文件的修改到此结束。

2
检查安装包
依据官方的安装文档要求,系统上必须具有下面的软件包:
   binutils-2.15.92.0.2      
安装  
   compat-db-4.1.25-9     
没安装
   compat-libstdc++-296-2.96-132.7.2   
已安装
   control-center-2.8.0-12 
已安装
   gcc-3.4.3   
已安装
   gcc-c++-3.4.3  
已安装
   glibc-2.3.4    
已安装
   glibc-common-2.3.4    
已安装
   gnome-libs-1.4.1.2.90-44.1   
系统里没有这个文件
   libstdc++-3.4.3-22.1     
已安装
   libstdc++-devel-3.4.3-22.1  
已安装
   make-3.80-5    
已安装
   pdksh-5.2.14-30    
没这个文件
   sysstat-5.0.5-1    
没安装
   xscreensaver-4.18  
没这个文件
   libXp-1.0.0-8.i386.rpm  
没安装
   openmotif22-2.2.3-18.i386.rpm   
没安装
   compat-db-4.2.52-5.1.i386.rpm   
没安装
   compat-gcc-34-3.4.6-4.i386.rpm   
没安装
   compat-gcc-34-c++-3.4.6-4.i386.rpm  
没安装
   compat-libstdc++-33-3.2.3-61.i386.rpm  
已安装
   libaio-0.3.106-3.2.i386.rpm  
已安装

RedHatEL 5来说,需要以下包(按顺序安装):

1.      Kernel-header-2.6.18-128.wl5.i386.rpm
   
2.      glibc-headers-2.5-34.i386.rpm

3.      glibc-devel-2.5-24.i386.rpm 

4.      glibc-2.5-34.i386.rpm

5.      libaio-0.3.106-3.2.i386.rpm

6.      libgomp-4.3.2.7-7.el5.i386.rpm

7.      l
ibXp-1.0.0-8.1.el5.i386.rpm           l
8.      openmotif-2.3.1-2.el5.i386.rpm
      
2     
9.      compat-gcc-34-3.4.6-4.i386.rpm
      3
10.   compat-gcc-34-c+-3.4.6-4.i386.rpm
    4
11   compat-db-4.2.52-5.1.i386.rpm      
        5
12.   compat-gcc-34-g77-3.4.6-4.i386.rpm       6


按照顺序把上面的包安装完成即可!

添加组和用户
groupadd oinstall
groupadd dba 
useradd -g oinstall -G dba oracle
–G参数的作用是其他组的成员)
passwd oracle
检查内存和磁盘
检查内存情况
# grep MemTotal /proc/meminfo
# grep SwapTotal /proc/meminfo
 
检查磁盘情况
#df -h
建立安装目录
建立oracle安装目录
#mkdir -p /u01/app/oracle/product/10.2.0/db_1
#chown -R oracle:oinstall /u01/
# chmod -R 775 /u01/app/oracle

mkdir -p /oracdata/oracle/product/10.2.0/db_1
chown -R oracle:oinstall /oracdata/
chmod -R 775 /oracdata/oracle/
版本信息
因为默认rhel5.1不支持10.2,0.1,所以要修改一些参数
编辑/etc/redhat-release文件替换现在的版本信息(Red Hat Enterprise Linux Server release 5.3 (Tikanga)  可以把这里的5.3改为4即可。
 


           也可以通过修改安装文件oraparam.ini,添加redhat-5(二者选一即可)这里本人没有验证。
# vi /10201_database_linux32/database/install/oraparam.ini
### #[Certified Versions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
Oracle
用户环境变量
oracle用户登陆,在.bash_profile文件尾添加以下行:
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
 
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=TSH1; export ORACLE_SID 
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
 
if [ $USER = "oracle" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
 else
    ulimit -u 16384 -n 65536
 fi
fi
环境变量修改后,必须重启让其生效,也可以使用如下命令:

[oracle@redhat ~]$source .bash_profile,最好重启。

ORACLE_SID=TSH1; export ORACLE_SID,要把脚本里面的TSH1为自己的实例名。这里很重要!

二、开始安装

在执行命令./runInstaller时,会发现菜单栏是乱码,这是退出安装,执行一个命令:

[oracle@redhat database]$export LC_CTYPE=en_US这个是临时更改用户语言环境,重登录后会还原为先前的。     

这个命令的作用是在图形化界面下安装oracle时确保字符不是乱码。

这个命令执行后立即生效。

接下来会出现oracle的图形安装界面默认路径是:

/u01/app/oracle/product/10.2.0/db_1

之后时enter the full path of the inventory directory

 

当安装要求安装完毕之后,需要如下操作:

[oracle@redhat database]$ netca

 

[root@localhost 10.2.0]#cd /u01/app/oracle/product/10.2.0/db_1

[root@localhost 10.2.0]# ./root.sh

这个命令在创建了监听之后就可以进行了。这里做事为了避免在创建数据库时出错。

[oracle@redhat database]$dbca ,建立数据库。

 

安装完之后17.安装完成后,恢复语言环境以及版本信息

#export LC_CTYPE=zh_CN.UTF-8

#vi /etc/redhat-release

Red Hat Enterprise Linux Server release 5.3 (Tikanga)

 

安装完成后重启机子

 

 

四、后续

1.安装完成后,首先应该启动监听器。

监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用OEMiSQL*PLUS,必须先启动监听器。

[oracle@TSM54-Test database]$ lsnrctl start

[oracle@TSM54-Test database]$ lsnrctl stop

2.使用Oracle Enterprise Manager 10g进行数据库控制

启动和停止OEM的命令为:

[oracle@TSM54-Test database]$emctl start dbconsole

[oracle@TSM54-Test database]$emctl stop dbconsole

web浏览器中,输入:

(如果服务器没有进行DNS解析,则可以用IP地址)

用户名:SYS

口令:<安装过程中建立的口令>

连接为:SYSDBA

3.使用iSQL*Plus访问数据库

启动和停止iSQL*Plus命令:

[oracle@TSM54-Test database]$isqlplusctl start

[oracle@TSM54-Test database]$isqlplusctl stop

iSQL*Plus是历史悠久的SQL*Plus交互式工具的基于web的版本,用于访问数据库。要使用iSQL*Plus,请单击OEM控制台相关连接部分中的iSQL*Plus链接,或将浏览器指向安装过程中提供的iSQL*Plus URL

web浏览器中,输入:

用户名:SYSTEM

口令:<安装过程中创建的口令>

连接标识:orcl

 

4.启动和停止数据库

启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Plus,如下所示:

启动:

$ sqlplus

SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:27:48 2004

Copyright (c) 1982, 2004, Oracle.All rights reserved.

Enter user-name:/ as sysdba

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area  188743680 bytes

Fixed Size                   778036 bytes

Variable Size             162275532 bytes

Database Buffers           25165824 bytes

Redo Buffers                 524288 bytes

Database mounted.

Database opened.

SQL> exitShutdown:

$ sqlplus

SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:25:55 2004

Copyright (c) 1982, 2004, Oracle.All rights reserved.

Enter user-name:/ as sysdba

Connected to:

Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> exit

五、卸载ORACLE

1. 运行 $ORACLE_HOME/bin/localconfig delete

2. rm -rf $ORACLE_BASE/*

3. rm -f /etc/oraInst.loc /etc/oratab

4. rm -rf /etc/oracle

5. rm -f /etc/inittab.cssd

6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv

7. 删除oracle用户和组。

注:卸载方法是来自google。没有验证。

 

5. 编写开机启动Oracle10G的脚本
为了方便管理,可以写一个启动脚本ora10g
root身份进入,编写以下脚本:


#!/bin/bash
#
# chkconfig: 2345 91 19
# description: starts the oracle listener and instance
status() {
pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}

'`
if [ "X$pid" = "X" ]
then
echo "oracle10g is not running."

exit 1
else
echo "oracle10g is running."

exit 0
fi
}
case "$1" in
start)
#startup the listener and instance
echo -n "oracle begin to startup: "
su - oracle -c "lsnrctl start"
su - oracle -c dbstart
echo "oracle10g started"
;;
stop)
# stop listener, apache and database
echo -n "oracle begin to shutdown:"
su - oracle -c "lsnrctl stop"
su - oracle -c dbshut
echo "oracle10g shutdowned"
;;
reload|restart)
$0 stop
$0 start
;;
'status')
status
;;
*)
echo "Usage: ora10g [start|stop|reload|restart]"
exit 1
esac
exit 0

存为oracle10g后,然后
chmod 755 oracle10g
赋予其执行权限。

/etc/rc.d/init.d里建立oracle10g这个文件。然后将其拷贝到 /u01/app/oracle/product/10.2.0/db_1/bin/目录下。即可在以后以root身份运行

service oracle10g start

如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:
chkconfig --level 2345 oracle10g on
当这里修改之后就可以开机启动了。
 
 Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.

解决:

在.bash_profile 加了个export JAVA_OPTS=-Djava.awt.headless=true


 Installer /tmp/OraInstall2017-03-21_11-42-59AM. 请稍候...[oracle@zkq database]$ Exception in thread "main" java.lang.UnsatisfiedLinkError: /tmp/OraInstall2017-03-21_11-42-59AM/jre/1.4.2/lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory

发现缺包[libawt.so: libXt.so.6]导致,找了半天并确定缺少下边的安装包

[root@rhl6 Packages]# yum install libXt.i686 libXtst.i686

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