zoukankan      html  css  js  c++  java
  • Red Hat Enterprise Linux 5安装Oracle10

    Red Hat Enterprise Linux 5安装Oracle10

    2009-07-08 18:04

    一、安装系统
    首先安装Linux系统,根据Oracle官方文档的建议,在机器内存小于1G的情况下,swap分区大小应该设置为内存的2倍大,若内存大于2Gswap分区设置为与内存大小一样。
    其实Linux系统的swap分区大小设置是很有讲究的,如果哪位读者有兴趣,可以参考我的另外一篇文章——《如何合理设置Linux系统的swap分区大小》。
    在系统安装的过程中,一定选择安装所有开发包,建议不要安装SELinux或者安装后在系统中禁止SELinux运行,否则会出现一些莫名其妙的问题。
    为防止Oracle安装过程中出现乱码,建议使用英文作为系统语言,进行Oracle的安装工作
    二、安装Oracle前的系统准备工作
    1.
    检查需要的软件包
    可以使用rpm -qa|grep 软件包关键词命令进行检测,一般情况下会需要手动安装如下的软件包:
       From RedHat AS5 Disk 1
    32 Bit
       # rpm -Uvh setarch-2* 
       # rpm -Uvh make-3* 
       # rpm -Uvh glibc-2* 
       # rpm -Uvh libaio-0*
       From RedHat AS5 Disk 2
    32 Bit
       # rpm -Uvh compat-libstdc -33-3* 
       # rpm -Uvh compat-gcc-34-3*

    安装前注意要先安装gcc环境 参阅linux gcc环境安装


       # rpm -Uvh compat-gcc-34-c -3* 
       # rpm -Uvh gcc-4* 
       # rpm -Uvh libXp-1*
       From RedHat AS5 Disk 3
    32 Bit
       # rpm -Uvh openmotif-2* 
       # rpm -Uvh compat-db-4*
    如果使用DVD安装介质的话,会很方便。
    2.
    修改Linux发行版本信息
    由 于Oracle 10g发行的时候,RedHat Enterprise Linux 5没有发行,所以Oracle 10g并没有对 RedHat Enterprise Linux 5确认支持,我们有两种方法可以让Oracle 10g支持 RedHat Enterprise Linux 5
    方法一:
    我们需要手工修改Linux的发行注记,让Oracle 10g支持RedHat Enterprise Linux 5
    编辑/etc/redhat-release文件
    # vi /etc/redhat-release
    将其中的内容Red Hat Enterprise Linux Server release 5 (Tikanga)修改为Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
    方法二:
    还有文章说修改Oracle安装包中install/oraparam.ini文件的内容,也可以让Oracle 10g支持RedHat Enterprise Linux 5,修改方法如下:
    # vi install/oraparam.ini
    在其中的Certified Versions段落增加redhat-5
    #[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
    经我测试,发现方法二在安装之前的系统检测过程可以通过,但是在安装过程中的系统支持检测无法通过,不知道是不是我设置的有问题,希望有高手可以给我点提示。
    3.
    修改系统内核参数
    # vi /etc/sysctl.conf
    kernel.shmall = 2097152                     //   
    该 参数表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改 kernel.shmmax = 2147483648             //   该参数定义了共享内存段的最大尺寸(以字节为单位)。缺省为 32M,对于oracle来说,该缺省值太低了,通常将其设置为2G 
    kernel.shmmni = 4096                        //   
    这个内核参数用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改 
    kernel.sem = 250 32000 100 128         //   
    表示设置的信号量 
    fs.file-max = 65536                             //   
    表示文件句柄的最大数量。文件句柄设置表示在linux系统中可以打开的文件数量 
    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            //   
    发送窗口的最大大小
    修改好内核参数后,执行如下命令使新的设置生效
    # /sbin/sysctl -p
    4.
    创建Oracle用户、组、安装目录
    在这里我只讨论单主机环境,不考虑RAC环境的配置,在以后我会专门写一篇如何配置Oracle RAC环境的文章。
    (1) 
    创建Oracle用户组
    # groupadd oinstall 
    # groupadd dba
    (2) 
    创建Oracle用户
    # useradd -m -g oinstall -G dba oracle
    (3) 
    设置Oracle用户口令
    # passwd oracle
    (4) 
    创建Oracle安装目录以及数据存放目录
    # mkdir -p /DBSoftware/app/oracle 
    # mkdir -p /DBData/oradata
    (5) 
    修改目录权限
    # chown -R oracle:oinstall /DBSoftware/app/oracle/ /DBData/oradata/ 
    # chmod -R 755 /DBSoftware/app/oracle/ /DBData/oradata/
    5.
    添加以下内容到/etc/security/limits.conf
    # vi /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
    # vi /etc/pam.d/login
    session required /lib/security/pam_limits.so 
    session required pam_limits.so
    7.
    添加以下内容到/etc/profile
    # vi /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.
    配置Linux主机
    检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。
    9.
    配置oracle用户环境变量
    # su - oracle 
    $ vi ~/.bash_profile
    增加如下内容:
    export orACLE_BASE=/DBSoftware/app/oracle    // 
    上面创建的Oracle安装文件夹 
    export orACLE_SID=orcl 
    export orACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
    export PATH=$PATH:$ORACLE_HOME/bin 
    export LD_LIBARY_PATH=$ORACLE_HOME/lib
    export PATH 
    umask 022
    保存后使用如下命令,使设置生效:
    $ source ~/.bash_profile
    三、安装Oracle,并进行相关设置
    1.
    解压缩安装文件
    oracle
    的安装包有这样几种格式:
    (1) zip
    这种格式最好解压缩,直接使用命令unzip 文件名即可
    (2) cpio.gz
    这种格式有这样几种解压缩方式
    a.   # zcat XXXX.cpio.gz | cpio -idmv 
    b.   # gunzip XXXX.cpio.gz
    解压出XXXX.cpio文件然后再 # cpio -idvm < XXXX.cpio
    解压缩完成后,设置oracle帐户可以操作安装文件所在的目录
    chown -R oracle:oinstall 
    安装文件所在目录
    2. 
    oracle帐户进入安装文件所在目录,执行如下命令即可看到安装界面:
    $ ./runInstaller

    提示permission denied chmod -R 777 * 
    如果无法看到安装界面,请使用root帐户执行如下命令后再运行安装程序:
    # export DISPLAY=:0.0 
    # xhost + 
    $ ./runInstaller
    出现安装界面后,根据界面提示进行相关的设置,我的建议是在安装过程中不创建数据库,只安装程序,监听和创建数据库等安装完成后再进行相关的操作。
    安装过程中,需要使用root权限执行两个脚本。
    3. 
    安装完成后,将/etc/redhat-release文件中的内容修改回Red Hat Enterprise Linux Server release 5 (Tikanga)
    4.
    创建监听以及创建数据库
    (1) 
    创建监听程序
    使用Oracle提供的NET CONFIGURATION ASSISTANT创建TNS监听
    $ netca
    基本上就是一直Next就可以了,当然你也可以在这期间修改TNS的监听端口号
    TNS
    监听创建完成后可以使用如下命令进行检查:
    # netstat -atln     
    检查监听端口是否打开 
    $ lsnrctl status     
    检查TNS监听状态
    确认监听已经成功启动后,即可执行Database Configure Assistant进行数据库的创建,执行命令如下:
    $ dbca
    在创建数据库的过程中,建议将数据库的字符集设置为Unicode UTF-8,防止出现乱码。
    四、数据库的启动脚本

    # vi /etc/rc.d/init.d/oracle
    ================================   script File Start ================================ 

    #!/bin/bash 

    # chkconfig: 35 95 1 
    # de script ion: init   script to start/stop oracle database 10g, TNS listener, EMS 
    # match these values to your environment:
    export orACLE_BASE=/DBSoftware/app/oracle 
    export orACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
    export PATH=/u01/app/oracle/bin:$ORACLE_HOME/bin:$PATH 
    export orACLE_SID=orcl 
    export orACLE_USER=oracle
    # see how we are called: 
    case $1 in 
         start) 
             su - "$ORACLE_USER"<<EOO 
             lsnrctl start 
             sqlplus /nolog<<EOS 
             connect / as sysdba 
             startup 
         EOS 
         emctl start dbconsole 
         EOO 
         touch /var/lock/subsys/$ script name 
         ;; 
         stop) 
             su - "$ORACLE_USER"<<EOO 
             lsnrctl stop 
             sqlplus /nolog<<EOS 
             connect / as sysdba 
             shutdown immediate 
         EOS 
         emctl stop dbconsole 
         EOO 
         rm -f /var/lock/subsys/ script name 
         ;; 
    *) 
    echo "Usage: $0 " 
    ;; 
    esac
    ================================   script File End ================================
    授权 :chown root.root /etc/rc.d/init.d/oracle
    修改文件属性:chmod 755 /etc/rc.d/init.d/oracle
    以后启动/关闭Oracle可以使用如下命令操作:
    # service oracle start      //   
    启动监听、数据库以及em 
    # service oracle stop       //   
    关闭监听、数据库以及em
    当然你也可以把Oracle作为系统服务,随系统启动等等。




    net.core.rmem_default=262144      // 
    默认的接收窗口大小
    net.core.rmem_max=262144          // 
    接收窗口的最大大小
    net.core.wmem_default=262144      // 
    默认的发送窗口大小
    net.core.wmem_max=262144        // 
    发送窗口的最大大小

    Linux下安装Oracle 11


    此为参照CU论坛上的高人写的文章并结合自身环境增加了点细节性的东西


    操作系统 CentOS 4.2 2.6.11.8内核

    安装准备

    下载Oracle11安装包
    内存最少1G
    硬盘空间最
    6G
    交换分区最少1024M,如果不够就用dd命令扩容一个如
    :

    dd if=/dev/zero of=/.swap bs=1k count=1024000     
    创建文件

    chmod 600 /.swap                               
    设置权限
    mkswap /.swap                                  
    设定文件
    swapon /.swap                                  
    生效文件

    安装如下软件

    binutils-2.17.50.0.6-2.el5
    compat-libstdc++-33-3.2.3-61
    elfutils-libelf-0.125-3.el5
    elfutils-libelf-devel-0.125
    glibc-2.5-12
    glibc-common-2.5-12
    glibc-devel-2.5-12
    gcc-4.1.1-52
    gcc-c++-4.1.1-52
    libaio-0.3.106
    libaio-devel-0.3.106
    libgcc-4.1.1-52
    libstdc++-4.1.1
    libstdc++-devel-4.1.1-52.e15
    make-3.81-1.1
    sysstat-7.0.0
    unixODBC-2.2.11
    unixODBC-devel-2.2.11

    做个链接(老版本要,Oracle11不要)
    ln -s /usr/lib/libstdc++.so.6.0.3 /usr/lib/libstdc++.so.5 

    sysctl.conf文件中加入下列
    :

    kernel.shmall = 2097152
    kernel.shmmax = 2147483648 -- (
    以字节为单位,物理内存数量*1024*1024*2,为内存的2
    )
    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=8388608
    net.core.rmem_max=8388608
    net.core.wmem_default=262144
    net.core.wmem_max=262144 
    保存退出

    sysctl -p
    使其生效

    设置Shell Limits(系统资源限制),提高软件的运行效率

    /etc/security/limits.conf文件中加入下列红色行:

    oracle soft nofile 65536
    oracle hard nofile 65536
    oracle soft nproc 16384
    oracle hard nproc 16384

    /etc/pam.d/login文件中加入下列行,如果里面没有的话:

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

    /etc/profile后加入以下语句:

    vi /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 


    创建dba/oper/oinstall



    /usr/sbin/groupadd dba
    /usr/sbin/groupadd oper
    /usr/sbin/groupadd oinstall

    --
    创建oracle用户并设置用户所属组


    /usr/sbin/usermod -g oinstall -G dba oracle
    /usr/sbin/useradd -g oinstall -G dba oracle
    passwd oracle
    # id oracle
    uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)


    --
    创建相关安装目录


    mkdir -p /opt/oracle/product
    mkdir -p /opt/oracle/product/OraHome
    mkdir -p /opt/oraInventory                      #(the default inventory folder)
    mkdir -p /opt/oracle/oradata                   #(change the right file owner)
    mkdir -p /var/opt/oracle 


    --
    设置目录所有者和权限

    chown -R oracle.oinstall /opt/oracle
    chown -R oracle.oinstall /opt/oracle/oradata
    chown -R oracle.oinstall /opt/oracle/product/OraHome
    chown -R oracle.dba /opt/oraInventory
    chown oracle.dba /var/opt/oracle
    chmod -R 775 /opt/oracle
    chmod -R 755 /var/opt/oracle


    设置安装环境变量
    # su - oracle --su
    oracle用户下,
    更改用户的一些配置
    $vi /home/oracle/.bash_profile
    添加以下参数,主要是配置oracle软件运环境参数
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
           . ~/.bashrc
    fi

    export ORACLE_BASE=/opt/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/OraHome
    export ORACLE_SID=orcl
    export ORACLE_OWNER=oracle
    export ORACLE_TERM=vt100
    export PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
    export LD_LIBRARY_PATH
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
    export CLASSPATH
    PATH=$PATH:/usr/sbin; export PATH
    PATH=$PATH:/usr/bin; export PATH


    注意:

    11g:ORA_NLS33=$ORACLE_HOME/nls/admin/data
    10g
    ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    9i
    ORA_NLS33=/oracle/app/ora92/ocommon/nls/admin/data

    保存退出

    --
    执行以下命令让配置马上生效或以oracle用户登录使设置生效
    $ source $HOME/.bash_profile 

    安装Oracle

    首先要进入X界面

    然后unzip解压压缩包
    再进入目录下执行
    ./runInstaller

    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

    配置这一步 出错了... )
    安装过程和Windows下安装软件一样根据提示下一步下一步安装

    在前几步会提示要检测你的系统硬件和软件是否达标,如果有不合规格的会提示报错要求改正
    根据提示信息,将所有设置都设置好,所缺软件都装好,就可以了

    [oracle@localhost database]$ ./runInstaller
    Starting Oracle Universal Installer...

    Checking Temp space: must be greater than 80 MB.   Actual 141856 MB    Passed
    Checking swap space: must be greater than 150 MB.   Actual 1023 MB    Passed
    Checking monitor: must be configured to display at least 256 colors
        >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<

    Some requirement checks failed. You must fulfill these requirements before

    continuing with the installation,at which time they will be rechecked.

    Continue? (y/n) [n] y


    Rechecking installer requirements....
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2009-02-15_06-12-44AM. Please wait ...
    DISPLAY not set. Please set the DISPLAY and try again.
    Depending on the Unix Shell, you can use one of the following commands as examples to set the DISPLAY environment variable:
    - For csh:                      % setenv DISPLAY 192.168.1.128:0.0
    - For sh, ksh and bash:         $ DISPLAY=192.168.1.128:0.0; export DISPLAY
    Use the following command to see what shell is being used:
            echo $SHELL
    Use the following command to view the current DISPLAY environment variable setting:
            echo $DISPLAY
    - Make sure that client users are authorized to connect to the X Server.
    To enable client users to access the X Server, open an xterm, dtterm or xconsole as the user that started the session and type the following command:
    % xhost +
    To test that the DISPLAY environment variable is set correctly, run a X11 based program that comes with the native operating system such as 'xclock':
            % <full path to xclock.. see below>
    If you are not able to run xclock successfully, please refer to your PC-X Server or OS vendor for further assistance.
    Typical path for xclock: /usr/X11R6/bin/xclock 
    [oracle@localhost database]$

    _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


    不过有时候装好了它也会定在那个地方不走了
    在确定好所有的设置正确和软件都装好了
    可以用./runInstaller -ignoreSysPrereqs跳过检测
    注意,安装过程中,尽量不要去更改SID,把默认的SID和一些其它信息记录下来,可以省去后面的很多麻烦

    安装完毕后,以root身份进入系统 运行
    ORACLE_HOME
    下面的root.sh
    完成最后的安装



    Oracle
    的启动设置

    确定/etc/oratab文件设置每个实例的重启标志为“Y”
    vim /etc/oratab  
    orcl:/opt/oracle/product/OraHome:Y

    打开ORACLE_HOME/network/admin/sqlnet.ora添加:

    SQLNET.AUTHENTICATION_SERVICE=(NTS)

    关闭selinux

    启动EM控制台


    su -oracle
    ORACLE_HOME/bin/emctl start dbconsole (
    就可以访问https://localhost:1158/em的企业控制台)
    ORACLE_HOME/bin/lsnrctl start
    ORACLE_HOME/bin/dbstart

    Oracle 
    常用操作命令



    1
    su – oracle 不是必需,适合于没有DBA密码时使用,可以不用密码来进入sqlplus界面。

    2
    sqlplus /nolog sqlplus system/manager ./sqlplus system/manager@ora9i;

    3
    SQL>connect / as sysdba ;as sysoper)或
    connect internal/oracle AS SYSDBA ;(scott/tiger) conn sys/change_on_install as sysdba;

    4
    SQL>startup; 启动数据库实例


    5
    、 查看当前的所有数据库: select * from v$database;

    select name from v$database;

    desc v$databases; 
    查看数据库结构字段


    7
    、怎样查看哪些用户拥有SYSDBASYSOPER权限:

    SQL>select * from V_$PWFILE_USERS;

    Show user;
    查看当前数据库连接用户


    8
    、进入test数据库:database test;

    9
    、查看所有的数据库实例:select * from v$instance


    如:ora9i

    10
    、查看当前库的所有数据表:


    SQL> select TABLE_NAME from all_tables;

    select * from all_tables;

    SQL> select table_name from all_tables where table_name like ‘u’;

    TABLE_NAME———————————————default_auditing_options

    11
    、查看表结构:desc all_tables;

    12
    、显示CQI.T_BBS_XUSER的所有字段结构:


    desc CQI.T_BBS_XUSER;

    13
    、获得CQI.T_BBS_XUSER表中的记录:

    select * from CQI.T_BBS_XUSER;

    14
    、增加数据库用户:(test11/test)

    create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;

    15
    、用户授权
    :
    grant connect,resource,dba to test11;

    grant sysdba to test11;

    commit;
    16
    、更改数据库用户的密码:(syssystem的密码改为
    test.)

    alter user sys indentified by test;

    alter user system indentified by test;

  • 相关阅读:
    BZOJ2199[Usaco2011 Jan]奶牛议会——2-SAT+tarjan缩点
    BZOJ3862Little Devil I——树链剖分+线段树
    BZOJ2325[ZJOI2011]道馆之战——树链剖分+线段树
    BZOJ1018[SHOI2008]堵塞的交通——线段树
    BZOJ2733[HNOI2012]永无乡——线段树合并+并查集+启发式合并
    BZOJ4127Abs——树链剖分+线段树
    bzoj 4753 最佳团体
    bzoj 4472 salesman
    bzoj 5369 最大前缀和
    bzoj 1226 学校食堂Dining
  • 原文地址:https://www.cnblogs.com/zongzhankui/p/5875355.html
Copyright © 2011-2022 走看看