CentOS 6.5_x64安装Oracle 11g R2

安装环境:

操作系统:CentOS6.5_x64

主机名:Oracle

内存:2G(官方最低要求1G)

硬盘:500G(企业版安装所需4.29G和1.7G数据文件)

安装centos的时候要注意,swap交换分区的大小最好为物理内存的两倍,网络最好配置静态ip,还有安装时把开发工具装上,因为Linux Oracle的安装依赖于gcc,make等开发包。当然x系统也是必须安装的,因为OUI是基于图形界面的嘛。centos安装成功后,我们可以修改一下/etc/initab文件,这样下次启动时,就不会启动图形系统,可以节省不少的内存。

安装前系统准备:

设置操作系统

系统支持Red Hat Enterprise Linux 6,CentOS 6其实就是RHEL6,如果Oracle不认,可以改一下。CentOS6.5 Oracle11gR2不需要修改。

老版本的Oracle需要修改这里

vim /etc/redhat-release

#CentOS release 6.3 (Final) 这行注释掉,加上下面的

Red Hat Enterprise Linux 6

 

1.安装必需的包
安装所需要的依赖包:

binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
gcc-4.1.1-52
gcc-c++-4.1.1-52
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11

挂载安装盘用rpm一个个安装,或者在安装盘中找到以上文件的64位版本并复制到linux系统中指定的目录下,用rpm *命令同时安装。

以下是安装图形界面,已经是图形界面的,不需要安装
yum -y groupinstall "Java Development"
yum -y groupinstall "X Window System"
yum -y groupinstall "GNOME Desktop Environment"
yum -y install vnc-server

 

2.修改主机名
 特别注意 /etc/sysconfig/network中的hostname要与/etc/hosts中的一致
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=oracle


3.设置IP 添加主机名与IP对应记录
vi /etc/hosts
127.0.0.1   localhost
::1         localhost
 192.168.231.100    oracle
#其中192.168.231.100    oracle 很重要,如果不配置,会出错.


4.关闭Selinux
vi  /etc/selinux/config 
SELINUX=disabled


5、创建用户和组
[root@oracle ~]# sysctl -p
[root@oracle ~]# groupadd -g  oinstall
[root@oracle ~]# groupadd -g dba
[root@oracle ~]# useradd -m -g oinstall -G dba oracle
[root@oracle ~]# passwd oracle
[root@oracle ~]# id oracle  #查看oracle用户信息

 

6、修改内核参数
[root@oracle ~]# vi/etc/sysctl.conf  #末尾添加如下
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
net.ipv4.ip_local_port_range = 1024  65535
fs.aio-max-nr = 1048576
以上参数的含义解释如下:
fs.file-max 该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量
kernel.shmmni 该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。
kernel.sem以kernel.sem = 250 32000 100 128为例:
250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。
32000是参数semmns的值,表示系统内可允许的信号量最大数目。
100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量
128是参数semmni的值,表示系统信号量集合总数。

net.core.rmem_default 表示套接字接收缓冲区大小的缺省值。
net.core.wmem_default 表示套接字发送缓冲区大小的缺省值。
net.core.rmem_max该参数指定了接收套接字缓冲区大小的最大值(以字节为单位)
net.core.wmem_max该参数指定了发送套接字缓冲区大小的最大值(以字节为单位)
net.ipv4.ip_local_port_range = 1024  65535系统对本地端口范围限制设置为1024~65000之间
fs.aio-max-nr此参数限制并发未完成的请求,应该设置避免I/O子系统故障。


7、修改系统资源限制
[root@oracle ~]# vi/etc/security/limits.conf #末尾添加如下
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack  10240
出于性能上的考虑,还需要需要进行以上设定,以便改进Oracle用户的有关 nofile(可打开的文件描述符的最大数)和nproc(单个用户可用

的最大进程数量)

soft是软限制 ,用户可以超过这个设置的值,但一定不能超过hard 的值 。一般soft比hard小。hard是硬限制

vi /etc/pam.d/login
session    required    pam_namespace.so  #下面添加一条pam_limits.so
session required /lib64/security/pam_limits.so
 
vi/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
如果用户为oracle,用户shell="/bin/ksh" 
ulimit –p 16384限制管道缓冲区的大小为16384
ulimit –n 65536表示可以打开最大文件描述符的数量为65536
ulimit – u 16384;限制用户最多可以使用16384个进程

 

8、创建安装目录及设置权限
[root@oracle ~]# mkdir  -p /hywl/oracle/app/product/11.1.1/db_1
 [root@oracle ~]# mkdir /hywl/oracle/oradata/
[root@oracle ~]# chmod 755 /hywl/oracle/
[root@oracle ~]# chmod 775 /hywl/oracle/app/
[root@oracle ~]# chown oracle.oinstall -R /hywl/oracle

 

9、设置oracle环境变量
[oracle@oracle ~]$ vi ~/.bash_profile
unset USERNAME
export ORACLE_BASE=/hywl/oracle/app
export ORACLE_HOME=/hywl/oracle/app/product/11.1.1/db_1

export ORACLE_SID=hywl
export PATH=/hywl/oracle/app/product/11.1.1/db_1/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LD_LIBRARY_PATH=/hywl/oracle/app/product/11.1.1/db_1/lib:/usr/lib
#export ORACLE_HOME_LISTNER=$ORACLE_HOME   # Oracle安装完成后再打开Listener
umask 022
[oracle@oracle ~]$ source .bash_profile  #立即生效

 

10、安装oracle
下载并解压:
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
[root@oracle~]# unzip /media/linux.x64_11gR2_database_1of2.zip
[root@oracle~]# unzip /media/linux.x64_11gR2_database_2of2.zip
[root@oracle~]# xhost +  #使所有用户都能访问图形桌面
[root@oracle~]# su – oracle
打开linux终端,进去解压后的目录
[oracle@oracle~]$ cd /database
为了防止oracle安装过程中的中文乱码问题,设置语言为英文
[oracle@oracle]$
[oracle@oracle]$ sh runInstaller
[oracle@oracle~]#./media/database/runInstaller

 #输入接受一些安全问题的邮件地址(什么也不输入)

# 选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件

#选择服务器版本

#单实例数据库

#高级模式安装

#添加支持的语言

#选择要安装的版本

#安装数据库目录

Oracle Base: /hywl/oracle/app

Sofeware Location: /hywl/oracle/app/product/11.1.1/db_1

#数据库用途

#数据库名及服务名:都为hywl

#开启自动内存管理

#设置默认编码为UTF8

#启用Oracle企业管理控制台OEM

#选择数据库文件目录

#自动备份设置:不启用

#设置数据库用户名和密码(oracleroot)

#授权的组

#检查Oracle一些安装要求,包都已经安装,直接忽略

#开始安装

#安装即将完成

#解锁用户SCOTT, SCOTT的默认口令为tiger。

#弹出“执行配置脚本”对对话框

安装完成后,会出来一个对话框,如上图,提示使用root用户执行这两个脚本

[root@oracle~]$ /hywl/oracle/app/oraInventory/orainstRoot.sh

[root@oracle~]$ /hywl/oracle/app/product/11.2.0/dbhome_1/root.sh

 

#启动数据库错误:

错误是由于/dev/shm小于MEMORY_TARGET的大小,或者是/dev/shm根本就没有挂载,如果同时设置了MEMORY_TARGET和MENORY_MAX_TARGET,那么/dev/shm至少必须和MEMORY_MAX_TARGET的大小一致。

解决办法:
vi /etc/fstab
修改如下行的设置
tmpfs /dev/shm tmpfs defaults 0 0
改成
tmpfs /dev/shm tmpfs defaults,size=2G 0 0
保存退出
重新mount下shm使其生效
mount -o remount /dev/shm
然后查看内存使用情况:df -h
在umount时,可能会出现device is busy。比较简单的办法可以重启电脑。
$sqlplus / as sysdba
$startup  启动成功了
查看memory_target的大小
SQL> show parameter memory;

 

11.Oracle常用命令
[root@oracle ~]# su – oracle
[oracle@oracle ~]# sqlplus / as sysdba
SQL> startup #启动数据库实例
SQL> shutdown immediate #关闭数据库实例
SQL> select * from tab; #查看所有表
SQL> select name from v$datafile #查看数据库存放目录
SQL> show parameter service #查看服务名
SQL> select * from v$instance; #查看实例名
SQL> select name from v$database; #查看数据库名
SQL> select * fromdba_users; #查看所有用户信息
SQL> select username,password from dba_users; #只查询用户和密码
SQL> select * from v$pwfile_users; #查看具有sysdba权限的用户
SQL> select * from dba_ustats; #查看当前用户信息
SQL> select * from user_sys_privs #查看当前用户系统权限
SQL> select * fromuser_role_privs #查看当前用户角色
SQL> select * fromdba_sys_privs #查看指定用户所具有的系统权限
SQL> select * from v$version #查看oracle版本
SQL> select * fromuser_views #查看视图信息
[root@oracle ~]# lsnrctl start #开启远程监听端口

 

 

 

 

本文出自 “青青家园” 博客,请务必保留此出处http://77jiayuan.blog.51cto.com/386386/1569389

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。