RedHat Linux6.3下安装oracle记录

目录

1、创建用户、组

 2、创建安装目录,赋权限等等;

3、设置环境变量

4、配置系统内核参数

5、为oracle用户添加shell配置

6、修改tmpfs大小

7、修改默认swap大小

7.1 使用DD命令创建一个文件:

 7.2 格式华及启动swap文件 

7.3 开机时自动启动新添加的swap分区 

8、执行安装程序

9、安装完之后修改密码180天到期设置及默认不导出空表的设置。


1、创建用户、组

[root@Holmofy ~]# groupadd oinstall 
[root@Holmofy ~]# groupadd dba 
[root@Holmofy ~]# useradd -g oinstall -G dba oracle

创建用户之后,可以使用passwd oracle命令对oracle用户的密码进行设置或修改。 

可以使用id oracle命令核查oracle用户是否配置完善:看Oracle是否属于oinstalldba用户组。

 2、创建安装目录,赋权限等等;

[root@localhost ~]# mkdir -p /opt/oracle/product 
[root@localhost ~]# mkdir -p /opt/oracle/oradata
[root@localhost ~]# mkdir -p /opt/oraInventory
[root@localhost ~]# mkdir -p /var/opt/oracle

[root@localhost ~]# chown -R oracle:oinstall /opt/oracle/
[root@localhost ~]# chown -R oracle:oinstall /opt/oraInventory
[root@localhost ~]# chown -R oracle:oinstall /var/opt/oracle

[root@localhost ~]# chmod -R 755 /opt/oracle
[root@localhost ~]# chmod -R 755 /var/opt/oracle

3、设置环境变量

[root@localhost ~]# vim /home/oracle/.bash_profile

在文件底部加上:

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=/opt/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_TERM=vt100
export PATH=$ORACLE_HOME/bin:$PATH

 执行以下命令让配置马上生效:

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

4、配置系统内核参数

/etc/sysctl.conf文件中,添加以下内核参数:

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.wmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_max = 1048586

然后执行以下命令让配置文件马上生效:

[root@localhost ~]# /sbin/sysctl -p

如果这个内核参数不预先配置,在安装过程中,oracle也会检查,并提示切换到root用户执行它提供的脚本,据观察,它提供的脚本修改的参数即上面提到的内容,如下图所示:

5、为oracle用户添加shell配置

为了提高Oracle软件性能,需要为Oracle用户添加以下shell配置:

Shell Limit 在limits.conf中的项 硬限制
打开文件描述符的最大数量 nofile 65536
单个用户可用的最大进程数 nproc 16384
进程堆栈段的最大大小 stack 10240

步骤如下:

5.1 在 /etc/security/limits.conf 文件中,添加以下参数:

oracle           soft        nproc   2047
oracle           hard      nproc   16384
oracle           soft        nofile   1024
oracle           hard       nofile   65536

5.2 在 /etc/pam.d/login 文件中添加一行:

session    required     pam_limits.so

5.3 在 /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

然后执行以下命令让修改后的profile立即生效:

[root@localhost ~]# source /etc/profile
[root@localhost ~]# chown -R oracle:oinstall database
[root@localhost ~]# chmod -R 755 database

6、修改tmpfs大小

tmpfs默认大小为物理内存的一半,查看方法:

[root@localhost ~]# df -lh

当安装过程中设置内存超过物理内存一半时,可能会提示

[INS-35172] Target database memory (XXMB) exceeds the systems available shared memory ({0}MB) 

网上的解决方法都是在:/etc/fstab中添加参数,让系统启动时自动加载配置:

 tmpfs            /dev/shm       tmpfs  defaults,size=24G       0 0

tmpfs 的值默认情况是为系统内存的一半,这种配置在RedHat Linux 6.3 下测试,发现这个参数不能生效,即使这里设成24G,OS 启动完毕后,查看tmpfs 的大小还是会变成内存的一半。

因此如果我们只修改/etc/fstab,在RedHat Linux6.3 下没有效果。

除了在/etc/fstab中添加上述参数,我们还需要修改另一个配置文件,才可以使fstab中tmpfs的修改生效:/etc/rc.d/rc.sysinit

第一步:注释如下语句

#mount -f /dev/shm >/dev/null2>&1

第二步:

在rc.sysinit 中找到如下内容:

# Mount all other filesystems (except forNFS and /proc, which is already

# mounted). Contrary to standard usage,

# filesystems are NOT unmounted in singleuser mode.

if [ "$READONLY" !="yes" ] ; then

       action $"Mounting local filesystems: " mount -a -t nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev

else

       action $"Mounting local filesystems: " mount -a -n -t nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev

fi

在如下部分里添加tmpfs 这个类型进去:

if [ "$READONLY" !="yes" ] ; then

       action $"Mounting local filesystems: " mount -a -t tmpfs,nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -O no_netdev

else

       action $"Mounting local filesystems: " mount -a -n -t tmpfs,nonfs,nfs4,smbfs,ncpfs,cifs,gfs,gfs2 -Ono_netdev

fi

然后重启OS:

[root@rac1 ~]# df -lh

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda3              14G   11G 2.4G  83% /

tmpfs                 24G   88K 3.0G   1% /dev/shm

/dev/sda1             194M   46M 139M  25% /boot

现在重启之后,tmpfs 就可以自动按照我们设定的值进行变化了。

7、修改默认swap大小

由于操作系统是默认安装,分区都是系统自动分配的,执行过程中到先决条件检查时,可能会提示 swap 大小不符合要求(测试过程中我将oracle内存设置成了16G),如下图所示:

 增加swap大小的方法有两种:

1. 使用dd命令新建一个文件并挂载为SWAP

2. 增加一个新交换分区

此处只记录使用dd命令新建一个文件并挂载为SWAP的方法:

7.1 使用DD命令创建一个文件:

[root@rac1 ~]# dd if=/dev/zero of=/root/swapfile bs=32k count=917504

(bs=32k指定每个扇区占用32kb,读入了8192+0个区段,输出了8192+0个区段) 
注意:bs参数的目的在于指定每次读取及输入多少个bytes;由于磁盘存取的最小单位为扇区,因此设置bs也等于设置每个扇区的大小;而count的目的则在指定可以使用多少个扇区.因此,可以使用的硬盘空间就等于bs*count.

以上范例为例,可以使用的硬盘空间等于32*1024*917504=30064771.072 (byte),亦等于30GB. )
执行上述命令后,会在/root 目录中创建一个256MB的swapfree的文件  

 7.2 格式华及启动swap文件 

接下来执行mkswap命令,将myswap文件格式化成s文件系统,系统才能使用,切换到/root目录(上述例子中swapfile所在目录),并执行以下命令: 

#将文件格式化为swap文件格式
[root@rac1 ~]# mkswap /root/swapfile 
setting up swapspace version 1 , size = 262144 KB 

#启动swap分区
[root@rac1 ~]# swapon /root/swapfile 

 

用 swapon -s 命令可以检查:

要停止使用新创建的swap文件,只要执行 swapoff /root/swapfile命令即可,如果swap交换文件不再使用,可以删除此文件。

7.3 开机时自动启动新添加的swap分区 

如果每次开机后都要执行swapon命令启动swap分区或者文件,这太麻烦了.这时可以利用文字编辑器在/etc/fstab文件加一行,好让开机时自动启动swap分区及文件: 
/root/swapfile swap swap defaults 0 0 (开机时启动此swap文件) .

此时执行 mount -a 命令,若无报错,修改/etc/fstab成功,此时执行 free -m 查看swap已经变更。

8、执行安装程序

解压缩oracle安装包后,需要将解压后的目录赋权限给oracle用户:

依赖包检查的时候,如果是64位系统,提示i386的包不存在,可以忽略。其中有一个 pkdsh-5.2.14包yum找不到,忽略后可以安装。

9、设置oracle开机自动启动

1.安装好Oracle数据库后: 执行 dbstart和dbshut会提示:

[oracle@oracle11g ~]$ dbstart
ORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener
Usage: /u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart ORACLE_HOME

错误原因是:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:ORACLE_HOME_LISTNER=$1,修改为

ORACLE_HOME_LISTNER=$ORACLE_HOME,命令如下:

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

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

修改后保存退出,第一个问题已解决; 

2.如何在Linux启动时自动启动Oracle监听和实例

首先要解决上面的问题,才能继续哟! 

第一步:修改/etc/oratab文件,命令如下:

[oracle@oracle11g ~]$ vi /etc/oratab

找到:accp:/u01/oracle:N   修改为: accp:/u01/oracle:Y

第二步:把lsnrctl start和dbstart添加到rc.local文件中,命令如下:

[oracle@oracle11g ~]$ vi /etc/rc.d/rc.local

添加:

su oracle -lc "/u01/oracle/bin/lsnrctl start"

su oracle -lc  /u01/oracle/bin/dbstart

注意:第一个命令有空格,所以要用引号的 

重启试试吧!

10、安装完之后修改密码180天到期设置及默认不导出空表的设置。

猜你喜欢

转载自blog.csdn.net/ezgame/article/details/82023825