linux 环境下安装oracle11g方法及安装过程中遇上的问题解决方法

  

 Oralce安装教程

1、先安装需要的依赖包

找到哪个没有安装,直接yum install XX,直到所有的都安装完成。注意,可能一个包安装了,再次执行检查,还是提示没有安装,那么就不需要管他们了,继续安装下面的。

rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

2、创建用户

需要创建一个oralce用户,并创建两个组dba,oinstall,且将oralce添加至组oinstall和附加到dba组,具体命令如下:

/usr/sbin/groupadd oinstall

/usr/sbin/groupadd dba

/usr/sbin/useradd -m -g oinstall -G dba oracle

passwd oracle

注意,这里的useradd g: 新账户主组的名称或 ID,-G: 新账户的附加组列表,-m: 创建用户的主目录

3、创建必要的目录,并赋权限。

mkdir -p /u01/app/oracle

mkdir -p /u01/app/oracle/db_1

mkdir -p /u01/app/oracle/oradate

mkdir -p /u01/app/oracle/install

mkdir -p /u01/app/oracle/oraInventory

chown -R oracle:oinstall /u01/app

chmod -R 775 /u01/app

4、修改各种系统参数。

直接执行下面的语句就行。

cat >> /etc/sysctl.conf <<EOF (从这里开始)

# Kernel paramaters required by Oracle 11g R2

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

EOF 

/sbin/sysctl -p

 

cat >> /etc/security/limits.conf <<EOF 

oracle soft nproc 2047 

oracle hard nproc 16384 

oracle soft nofile 1024 

oracle hard nofile 65536 

EOF(到这里结束)

后面的都是一样!!!!!!!!!

cat >> /etc/pam.d/login <<EOF 

session required /lib64/security/pam_limits.so

EOF

注意:

32位系统用:

session required /lib/security/pam_limits.so

64系统用:

session required /lib64/security/pam_limits.so

如果不写对,在命令行模式下,是无法登陆系统的。

!!!!!!!!!!!!!!

 

 

cat >> /etc/profile <<EOF

if [ $USER = "oracle" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

              ulimit -p 16384

              ulimit -n 65536

        else

              ulimit -u 16384 -n 65536

        fi

fi

EOF

 

cat >> /etc/csh.login <<EOF

# For Oracle Install

if ( $USER == "oracle" ) then
    limit maxproc 16384
    limit descriptors 65536
    umask 022
end if

EOF

5、设置环境变量

注意,这个步骤需要切换到oracle用户,

cd /home/oracle

 

cat >> /home/oracle/.bash_profile <<EOF

# For Oracle Install  

TMP=/tmp;

export TMP;

TMPDIR=$TMP;

export TMPDIR;

ORACLE_BASE=/u01/app/oracle;

export ORACLE_BASE;

ORACLE_HOME=$ORACLE_BASE/db_1;

export ORACLE_HOME;

ORACLE_SID=orcl;

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

EOF

注意一下,当所有系统变量和环境变量配置好之后,要cat一下看看是不是都增加或者修改成功!!!!!!!

================== 华丽的分割线 ==================

============== 准备工作完成,开始安装 ===============

================== 华丽的分割线 ==================

6、开始安装

先将数据库文件放入到/u01/app/oracle/install中,然后用解压软件解压,

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

《解压好之后,先在root用户下执行xhost  + 使得能够任意进行连接。后su 到oracle用户下,执行export LANG=en后, 再进入到/u01/app/oracle/install/database下执行 ./runInstaller进行安装》   

需要进入到vnc界面才能进行安装(原因未知,虚拟机上直接执行一直报错,报错为:检查监视器: 监视器配置至少必须显示 256 种颜色

    >>> 无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。 未通过<<<<-网上百度方法,是root 用户下执行xhost +  然后进入oracle用户执行./runInstaller就可以,但是我在虚拟机上执行后不行,最后在vnc上执行xhost + 发现执行通过,并能正常安装)--------自己补充的说明

进入到 datebase文件夹,

 ./runInstaller

注意,这里,需要用桌面环境,如果你的机器没有安装桌面环境,需要安装,然后再桌面环境里执行./runInstaller ,安装桌面环境命令如下:

yum groupinstall "Desktop"   "Desktop Platform"   "Desktop Platform Development"  "Fonts"  "General Purpose Desktop"  "Graphical Administration Tools"  "Graphics Creation Tools"  "Input Methods"  "X Window System"  "Chinese Support [zh]" "Internet Browser"

安装完成桌面环境,在桌面环境内执行./runInstaller后,发现弹出来的东西中文乱码,在命令行敲入:export LANG=en,然后再安装。

7、安装数据库

1)去除图中这个钩,然后点击下一步。

 

2)点击“yes”。

 

(3)这里选择只安装软件,并下一步。

 

4)选择单数据库安装,并下一步。

 

5)选择“简体中文”,并下一步。

 

6)选择企业版,并下一步。

 

7)配置Oracle Base目录和Softwore Location目录,注意,这里的Oracle Base目录要和前面设置的环境变量一致,下面的Softwore Location目录要和前面设置的环境变量

一致。

 

8)选择目录,这个目录之间建立过。

 

9)直接点击下一步。

 

10)接下来会到达检查依赖的步骤,他会提示很多依赖有问题,但是其实没关系,你已经安装好了,直接点击右上角的“忽略全部”即可,然后下一步。

 

11)点击“完成”。然后就会开始安装,这可能需要等一会。

 

有可能还未执行到94%的时候,在84%的时候就卡住,那么应该是内存不够的原因,进入虚拟机修改一下内存大小为3g生效之后,会快速安装到94%(具体如果半天不动可以依据提示进行百度)

12)当安装到94%的时候,会弹出一个小框,让你用root用户执行以下脚本。执行完了之后,点击OK。

 

13)执行脚本:/u01/app/oraInventory/orainstRoot.sh

 

14)执行脚本:/u01/app/oracle/db_1/root.sh

15)这样就安装完成了,点击“关闭”,结束安装。

 

16)然后,oracle就安装完毕了。别高兴太早,后面还有其他的。

8、配置监听器

如果一开始的系统变量和环境变量没有配置好,而oracle侥幸安装成功了,那么这里的netca命令是不会生效的,它会出现提示,.bash:netcacommand not found ,这时候需要回过头看看这些变量设置好了没有,然后重新授权,重新安装oracle,发现一切都很顺利,并且netca命令生效!!!!!!

1)在终端中使用netca命令启动创建监听器。

 

2)选择“监听器配置”,并下一步。

 

3)选择“增加”,并执行下一步。

 

4)输入监听的名称(默认就行),并点击下一步。

 

5)直接下一步。

 

(6)使用默认的端口号:1521,直接下一步。

注意:在这个地方点击下一步的时候没有马上到下一步的时候,可能就会出现提示说1521端口被占用,那么这时候你需要看看你的地址是不是设置的静态ip,如果是动态的,你不知道具体多少,用ifconfig查看一下,然后vim /etc/hosts,将里面的关于主机名和ip的换成你现在的动态ip,然后继续点击下一步,就可以进入到下一步了

7)不需要配置其他监听器了,直接下一步。

 

8)监听配置完成,下一步。

 

9)点击“完成”,结束监听器的配置。

 

9、创建数据库实例

1)在终端中使用dbca命令启动创建数据库实例。

 

2)点击“下一步”开始配置。

 

3)选择“创建数据库”,并点击下一步。

 

4)直接点击下一步。

 

5)(这个地方你可以查看一下你配置的环境变量/home/oracle/.bash_profile里面的ORACLE_SID是多少填写实例名,这里需要与之前配置的环境变量中的保持一致,然后点击“下一步”。

 

6)这个地方直接点击“下一步”。

 

7)接下来设置所有用户的密码,建议全部设置一样就行,我设置的就是123456。生产环境可不建议这样设置。

 

8)跟我说,密码太简单了,是否要继续,当然是继续拉。

 

9)这两个地方直接选择下一步。

 

 

10)选择简单的文法,并下一步。

 

11)设置编码格式为UTF-8。

 

12)直接点击“下一步”。

 

13)选择“创建数据库”,并点击下一步。

 

14)在弹出框里点击OK。

 

15)然后就开始创建数据库实例了,这个过程需要等一会。(这个地方要耐心等待,因为需要一段时间)

 

16)创建完成后弹了一个说明,直接退出即可。

 

17)至此,安装步骤结束,接下来开始进行各种配置了。

10、启动数据实例

启动数据库实例,分为两步:第一步,启动监听;第二步,启动数据库实例。

su - oracle     --“切换到oracle用户”

lsnrctl start       --“打开监听”

sqlplus /nolog      --“进入到sqlplus”

conn /as sysdba     --“连接到sysdba”

startup        --“启动数据库实例”

shutdown immediate    --“关闭数据库实例”

exit             --“退出sqlplus”

lsnrctl stop     --“关闭监听”

上面的命令很重要!!!!!!!!!

 

还有一种方法,不需要登陆sqlplus都ok

先启动监听 lsnrctl start

启动实例  dbstart

使用dbstart命令启动数据库比较方便,但是在linux上安装好oracle之后,第一次使用dbstart命令可能会报如下错误:

[oracle@localhost ~]$ dbstart

ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener

Usage: /u01/app/oracle/db_1/bin/dbstart ORACLE_HOME

错误原因

dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题

解决方法(注意这两个文件的位置,在你安装的oracle子目录里面,我的是在/u01/app/oracle/db_1/bin下面

分别打开两个文件找到:ORACLE_HOME_LISTNER=$1,修改为

ORACLE_HOME_LISTNER=$ORACLE_HOME,命令如下:

[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbstart

[oracle@oracle11g ~]$ vi $ORACLE_HOME/bin/dbshut

修改后保存退出,问题解决,此时再运行dbstart,已经不报错了,但是没有任何反应,ps一下进程,没有oracle的进程,说明oracle实例没有正常启动。

 

此时的原因是在/etc/oratab的设置问题,(注意这里的是在cd /下面的/etc/oratab里面设置我们cat一下,发现

orcl:/u01/app/oracle/db_1:N

最后设置的是"N"(我的环境中只菜单有一个实例,因此只有一行配置语句),我们需要把“N”修改为“Y”。

11、设置开机自动启动

Root用户下)/etc/rc.d/rc.local中加入如下语句即可实现同系统启动实例:

su - oracle -c "lsnrctl start"

su - oracle -c "dbstart"

11、测试

安装完了,怎么知道自己安装的有没有问题呢?当然需要测试一下啦。

1、重启机器,然后oracle是会自动启动的。

2、输入:sqlplus /nolog 连上oralce。

3、切换到 dba:conn /as sysdba

4、执行:select * from fwb;

5、如果报找不到表,则代表正常。(因为我们本来就没有这个表。)

[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on Thu Dec 22 17:59:04 2016

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

SQL> conn /as sysdba

Connected.

SQL>

SQL> select * from fwb;

select * from fwb

              *

ERROR at line 1:

ORA-00942: table or view does not exist

到这里整个oracle的安装就完毕了,如果有问题可以一起交流。

原文地址:https://www.cnblogs.com/qingqing74647464/p/7382157.html