zoukankan      html  css  js  c++  java
  • ORACLE学习–安装

    这一章会逐步的讲解ORACLE 11g R2的安装,以及在安装过程中碰到的一些问题。我的安装环境如下:

    OS: Cent OS 6.2;

    Oracle 11g R2;

    VMWare 7;

    1. create oracle user

    安装oracle不能在root用户下,需要create一个user作为dba并且安装oracle

    首先create oracle需要的一些usergroup:

    Oracle Inventory group

    root> /usr/sbin/groupadd oinstall

    Database Administrators Group

    root> /usr/sbin/groupadd dba

    Database Operation Group

    root> /usr/sbin/groupadd oper

    然后create user,并且修改user的密码。

    root> /usr/sbin/useradd –g oinstall –G dba,oper oracle

    root> passwd oracle

    create完user后可以使用id命令查看刚刚create的user

    root> id oracle

    2. 安装oracle

    这一步需要先转到oracle用户:

    root> su – oracle

    1)首先解压安装文件。

    如果VMWare没有安装VMTools的话是不能直接把安装文件共享到VM中,你可以先安装好VMTools再进行copy。

    但是,如果你跟我一样安装VMTools失败了的话,可以使用另一种办法,那就是把安装文件制作成ISO文件,再加载到VM的光驱中。

    cd到光驱位置:

    oracle> cd /media

    将安装文件copy到home目录下:

    oracle> cp ./linux_11g_database_1of2.zip ~/

    oracle> cp ./linux_11g_database_2of2.zip ~/

    解压:

    oracle> unzip linux_11g_database_1of2.zip

    oracle> unzip linux_11g_database_2of2.zip

    unzip会将安装文件解压到当前目录的database文件夹下。

    然后cd到解压后的database目录下,执行runInstaller。

    oracle> cd ./database

    oracle> ./runInstaller

    执行runInsstaller后如无意外,图形界面就是出来,然后一跟Next就可以完成oracle的安装了。

    3. 设置环境变量

    oracle安装完成后,执行任何command都会提示command not found。

    这是因为oracle的环境变量没有设置,linux从已经有的PATH路径下找不到oracle的command。以下命令来设置oracle需要的一些环境变量。

    root> vi /etc/profile

    添加如下内容:

    export ORACLE_BASE=/myoracle/app

    export ORACLE_HOME=/myoracle/app/product/11.2.0/dbhome_1

    export ORACLE_SID=orcl

    export PATH=$PATH:$ORACLE_HOME/bin

    添加完以上内容以后,查看PATH环境变量(echo $PATH)可以看到,$ORACLE_HOME/bin目录已经在了linux的PATH变量中,执行oracle的command时linux也会搜索这个目录去寻找command的执行文件了。

    安装问题:

    在安装的前一部分会有一个系统检查可能会出现以下问题:

    >>>Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.      Failed<<<<

    解决办法:

    在root下执行以下命令即可以解决:xhost +

    “/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory”

    这是由于在64-bit的OS运行32-bit的程序里可能会出现的问题。使用yum安装32-bit的glibc。

    oracle> sudo yum install glibc.i686

    VM硬盘空间不够;

    有一些VM默认硬盘空间可能不能满足oracle 11g R2的要求,那就需要我们手动添加一个hard disk。

    首先,在VM settings里面添加一个空间足够的Hard Disk。

    启动VM。

    首先要找到新添加的硬盘,然后再格式化,最后Mount上。

    root> fdisk –l 查看linux目前所有的硬盘,找到没有分区的那个硬盘,我的VM中没有分区的硬盘为/dev/hdb

    首先对新硬盘进行格式化:

    root> fdisk /dev/hdb

    此处输入n表示new一个分区

    此处需要选择分区的类型,是主分区还是辅助分区,我选择的是p(主分区)。

    选择了主分区以后会让你再选择分区编号,也就是跟在硬盘名称后面的数字(比如选择1,则分区名为/dev/hdb1)

    接下来的步骤直接回车使用默认值就OK了。

    完成分区以后再执行命令 [root> fdisk –l]可以看到硬盘/dev/hdb已经进行了分区:

    分区完成后,需要对分区再进行格式化,只有格式化了的分区才能进行挂载,linux才可以使用它。格式化硬盘分区命令如下:

    root> mkfs –t ext3 /dev/hdb1

    以上工作全都完成以后就可以对新硬盘进行挂载。

    首先创建一个路径用于挂载新硬盘:

    root> mkdir /hdb1

    root> mount /dev/hdb1 /hdb1

    由于我们会将oracle安装在这个新硬盘上,所以必需合oracle用户有这个挂载的权限,

    root> chown oracle /hdb1

    重启以后需要重新挂载,如果想重启后仍然使挂载有效,则需要添加一条记录到/etc/fstab.

    root> vi /etc/fstab

    在最后添加如下记录:

    /dev/sdb1    /www    ext3    defaults 1 2

    (格式说明:/dev/sdb1 代表哪个分区  ext3是该分区的格式 defaults 是挂载时所要设定的参数(只读,读写,启用quota等),输入defaults包括的参数有(rw、dev、exec、auto、nouser、async) ,1是使用dump是否要记录,0是不要。 2是开机时检查的顺序,是boot系统文件就为1,其他文件系统都为2,如不要检查就为0)

    至此,我们就会有足够的空间来安装oracle了,只要我们在安装oracle的过程中选择安装在/hdb1目录下。

    环境变量都设置好了,但是执行sqlplus时还是提示找不到命令(command not found).

    oracle> sqlplus /nolog
    bash: sqlplus: command not found

    执行如下命令则可以解决:
    root> ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
    [root@dg1 ~]# su - oracle
    [oracle@dg1 ~]$ sqlplus /nolog

    SQL*Plus: Release 10.2.0.1.0 - Production on Mon May 11 12:51:24 2009

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

    SQL> conn / as sysdba
    Connected to an idle instance.

    Oracle can not be started, ORA-00845

    Oracle 11g的Linux版本在修改了MEMORY_TARGET或者SGA_TARGET后启动可能会报错:

    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORA-00845: MEMORY_TARGET not supported on this system

    这个问题是由于设置SGA的大小超过了操作系统/dev/shm的大小:

    [root@enterprice64 ~]# df -k /dev/shm
    Filesystem 1K-blocks Used Available Use% Mounted on
    tmpfs 4089416 0 4089416 0% /dev/shm

    Oracle在metalink的文档:Doc ID: Note:460506.1中进行了说明。解决这个问题只有两个方法,一种是修改初始化参数,使得初始化参数中SGA的设置小于/dev/shm的大小,另一种方法就是调整/dev/shm的大小。

    修改/dev/shm的大小可以通过修改/etc/fstab来实现:

    [root@enterprice64 ~]# vi /etc/fstab

    LABEL=/ / ext3 defaults 1 1
    LABEL=/boot /boot ext3 defaults 1 2
    LABEL=/data /data ext3 defaults 1 2
    devpts /dev/pts devpts gid=5,mode=620 0 0
    #tmpfs /dev/shm tmpfs defaults 0 0
    tmpfs /dev/shm tmpfs defaults,size=10240M 0 0
    LABEL=/home /home ext3 defaults 1 2
    LABEL=/opt /opt ext3 defaults 1 2
    proc /proc proc defaults 0 0
    sysfs /sys sysfs defaults 0 0
    LABEL=/usr /usr ext3 defaults 1 2
    LABEL=/var /var ext3 defaults 1 2
    LABEL=SWAP-sda8 swap swap defaults 0 0
    ~
    ~
    "/etc/fstab" 13L, 965C written
    [root@enterprice64 ~]# umount /dev/shm
    [root@enterprice64 ~]# mount /dev/shm
    [root@enterprice64 ~]# df -k /dev/shm
    Filesystem 1K-blocks Used Available Use% Mounted on
    tmpfs 10485760 0 10485760 0% /dev/shm
    [root@enterprice64 ~]# su - oracle
    [oracle@enterprice64 ~]$ sqlplus "/ as sysdba"

    SQL*Plus: Release 11.1.0.6.0 - Production on Tue Oct 23 15:42:42 2007

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

    Connected to an idle instance.

    SQL> startup
    ORACLE instance started.

    Total System Global Area 4743446528 bytes
    Fixed Size 2143824 bytes
    Variable Size 3892316592 bytes
    Database Buffers 805306368 bytes
    Redo Buffers 43679744 bytes
    Database mounted.
    Database opened.

    修改/etc/fstab,重新mount /dev/shm,然后就可以启动数据库了。

  • 相关阅读:
    Android 使用系统签名打包apk
    创业公司如何巧用工具提高团队生产力——豌豆荚创始人王俊煜讲述团队背后的“利器”
    Spring整合BoneCP+Hibernate配置数据连接池
    EhCache集群方案JGroups
    IOS 目录结构
    关于hibernate的缓存使用
    用webbrowser控件做一个资源管理器,如何得到IE控件中选中(鼠标多选)的文件名称列表?
    轮回!
    转载:谨以此文献给才毕业25年的朋友
    新的开始
  • 原文地址:https://www.cnblogs.com/larson/p/2791938.html
Copyright © 2011-2022 走看看