码迷,mamicode.com
首页 > 数据库 > 详细

在Linux中安装Oracle(较详细图解)

时间:2016-06-21 17:32:11      阅读:884      评论:0      收藏:0      [点我收藏+]

标签:

原创

安装RHEL6

    假设你已经正确安装VM软件并激活。点击创建新的虚拟机:

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

这个你可以将其安装的内存小一些,也没有多大的关系

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享

点击虚拟机菜单栏上的编辑->虚拟网络配置

 

 技术分享

技术分享

设置网络(要根据自己的实际情况设定):

技术分享

设置分区:

技术分享

创建分区的要点大致如下:

分区名称

大小(MB)

/boot

128

swap

4096

/

20480

/home

5000

 

 

技术分享

技术分享

技术分享

技术分享

 

技术分享

此外,这块你也要选择一些那个“开发”中选项,将那个能选择的全选择了,安装oracle是会省很多的事情。

 技术分享

后面设置全部自动

 技术分享

出现此画面表示安装成功!

安装VMwaretools的操作略过,请自行完成

可以参考这个:http://www.cnblogs.com/nucdy/p/5235791.html

在Linux操作系统中安装Oracle

1.以root用户登录Linux

    首先要以root登录,获取Linux下的最高权限。登录时选择其他账户,用户名输入root,密码输入安装时设置的root密码,记得选择语言为中文(屏幕最下方正中间位置)。得到如图所示的结果。

技术分享

 

 技术分享

技术分享

技术分享

 

  

2.安装前的准备工作

2.0 设置IP地址为静态(固定IP地址)

         如果你还没有设置IP为静态,请现在设置。

你这个在安装的时候就设置了,老师上课已经讲了,我就不在写了。

你可以验证一下,在这里

技术分享

技术分享

192.168.8.201我是绑定了VMware Virtual Ethernet Adapter for VMnet8 ,和其在一个网段

VMnet8 的ip地址是:192.168.8.111

2.1 修改stsctl.conf文件

    Linux是为小文件设计的,Oracle数据库安装需要占用较多资源,要把各项参数调大。

    使用vi编辑/etc/sysctl.conf文件。命令如下:

vi /etc/sysctl.conf

 

    按i进入插入模式,把光标移到文档最后,将以下一段文字(复制自Oracle 11g官方文档)插入到文档最后。

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 = 1048576

net.ipv4.tcp_wmem = 262144 262144 262144

 net.ipv4.tcp_rmem = 4194304 4194304 4194304

 技术分享

技术分享

 注意注释掉

 # Disable netfilter on bridges.

 #net.bridge.bridge-nf-call-ip6tables = 0

 #net.bridge.bridge-nf-call-iptables = 0

 #net.bridge.bridge-nf-call-arptables = 0

(重新加载这些参数,一定要重启系统,其他不使用)

    复制完成后,按【ESC】键输入:wq保存退出。

 

各参数详解:

kernel.shmmax:是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

 

官方建议值:

32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。

 

kernel.shmall: 该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZE和SGA_TARGET为12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G)

 

kernel.shmmni:该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。

 

fs.file-max:该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。

 

fs.aio-max-nr:此参数限制并发未完成的请求,应该设置避免I/O子系统故障。推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个。

 

kernel.sem:以kernel.sem = 250 32000 100 128为例:

       250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

       32000是参数semmns的值,表示系统内可允许的信号量最大数目。

       100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

       128是参数semmni的值,表示系统信号量集合总数。

 

net.ipv4.ip_local_port_range:表示应用程序可使用的IPv4端口范围。

net.core.rmem_default:表示套接字接收缓冲区大小的缺省值。

net.core.rmem_max:表示套接字接收缓冲区大小的最大值。

net.core.wmem_default:表示套接字发送缓冲区大小的缺省值。

net.core.wmem_max:表示套接字发送缓冲区大小的最大值。

 

 

 

 

 

2.2 修改limits.conf

    修改:/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

 技术分享

保存并退出。

2.3 重启系统

    修改完参数之后就要重启了,这样做是为了系统能认识我们之前配置的参数。输入以下命令:

reboot

技术分享

2.4 执行一系列操作

    以普通用户登录(千万不要用root!!!!),然后切换到root用户。(密码就是root的密码)

su root

技术分享

执行以下命令:

2.4.1 创建组dba

groupadd dba

 技术分享

tail /etc/group

 技术分享

2.4.2 创建oracle用户并添加到dba组

    继续输入以下命令:

useradd oracle

 

技术分享

 

 

    将oracle用户添加到dba组

usermod -g dba oracle

 

 技术分享

给这个用户加一个密码(密码一定要好记,别管他的提示),命令如下:

passwd oracle

 

技术分享

 

 

测试一下刚才的操作是否成功:

tail /etc/group

tail /etc/passwd

 技术分享

2.4.3 为Oracle安装创建目录

    执行以下命令创建目录:

mkdir -p /u01/app/oracle

技术分享

执行以下命令,将文件的属主改为Oracle,属组改为dba:

chown -R oracle:dba /u01/app/oracle

技术分享

修改文件的访问权限为777(4+2+1,4+2+1,4+2+1):

chmod -R 777 /u01/app/oracle

技术分享

2.4.4 切换到Oracle用户

su oracle

技术分享

2.4.5 配置概要文件

    输入以下命令:

cd /home/oracle

vi .bashrc

    进入vi后按键盘上的字母i切换到插入模式,然后插入以下内容:

umask 002

ORACLE_BASE=/u01/app/oracle

export ORACLE_BASE

 

ORACLE_HOME=$ORACLE_BASE/product/11.2.0

export ORACLE_HOME

 

ORACLE_SID=localhost.localdomain

export ORACLE_SID

 

PATH=/usr/bin:/bin:usr/local/bin:/usr/bin/X11:/usr/bin/X11R6

PATH=$PATH:$ORACLE_HOME/bin

export PATH

技术分享

4、添加/etc/hosts中dns解析信息

192.168.1.102             jiangwf-linux(这个是你安装linux时的主机名)

192.168.1.102             localhost

 

 

5.root 用户下

  vi /etc/pam.d/login

   session required /lib/security/pam_limits.so

   session required pam_limits.so 

 

 

(重新加载这些参数,一定要重启系统,其他不使用)

 

至此,准备工作全部完成!

 

 

3.安装Oracle

3.1 创建安装目录并将其属组改为Oracle

    获取root权限并执行以下命令:

su root

mkdir /u01/app/oraInventory

ls -l /u01/app

chown -R oracle:dba /u01/app/oraInventory

chmod -R 775 /u01/app/oraInventory

ls -l /u01/app

技术分享

3.2 解压Oracle安装文件

    先将oracle安装程序拷贝到一个目录下(我解压到tmp的oracle目录下,如果没有,自己建一个目录,在外面复制安装程序,里面粘贴。如果文件无法导入到虚拟机,请检查VMtools是否正确安装):

 技术分享

技术分享

 

 

 

 

 

 

 

 

 技术分享

技术分享

另一个文件同理。最终得到如下结果:

 

 技术分享

3.3 运行安装文件

如你当前系统环境是英文的环境一些不用看

若你是当前系统环境是中文的环境必须看,否则会出现框框乱码问题,

**——设置编码方式:在oracle用户下:

export LANG=en_US.UTF-8

这个你可以参考博客:http://www.cnblogs.com/nucdy/p/5598497.html

有关一个“red hat 系统将中文设置为英文环境“ 文章

若你已经运行了,没有关系,点击oracle的那个close ,

然后在命令行中以oracle用户下输入

export LANG=en_US.UTF-8

而后执行下面继续运行没有问题

***)

 

cd /tmp/Oracle/database  //这个是进入到你oracle解压后的目录下,根据你自己

./runInstaller

 技术分享

技术分享

技术分享

技术分享

 

 技术分享

下一步是典型安装:毕竟现在在是用来进行学习的,先安装上即可,不用先急的去安装一个自己手工设置的数据事例,以后在进行尝试也不迟,况且这样做完了,你还得进行配置更多的其他东西,你可以网上搜索一下,安装完还是要需要进行一些数据库事例的相关配置很麻烦的,这个先不讲,以下我主要介绍是典型安装的过程

 

 

选择typical install

 

然后,选择下一步,下一步

接下来是会出现,一下界面,你按照这个继续进行中就行

技术分享

由于Oracle安装时缺少依赖包,我们需要添加这些依赖包,命令另起一个终端,输入:

 

 

安装依赖包比较麻烦,可以直接把老师发的iso文件放入linux,(/media/RHEL_6.2 i386 Disc 1/Packages) ,这个目录找上面对应的所需要的.rmp 文件,进行安装

rpm -ivh xxx.rpm安装即可

技术分享

在packages找到相应的rpm文件,在终端执行命令 rpm -ivh xxx.rpm安装即可

可能出现的错误(包很多或者修改文件权限不够):例如

技术分享

技术分享

 

 技术分享

其实,我想说的是出现这个问题,是应为你在安装linux时候就应该选择定制软件包的时候,选择上那个“开发” ,将那几个能选择的都选择上肯定不会出现这种情况。

当然,你也可以自己找找,里面有关这个gcc c 啥啥的东西,后面忘了,还有gcc c++啥的包,就不会出现上面的问题

 

解决这个问题可以参考http://blog.csdn.net/zb0567/article/details/41048263或者百度。

 

 

(其中,在这里若出现了那个soft Limit:maximux usr pricess 情况,即:maximum user processes),是你之前配置的 /etc/security/limits.conf中出现问题了,请去检查相关的是否写错。

 

技术分享

同时。老师那个/etc/sysctl.conf中信息的一个信息改为:kernel.shmall = 2097152

/etc/sysctl.conf中信息

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

 net.ipv4.tcp_wmem = 262144 262144 262144

 net.ipv4.tcp_rmem = 4194304 4194304 4194304

 

 

 

 

找到相应依赖包,如果不能成功的话,su root ——>输入密码  然后找到对应的rpm文件再重新在终端执行命令 rpm -ivh xxx.rpm。

 

大家可以参考文档http://www.jb51.net/article/53769.htm

而后点击安装完上面的rpm后,点击Check again 即可,没问题,就下一步

技术分享

这块,没有截图,有一个从新弹出一个框,

而后,你可以将点击那个修改,进行将一些用户进行解锁,

比如较为长用的一个用户Scott,将对勾进行点击去掉,而后输入密码,确认密码,

点击确定,对话框点击yes

 

后面就行下一步,继续即可

技术分享

 

 

看到这个页面可以初步判断oracle初步安装成功,接下来按照步骤创建数据库即可。

 

我安装参考的文档:http://www.jb51.net/article/53769.htm

好,上面如果你能成功的安装了,就暂时说明好了,但是你还得去oracle中查看一下,是否启动。

 

(我一般是将的关闭防火墙:chkconfig iptables off)读者可以不去选择去执行

 

手工启动:(这里是启动一些服务,就行windows中的服务一些,需要手工启动,读者进操作一些的命令即可)

 

[oracle@crmdb ~]$ lsnrctl start           //success 表明成功

[oracle@crmdb ~]$ dbstart   //启动监听器,我自己试了一下,没启动也没有事情

[oracle@crmdb ~]$ emctl start dbconsole   

//自后出现啥啥啥success,代表成功 ,这个是可以启动浏览器的进行的操作

/**浏览器中输入https://localhost:1158/em/ 

//usrname :sys

//password:自己设置的密码

技术分享

登录即可,出现  

技术分享

就行了

****/

 

//下面我没有操作,而是直接进行后面步骤:“二、去试试你安装的数据库,查看一下是否能用”

应对shared memory realm does not exist 错误的处理

1、实例没有启动

sqlplus /nolog

connect / as sysdba

startup

 

*****************************************************

监听器启动出现问题:

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

使用oracle用户执行dbstart启动数据库提示如下:

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

Usage: /oracle/11g/bin/dbstart ORACLE_HOME

Processing Database instance "orcl": log file /oracle/11g/startup.log

 

修改dbstart以及dbshut两个文件

--------------------------

第一步:

把ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle注释掉

然后修改/home/oracle/.bash_profile

添加export ORACLE_HOME_LISTNER=$ORACLE_HOME一句

生效变量:

[root@oracle01 ~]# source /home/oracle/.bash_profile

---------------------------

第二步:

#vi /etc/oratab

找到orcl=/u01/app/oracle:N这一行

改为:

orcl=/u01/app/oracle:Y

也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动。即可解决问题$

*******************************************************

 

自动启动的脚本:

**********1******************************

首先修改/etc/oratab文件

#vi /etc/oratab

找到orcl=/u01/app/oracle:N这一行

改为:

orcl=/u01/app/oracle:Y

也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动。

 

**********2************************************

启动了Linux系统之后,转到  /etc/init.d  目录下;

[root@oracle ~]# cd /etc/init.d

使用 vi 命令,新建一个以 oracle 命名的文件(并将以下代码复制至文件中)

[root@oracle init.d]# vi oracle

以下是代码:

曾经出现过一个问题:

“服务不支持 chkconfig”:——这个提示是因为oracle自启动脚本前面必须要有以下这两行

#chkconfig: 2345 00 01

#description:oracle 11g service

--------------------------------------------------------------------------------------------------------------

#!/bin/sh

# chkconfig: 345 61 61

# description: Oracle 11g AutoRun Services

# /etc/init.d/oracle

#

# Run-level Startup script for the Oracle Instance, Listener, and

# Web Interface

 

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/oracle

export ORACLE_SID=zqaccp

export PATH=$PATH:$ORACLE_HOME/bin

 

ORA_OWNR="oracle"

 

# if the executables do not exist -- display error

 

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

     echo "Oracle startup: cannot start"

     exit 1

fi

 

# depending on parameter -- startup, shutdown, restart

# of the instance and listener or usage display

 

case "$1" in

 start)

     # Oracle listener and instance startup

     su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart

     echo "Oracle dbserver Start Succesful!OK."

     su $ORA_OWNR -lc "$ORACLE_HOME/bin/emctl start dbconsole"

     echo "Oracle dbconsole Start Succesful!OK."

     su $ORA_OWNR -lc "$ORACLE_HOME/bin/lsnrctl start"

     echo "Oracle Listeners Start Succesful!OK."

     ;;

 stop)

     # Oracle listener and instance shutdown

     su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut

     echo "Oracle Stop Succesful!OK."

     ;;

 reload|restart)

     $0 stop

     $0 start

     ;;

 *)

     echo $"Usage: `basename $0` {start|stop|reload|reload}"

     exit 1

esac

exit 0

 

-------------------------------------------------------------------------------------------------------------

 

 在编辑完成之后,使用 :x  命令保存此文件。

 

赋予执行权限

 

[root@oracle init.d]# chmod 750 /etc/init.d/oracle

 

链接:

 

[root@oracle init.d]# ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle

 

[root@oracle init.d]# ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle

 

执行以下命令:

 

[root@oracle init.d]# chkconfig --level 345 oracle on

 

[root@oracle init.d]# chkconfig --add oracle         //添加到服务里

 

 

 

二、去试试你安装的数据库,查看一下是否能用

 [oracle@mylinux database]$ sqlplus / as sysdba

 

SQL*Plus: Release 11.2.0.3.0 Production on Sat Nov 5 05:50:34 2011

 

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

 

 

Connected to:

 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – Production

 With the Partitioning, OLAP, Data Mining and Real Application Testing options

 

SQL> select * from v$version;

 

BANNER

 ——————————————————————————–

 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 – Production

 PL/SQL Release 11.2.0.3.0 – Production

 CORE    11.2.0.3.0      Production

 TNS for Linux: Version 11.2.0.3.0 – Production

 NLSRTL Version 11.2.0.3.0 – Production

 

 

//你也可以用账号scott 进行登录,(注意:在安装的时候要进行解锁,设置密码,和windows中安装是进行解锁操作一样)

登陆:      sql>conn scott/你设置密码

查看dept:  sql>select * from dept;

 

 

 

-------------------------------------------

要让修改的ip永久生效就必须修改配置文件/etc/sysconfig/network-scrips/ifcfg-eth0

 

DEVICE=eth0

BOOTPROTO=none

HWADDR=00:13:D3:90:95:4D

ONBOOT=yes

TYPE=Ethernet

NETMASK=255.255.255.0

IPADDR=192.168.2.102

USERCTL=no

IPV6INIT=no

PEERDNS=yes

IGATEWAY=61.144.47.225

GATEWAY=61.144.47.225

 

 DEVICE=eth0

 BOOTPROTO=none

 BROADCAST=192.168.1.255

 IPADDR=192.168.1.33

 NETMASK=255.255.255.0

 NETWORK=192.168.1.0

 ONBOOT=yes

 USERCTL=no

 PEERDNS=no

 TYPE=Ethernet

---------------------------------------------------------------------------

 

 

 

 

 

 

在Linux中安装Oracle(较详细图解)

标签:

原文地址:http://www.cnblogs.com/nucdy/p/5603998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!