zoukankan      html  css  js  c++  java
  • [干货] 在Redhat Enterprise linux 5上 安装Oracle10g Release 2

    前阵子,由于项目需要,小弟学习了点Oracle,安装数据库是第一步。当时系统时Ubuntu,不管三七二十一,我用系统中自带的安装软件直接安装,可想而知,

    错误连连。网上搜罗了一阵,原来Oracle安装步骤蛮复杂的么?

    小弟最近不知从那儿下载了份安装Orale的帮助文档,试安装了几次Oracle,出问题的次数真的很少。

    下面是这篇文档的内容,分为5个部分,个人感觉还是比较全面的。当然根据你Oracle版本的不同或者选择的安装的参数的不同可能过程出现的图片不一致,

    您可以根据自己的情况继续安装。

    一、安装环境

    在vmware里虚拟的RHEL5,分配的内存1G,SWAP分区1G,建议你最好把SWAP分区改成2G。否则安装时,到了测试的步骤会提示监测失败。(当然,如果你强行安装一样没问题)

    二、安装Oracle 10g Release2 前的配置

    1. 安装Oracle 10g R2所需的软件包(RedHat Enterprise LINUX 5 的安装包)

    (# cd /mnt/cdrom/Server/

    # rpm
    -Uvh setarch-2*

    # rpm
    -Uvh make-3*

    # rpm
    -Uvh glibc-2*

    # rpm
    -Uvh libaio-0*

    # rpm
    -Uvh compat-libstdc++-33-3*

    # rpm
    -Uvh compat-gcc-34-3*

    # rpm
    -Uvh compat-gcc-34-c++-3*

    # rpm
    -Uvh gcc-4*

    # rpm
    -Uvh libXp-1* (libXp-1(控制图形界面的,如果没有安装这个包,在运行runInstaller的时候,就说找都不到libawt.so: libXp.so.6: cannot open shared object file: No such fileor directory occurred.)

    # rpm
    -Uvh openmotif22-*

    # rpm
    -Uvh compat-db-4*

      

    其实在装系统的时候,将什么开发工具之类的能装上全装上,免得到时候安装oracle的时候,尽出些莫名其妙的错误。

    说明:其中除了openmotif22-2.2.3-18和compat-db-4.2.52-5.1在第三张盘上,其余的包都在第一张盘上。

    (我用的ISO,DVD形式的,就全部在Server上。)

    如果不能安装,就强制安装 rpm -i compat-db-4* --force --nodeps   可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能

    2. 修改/etc/redhat-release文件

    因为Oracle 10g官方只支持到RHEL4为止,所以需要更改版本说明,编辑/etc/redhat-release文件,删除Red Hat Enterprise Linux Server release 5 (Tikanga),改为redhat-4

    #vi /etc/redhat-release    然后直接删除粘贴就行了。

    3.修改内核参数    

    #vi /etc/sysctl.conf (在配置文件后,将下面的全部粘贴到文件的最后,其实不是修改,是增加)
    
    kernel.shmall = 2097152
    
    kernel.shmmax = 2147483648
    
    kernel.shmmni = 4096
    
    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

    使更改立即生效,使用下面的命令:

    #sysctl -p 

    4.建立安装Oracle需要的用户,组,及目录 

    (这个地方如果简单的按照下面的程序做也能安装成功,但是如果想把oracle安装别的目录里面,就需要修改,这里只是简单在根目录下建立oracle,然后将oracle安装在这个目录下,如果要把oracle安装在opt下面,就需要进行简单的修改。)

    #groupadd oinstall

    #groupadd dba

    #groupadd oper

    #useradd
    -g oinstall -G dba oracle

    #passwd oracle

    #mkdir
    /oracle (如果要把oracle安装在opt下面,就是mkdir /opt/oracle,然后修改下面的权限)

    #chown
    -R oracle:oinstall /oracle (chown -R oracle:oinstall /opt/oracle)

    #chmod
    -R 775/oracle (chmod -R 775/opt/oracle)

    安装oracle的目录建议安装在一个单独的分区或者磁盘上。

    5.设置oracle用户的shell limit    (为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列限定。)

    #vi /etc/security/limits.conf      

    oracle soft nproc
    2047

    oracle hard nproc
    16384

    oracle soft nofile
    1024

    oracle hard nofile
    65536

    接下来更改
    /etc/pam.d/login文件,添加下面的内容,使shell limit生效:

    #vi
    /etc/pam.d/login

    session required pam_limits.so

    6.配置IP地址 (这个可以在安装的时候就确定,如果没有确定,也可以通过系统自带的工具修改)

    安装RHEL的时候最好采用静态IP地址,如果当时选择的是DHCP,现在需要更改/etc/sysconfig/network-scripts/ifcfg-eth0文件

    [root@TSM54-Test network-scripts]# cat ifcfg-eth0

    # Advanced Micro Devices
    [AMD] 79c970 [PCnet32 LANCE]

    DEVICE
    =eth0

    BOOTPROTO
    =static

    HWADDR
    =00:0C:29:4B:17:C4

    ONBOOT
    =yes

    IPADDR
    =192.168.68.98

    NETMASK
    =255.255.255.0

    GATEWAY
    =192.168.68.10

    7.配置oracle用户的环境变量

    下面的操作,该用oracle用户登陆执行了。

    为了防止安装oracle时出现乱码,先把语言环境改为英文,在终端里输入:

    [oracle@TSM54-Test ]$export LC_CTYPE=en_US.UTF-8    (我安装的系统就是中文的,在安装的时候没有设置这些东西。)

    接下来,编辑/home/oracle目录下的.bash_profile文件,添加如下内容:

    export ORACLE_BASE=/oracle

    export ORACLE_HOME
    =$ORACLE_BASE/product/10.2.0/db_1

    export ORACLE_SID
    =orcl (看你要设置的SID是什么,我的是PDBQZ,就将orcl修改为PDBQZ)

    export PATH
    =$PATH:$ORACLE_HOME/bin

    export LD_LIBRARY_PATH
    =$ORACLE_HOME/lib:/lib:/usr/lib

    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

      (注:在某些系统中,例如Fedora 14 “ulimit -u 16384-n 65536"后面貌似要加个umask 022,否则会出错。请大家查明,或者这段脚本干脆就不加了

    三.安装Oracle 10g
    1、用Oracle登陆,把10201_database_linux32.zip放在/opt目录下
    2、解压
    #unzip 10201_database_linux32.zip
    3、现在使用oracle用户到/opt/database目录下执行安装:
    在这里可能要在root下面修改database的权限,以root用户登录,输入:chmod -R 755 database
    [oracle@TSM54-Test opt]$ cd /opt/database/
    [oracle@TSM54-Test database]$ ls
    doc install response runInstaller stage welcome.html
    [oracle@TSM54-Test database]$ ./runInstaller
    在这里会遇上一个DISPLAY 尚未设置。请设置 DISPLAY 后重试,
    解决办法:
    1.在root下(以root用户登录)执行#xdpyinfo记录下name of display:后的字符串,如127.0.0.1:1.0 (我的记录的为:0.0)
    2. #xhost + 
       显示:access control disabled,clients can connect from any host 3.切换到Oracle用户: #su - oracle 
    4.在Oracle用户下执行命令:export DISPLAY=:1.0   (看你的记录是多少,用KDE的话是0.0,用GONE的话是1.0,当然我测试是这样,具体还要看情况)
    5.在Oracle下执行xdpyinfo命令,如果能正常显示,说明设置成功 
    先安装数据库
    1.选择安装类型,基本安装,不创建数据库,之后再创建数据库实例。如下图所示:

    2.指定证书存放目录,因为在.bash_profile的时候,都设置好了,直接点下一步。如图所示:

    3.在这里会检查安装是否符合条件,如果没有什么问题的话,就只有第一个Checking Network Configuration requirements 要勾选,就出现User Verified ,直接next进入准备安装界面,如下图所示:

    4,开始安装oracle数据库,如果没有什么问题,直接走完,要是有些rpm包没有安装完全,就会出现错误。出现错误后就检查看是否有是哪个包没有安装。

    在安装的过程中会出现要执行的程序。

    直接进入下面的目录,运行程序,一切都是默认。

    #/oracle/oraInventory/orainstRoot.sh 

    #/oracle/product/10.2.0/db_1/root.sh 

    5,单独创建数据库实例,在终端进入opt/oracle/product/10.2.0/db_1/bin目录,然后./dbca   启动创建实例程序。启动后的界面如下:直接next

    6,出现创建数据库的界面,直接next。

    7,默认创建通用数据库。next。

    8,输入要创建数据库实例的名称SID,next。

    9,直接默认,点next。

    10,给数据库实例设置密码,这里直接设置统一的密码,也可以单独设置密码。next。

    11,创建的数据库默认为文件系统,不改变,next。

    12,直接默认选项,next。

    13,数据库恢复默认选项,next。

    14,关于schemas,不管,直接next。

    15,设置内存,大小,字符,连接模式。

    大小默认。

    字符集选择简体中文,如果没有设置这个,数据库中的中文字符就会出现乱码。

    直接默认为Dedicated Server mode 专用的服务器模式。next。下面还有一个All initialization Parameters,可以根据需要初始化有些参数。

    16,默认,直接next。

    17,默认创建数据库,finish。

    18.,配置文件,如果需要可以保存一下。然后进入最后的环节创建数据库。

     19,如果你到达这个界面,恭喜你成功了!开始玩oracle 了。

    [oracle@willie root]$ source oraenv     (这个命令是用来修改SID的)

    ORACLE_SID = [oracle] ?PDBQZ   (我的SID是PDBQZ)

    bash: /root/.bashrc: Permission denied 

    重新產生spfile: 

    SQL> create spfile from pfile;         

    将$ORACLE_BASE/admin /数据库名称/pfile目录下的init.ora.012009233838形式的文件copy到$ORACLE_HOME/dbs目录下 initoracle.ora即可。(注:initoracle.ora中的oracle为你的实例名 ORACLE_SID)

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

    #export LC_CTYPE=zh_CN.UTF-8 

    #vi /etc/redhat-release 

    Red Hat Enterprise Linux Server release 5 (Tikanga) 

    四、后续 

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

    监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用OEM或iSQL*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浏览器中,输入:

    http://192.168.68.98:1158/em (如果服务器没有进行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浏览器中,输入:

    http://192.168.68.98:5560/isqlplus

    用户名: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> exit 

    关闭:

    $ 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

    Linux下oracle操作命令 

    重启oracle 

    lsnrctl stop 

    sqlplus
    /nolog

    conn
    /as sysdba

    shutdown (startup)

    exit

    lsnrctl start

    启动oracle 

    sqlplus /nolog 

    conn
    /as sysdba

    startup

    exit

    lsnrctl start

    关闭oracle 

    lsnrctl stop 

    sqlplus
    /nolog

    conn
    /as sysdba

    shutdown

    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用户和组。 

     
    后记:
    Oracle数据库的安装是第一步,成功了。但是后面还有很漫长的学习过程,您当时是如何学习Oracle的?或者对于学习Oracle有何良策?希望大家留点建议~
  • 相关阅读:
    Iphone [Tab Bar实现多view切换,Picker,DataPicter实现
    基于socket、多线程的客户端服务器端聊天程序
    C/C++面试题
    Unity3D打Box游戏
    Unity3D项目开发一点经验
    Unity3D使用过程中常见的20个问题
    @property中strong跟weak的区别
    java多线程系列8 高级同步工具(2)CountDownLatch
    java多线程系列7 高级同步工具(1)信号量Semaphore
    java多线程系列6 synchronized 加强版 ReentrantLock
  • 原文地址:https://www.cnblogs.com/xufeiyang/p/2162344.html
Copyright © 2011-2022 走看看