Oracle10g Ubuntu9.04

一、验证安装Oracle 数据库 10g 第 2 版的系统要求

按照Oracle官方指南,首先需要验证RAM和交换空间大小
要查看可用 RAM 和交换空间大小,运行以下命令:

Java代码
  1. gengzhi @gengzhi -desktop:~$ grep MemTotal /proc/meminfo  
  2. MemTotal:        2060248  kB  
  3. gengzhi@gengzhi -desktop:~$ grep SwapTotal /proc/meminfo  
  4. SwapTotal:       2088408  kB  
gengzhi@gengzhi-desktop:~$ grep MemTotal /proc/meminfo
MemTotal:        2060248 kB
gengzhi@gengzhi-desktop:~$ grep SwapTotal /proc/meminfo
SwapTotal:       2088408 kB



根据oracle官方网站的安装说明要求:所需最小 RAM 为 1,024MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。

Oracle 数据库 10g 第 2 版软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。要检查系统上的可用磁盘空间,运行以下命令:

Java代码
  1. gengzhi @gengzhi -desktop:~$ df -h  
  2. 文件系统            容量  已用 可用 已用% 挂载点  
  3. /dev/sda7              27G   11G   15G  44 % /  
  4. tmpfs                1006M     0  1006M    0 % /lib/init/rw  
  5. varrun               1006M  104K 1006M   1 % /var/run  
  6. varlock              1006M     0  1006M    0 % /var/lock  
  7. udev                 1006M  188K 1006M   1 % /dev  
  8. tmpfs                1006M  208K 1006M   1 % /dev/shm  
  9. lrm                  1006M  2 .4M 1004M    1 % /lib/modules/ 2.6 . 28 - 11 -generic/ volatile   
gengzhi@gengzhi-desktop:~$ df -h
文件系统            容量  已用 可用 已用% 挂载点
/dev/sda7              27G   11G   15G  44% /
tmpfs                1006M     0 1006M   0% /lib/init/rw
varrun               1006M  104K 1006M   1% /var/run
varlock              1006M     0 1006M   0% /var/lock
udev                 1006M  188K 1006M   1% /dev
tmpfs                1006M  208K 1006M   1% /dev/shm
lrm                  1006M  2.4M 1004M   1% /lib/modules/2.6.28-11-generic/volatile


可以看到根文件系统可用空间为15G,大于必须的(2.5 + 1.2 + 0.4 = 4.1GB)。

二、软件包安装
    运行如下命令(联网的前提下):

Java代码
  1. gengzhi @gengzhi -desktop:~$ apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 libstdc++ 5  alien  
gengzhi@gengzhi-desktop:~$ apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio1 libstdc++5 alien



三、创建用户和组
oracle要用oracle用户安装,安装好后,同样用oracle用户启动。

Java代码
  1. //创建用户组oinstall   
  2. gengzhi@gengzhi -desktop:~$ sudo addgroup oinstall   
  3. //创建用户组dba   
  4. gengzhi@gengzhi -desktop:~$ sudo addgroup dba  
  5. //创建用户组nobody   
  6. gengzhi@gengzhi -desktop:~$ sudo addgroup nobody  
  7.   
  8. //将用户oracle的初始组设为oinstall,并加入到组dba中,home目录设为/home/oracle.此目录如果不存在则自动创建,shell为bash。   
  9. gengzhi@gengzhi -desktop:~$ sudo useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bash oracle  
  10. //查看nobody用户所在的组   
  11. gengzhi@gengzhi -desktop:~$ id nobody  
  12. uid=65534 (nobody) gid= 65534 (nogroup) 组= 65534 (nogroup)  
  13. //将nobody用户加入到nobody组里面   
  14. gengzhi@gengzhi -desktop:~$ sudo usermod -G nobody nobody  
  15. //核实nobody加入的组里面有组nobody   
  16. gengzhi@gengzhi -desktop:~$ id nobody  
  17. uid=65534 (nobody) gid= 65534 (nogroup) 组= 65534 (nogroup), 1003 (nobody)  
  18. //设置用户oracle密码   
  19. gengzhi@gengzhi -desktop:~$ sudo passwd oracle                                                           
  20. 四、创建目录
    Java代码
    1. //建立oracle_base目录,如果不存在,就创建,oracle安装于此。   
    2. gengzhi@gengzhi -desktop:~$ sudo mkdir -p /opt/oracle  
    3. //将此目录及其下的文件或者目录的所有者改为oinstall组的oracle   
    4. gengzhi@gengzhi -desktop:~$ sudo chown -R oracle:oinstall /opt/oracle/  
    5. //将此目录及其下文件权限设为755   
    6. gengzhi@gengzhi -desktop:~$ sudo chmod -R  775  /opt/oracle/  
    //建立oracle_base目录,如果不存在,就创建,oracle安装于此。
    gengzhi@gengzhi-desktop:~$ sudo mkdir -p /opt/oracle
    //将此目录及其下的文件或者目录的所有者改为oinstall组的oracle
    gengzhi@gengzhi-desktop:~$ sudo chown -R oracle:oinstall /opt/oracle/
    //将此目录及其下文件权限设为755
    gengzhi@gengzhi-desktop:~$ sudo chmod -R 775 /opt/oracle/
    


    五、设置环境变量
        a、修改baserc文件(若没有,则创建)
    Java代码
    1. gengzhi @gengzhi -desktop:~$ su oracle(上边创建的 oracle用户)     
    2. gengzhi@gengzhi -desktop:~$ cd /home/oracle     
    3. gengzhi@gengzhi -desktop:~$ sudo gedit ./.bashrc   
    gengzhi@gengzhi-desktop:~$ su oracle(上边创建的 oracle用户)   
    gengzhi@gengzhi-desktop:~$ cd /home/oracle   
    gengzhi@gengzhi-desktop:~$ sudo gedit ./.bashrc 
    

    粘贴如下代码:
    Java代码
    1. # oracle 10g      
    2. export ORACLE_BASE=/opt/oracle      
    3. export ORACLE_HOME=$ORACLE_BASE/product/10.2 . 0 /db_1      
    4. #export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH      
    5. export ORACLE_OWNER=oracle      
    6. export ORACLE_SID=orcl  (SID很重要,要记住跟安装的一样)     
    7. export ORACLE_TERM=xterm        
    8. # Edit paths      
    9. #export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/opt/oracle/lib/stubs/:$LD_LIBRARY_PATH      
    10. export PATH=$ORACLE_HOME/bin:$PATH  (oracle_home要设置对了,要不在终端里边找不到sqlplus)  
    # oracle 10g    
    export ORACLE_BASE=/opt/oracle    
    export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1    
    #export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH    
    export ORACLE_OWNER=oracle    
    export ORACLE_SID=orcl  (SID很重要,要记住跟安装的一样)   
    export ORACLE_TERM=xterm      
    # Edit paths    
    #export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/opt/oracle/lib/stubs/:$LD_LIBRARY_PATH    
    export PATH=$ORACLE_HOME/bin:$PATH  (oracle_home要设置对了,要不在终端里边找不到sqlplus)
    

        b、创建.bashrc文件(默认ubuntu下是没有这个文件的) 他处于/home/oracle/目录下
        粘贴以下内容:
    Java代码
    1.  # Begin ~/.bash_profile      
    2. # Written for  Beyond Linux From Scratch      
    3. # by James Robertson <jameswrobertson@earthlink .net>      
    4. # updated by Bruce Dubbs <bdubbs@linuxfromscratch .org>      
    5. # Personal environment variables and startup programs.      
    6. # Personal aliases and functions should go in ~/.bashrc. System wide      
    7. # environment variables and startup programs are in /etc/profile.      
    8. # System wide aliases and functions are in /etc/bashrc.      
    9. append () {      
    10. # First remove the directory      
    11. local IFS=':'       
    12. local NEWPATH      
    13. for  DIR in $PATH;  do       
    14. if  [  "$DIR"  !=  "$1"  ]; then      
    15. NEWPATH=${NEWPATH:+$NEWPATH:}$DIR      
    16. fi     
    17. done      
    18. # Then append the directory      
    19. export PATH=$NEWPATH:$1       
    20. }      
    21. if  [ -f  "$HOME/.bashrc"  ] ; then      
    22. source $HOME/.bashrc      
    23. fi      
    24. if  [ -d  "$HOME/bin"  ] ; then      
    25. append $HOME/bin      
    26. fi      
    27. unset append      
    28. # End ~/.bash_profile   
     # Begin ~/.bash_profile    
    # Written for Beyond Linux From Scratch    
    # by James Robertson <jameswrobertson@earthlink.net>    
    # updated by Bruce Dubbs <bdubbs@linuxfromscratch.org>    
    # Personal environment variables and startup programs.    
    # Personal aliases and functions should go in ~/.bashrc. System wide    
    # environment variables and startup programs are in /etc/profile.    
    # System wide aliases and functions are in /etc/bashrc.    
    append () {    
    # First remove the directory    
    local IFS=':'    
    local NEWPATH    
    for DIR in $PATH; do    
    if [ "$DIR" != "$1" ]; then    
    NEWPATH=${NEWPATH:+$NEWPATH:}$DIR    
    fi   
    done    
    # Then append the directory    
    export PATH=$NEWPATH:$1    
    }    
    if [ -f "$HOME/.bashrc" ] ; then    
    source $HOME/.bashrc    
    fi    
    if [ -d "$HOME/bin" ] ; then    
    append $HOME/bin    
    fi    
    unset append    
    # End ~/.bash_profile 
    


    六、修改内核参数
    Java代码
    1. gengzhi @gengzhi -desktop:~$ sudo gedit /etc/sysctl.conf  
    gengzhi@gengzhi-desktop:~$ sudo gedit /etc/sysctl.conf
    

    Java代码
    1. //将以下部分,增加到文件末尾,并保存。   
    2. # special setting for  oracle 10g  
    3.  kernel.shmmax = 536870912   
    4.  kernel.shmmni = 4096   
    5.  kernel.shmall = 2097152   
    6.  kernel.sem = 250   32000   100   128   
    7.  fs.file-max = 65536   
    8.  net.ipv4.ip_local_port_range = 1024   65000   
    9. //使设置生效   
    10. gengzhi@gengzhi -desktop:~$ sudo sysctl -p  
    11.   
    12. gengzhi@gengzhi -desktop:~$ sudo gedit /etc/security/limits.conf  
    13.   
    14. //在文件末尾最后一行#end 之前加入下面内容。   
    15. oracle soft nproc 2047   
    16. oracle hard nproc 16383   
    17. oracle soft nofile 1023   
    18. oracle hard nofile 65535   
    //将以下部分,增加到文件末尾,并保存。
    # special setting for oracle 10g
     kernel.shmmax = 536870912
     kernel.shmmni = 4096
     kernel.shmall = 2097152
     kernel.sem = 250 32000 100 128
     fs.file-max = 65536
     net.ipv4.ip_local_port_range = 1024 65000
    //使设置生效
    gengzhi@gengzhi-desktop:~$ sudo sysctl -p
    
    gengzhi@gengzhi-desktop:~$ sudo gedit /etc/security/limits.conf
    
    //在文件末尾最后一行#end 之前加入下面内容。
    oracle soft nproc 2047
    oracle hard nproc 16383
    oracle soft nofile 1023
    oracle hard nofile 65535
    


    七:创建链接及Red Hat release:
    Java代码
    1. //创建一些Oracle安装程序需要的工具的连接。 因为Oracle安装程序是为通过Oracle认证的Red Hat、Suse等版本准备的,所以有些工具的位置和Ubuntu不一样。   
    2. gengzhi@gengzhi -desktop:~$ sudo ln -s /usr/bin/awk /bin/awk  
    3. gengzhi@gengzhi -desktop:~$ sudo ln -s /usr/bin/rpm /bin/rpm  
    4. gengzhi@gengzhi -desktop:~$ sudo ln -s /usr/bin/basename /bin/basename  
    5.   
    6. //建立redhat的release   
    7. //因为Oracle默认是不支持Ubuntu的,所以要把Ubuntu伪装成Redhat   
    8. gengzhi@gengzhi -desktop:~$ sudo touch /etc/redhat-release  
    9. gengzhi@gengzhi -desktop:~$ sudo gedit /etc/redhat-release   
    10. //在文件内增加内容:   
    11. Red Hat Linux release 4.1   
    //创建一些Oracle安装程序需要的工具的连接。 因为Oracle安装程序是为通过Oracle认证的Red Hat、Suse等版本准备的,所以有些工具的位置和Ubuntu不一样。
    gengzhi@gengzhi-desktop:~$ sudo ln -s /usr/bin/awk /bin/awk
    gengzhi@gengzhi-desktop:~$ sudo ln -s /usr/bin/rpm /bin/rpm
    gengzhi@gengzhi-desktop:~$ sudo ln -s /usr/bin/basename /bin/basename
    
    //建立redhat的release
    //因为Oracle默认是不支持Ubuntu的,所以要把Ubuntu伪装成Redhat
    gengzhi@gengzhi-desktop:~$ sudo touch /etc/redhat-release
    gengzhi@gengzhi-desktop:~$ sudo gedit /etc/redhat-release 
    //在文件内增加内容:
    Red Hat Linux release 4.1
    


    八、设置显示参数
    Java代码
    1. gengzhi @gengzhi -desktop:~$ su root  
    2. root@gengzhi -desktop:~$ export DISPLAY= ":0.0"   
    3. root@gengzhi -desktop:~$ xhost +     //如果弹出“access control disabled, clients can connect from any host ”的提示消息,则表示设置成功。   
    4. root@gengzhi -desktop:~$ xterm    //若执行xterm命令后,弹出另外一个标题为“Xterm” 的窗口则表示命令执行成功,可以继续下一步的安装。   
    gengzhi@gengzhi-desktop:~$ su root
    root@gengzhi-desktop:~$ export DISPLAY=":0.0"
    root@gengzhi-desktop:~$ xhost +    //如果弹出“access control disabled, clients can connect from any host ”的提示消息,则表示设置成功。
    root@gengzhi-desktop:~$ xterm   //若执行xterm命令后,弹出另外一个标题为“Xterm” 的窗口则表示命令执行成功,可以继续下一步的安装。
    


    九、执行安装
    Java代码
    1. //用oracle用户登录X   
    2. root@gengzhi -desktop:~$ su oracle 
    3. //设置安装界面为英文安装界面  
    4. oracle@yurocy-desktop:~$ unzip 10201_database_linux32.zip
      oracle@yurocy-desktop:~$ cd database
    5. oracle@gengzhi -desktop:~$ export LANG=en_US   
    6. //执行安装文件   
    7. oracle@gengzhi -desktop:~$ ./runInstaller 
    PS: 此过程中会提示
    Java代码
    1. /opt/oraInventory/orainstRoot.sh  
    2. /opt/oracle/product/11.1 . 0 /db_1/root.sh  
    /opt/oraInventory/orainstRoot.sh
    /opt/oracle/product/11.1.0/db_1/root.sh

    两个脚本需要以root用户运行,打开终端,以root用户登录运行以上两个文件,然后继续安装即可!

    十、设置环境变量
    Java代码
    1. gengzhi @gengzhi -desktop:~$ sudo gedit /etc/profile  
    gengzhi@gengzhi-desktop:~$ sudo gedit /etc/profile
    
    添加如下内容:
    Java代码
    1. export ORACLE_HOME=/opt/oracle/product/ 10.2 . 0 /db_1  
    2. export PATH=$PATH:/opt/oracle/product/10.2 . 0 /db_1/bin 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值