您的位置:首页 > 数据库 > Oracle

超详细 在linux环境部署oracle 的学习心得(系统部署持续更新~~)

2017-04-20 23:10 731 查看
Oracle安装

检查的命令
内存
# grep MemTotal /proc/meminfo
交换空间
# grep SwapTotal /proc/meminfo
磁盘空间
# df -ah

Linux平台

查看联机文档,可以看出Oracle 11g支持Linux操作系统
http://docs.oracle.com/cd/E11882_01/install.112/e24321/pre_install.htm%23CHDFFBIF
下面是 X86(32位)上Linux


其中RedHat 4与Oracle Linux 4对应,以及与Cent OS
4对应(版本要对应)

需要的软件包支持

通过查看Oracle安装文档中列出的PackageRequirements可以查看在不同平台上需要的软件包,下面列出Asianux
3, Oracle Enterprise Linux 5.0, andRed Hat Enterprise Linux 5.0的要求,检查
导入包的文件夹
1.在虚拟机中设置使用CD/DVD 
使用文件rhat.iso  注意:上面点击连接
2.cd media
3.cd RHEL_6.4 x86_64 Disc 1
4.cd Packages
5.yum install 包名
 
下系统是否安装过这些包,如果没在对应的系统光盘查找对应的rpm包并安装。
检查工作:依次执行:rpm-qa | grep 下面软件包
binutils-2.17.50.0.6

compat-libstdc++-33-3.2.3

elfutils-libelf-0.125

elfutils-libelf-devel-0.125

elfutils-libelf-devel-static-0.125

gcc-4.1.2

gcc-c++-4.1.2

glibc-2.5-24

glibc-common-2.5

glibc-devel-2.5

glibc-headers-2.5

kernel-headers-2.6.18

ksh-20060214

libaio-0.3.106

libaio-devel-0.3.106 

libgcc-4.1.2

libgomp-4.1.2

libstdc++-4.1.2 

libstdc++-devel-4.1.2

make-3.81

sysstat-7.0.2

unixODBC-2.2.11

unixODBC-devel-2.2.11
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
elfutils-libelf-devel-static-0.125

创建Oracle用户

root用户下:创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户
# /usr/sbin/groupadd oinstall

# /usr/sbin/groupadd dba

# /usr/sbin/useradd -g oinstall -G dba oracle(主组oinstall,其它组:dba)

# passwd oracle

修改内核参数

root用户:修改 /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
为使上述配置生效而不重启系统,执行如下命令
# /sbin/sysctl -p

修改用户限制

root用户:修改 /etc/security/limits.conf 文件,加上下面的参数
oracle          soft    nproc   2047

oracle          hard    nproc   16384

oracle          soft    nofile  1024

oracle          hard    nofile  65536

修改用户验证选项

root用户下:修改/etc/pam.d/login文件加上如下参数
session   required     pam_limits.so

修改用户配置文件

root用户下:修改/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

安装目录配置

root用户:
# mkdir -p /u01/oraInventory

# chown -R oracle:oinstall /u01/

# chmod -R 775 /u01/

修改用户bash

$ vi .bash_profile
增加如下内容,主要是修改
export ORACLE_BASE=/u01 

export ORACLE_HOME=$ORACLE_BASE/oracle

export ORACLE_SID=oracleSid 

export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
完成后执行:
#su –oracle
#env | grep ORA查看环境变量是否完成

Oracle 11g 安装

安装软件

使用oracle
ee22
用户登录,然后解压缩Oracle安装文件:
$ unzip linux_11gR1_database.zip
然后进入解压后的目录,执行
       $./runInstaller
然后进入解压后的目录,执行


选择高级安装,高级也挺简单


默认oraInventory认为是根目录下,oracle用户没有写权限,所以warning,不用管执行下一步


修改inventory directory目录为/u01/oralInventory,此时oracle用户就有写权限,下一步:

  oracle会进行安装前检查工作,如果没有错误,则直接下一步。

可能出现的错误是:
(1)修改的系统配置文件没有生效,最绝的办法,重启系统
(2)静态IP问题,如果你使用了静态IP,则应该打开/etc/hosts添加静态IP指定:如192.168.188.10      localhost.localdomain(路由域名)
(3)内存问题,如果内存设置1G左右,或稍微较少时,可忽略
一直下一步,安装完成!但此时没有创建数据库 。

创建数据库

首先配置Listener
$ netca       (netconfiguration)
注意:此时可能报如下错误
 
 
是由于默认的主机名导致的,修改两处:
[oracle@jc11g ~]$ cat/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=test11g

GATEWAY=192.168.1.254
 
[oracle@jc11g ~]$ cat /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1               localhost.localdomainlocalhost test11g
 
hostname test11g
让oracle用户退出重新登录就可以正常启动netca了 (参考:http://blog.sina.com.cn/s/blog_470504830100s2fz.html
 
 
端口使用1521(在没有启用防火墙情况下,所有端口号都可以使用),直接下一步至完成,完成后查看是否启动:
$ ps –ef | grep LISTENER
创建数据库
$dbca      (database configuration)
下一步


选择默认,下一步
输入数据库名和SID(如示例中:oracleSid,一定要匹配)下一步


下一步


使用共同口令,如:oracle,下一步,直到如下图所示:


此时需要注意字符集的选择,对于含有中文数据的数据库来说,可以选择Unicode编码(如果字符集选择不对,后面再修改时非常麻烦)


下一步,选择安装一些示例数据库,一路下一步,将会开始创建数据库
创建完数据库后,将会在/u01/oradata目录下创建相应的数据,并且可以使用命令
ps –ef | grep oracle
查看已经启动的oracle进程
到此,oracle数据库软件及数据库安装完成。

Oracle 测试

接上一节,可以使用sqlplus测试是否已经成功安装oracle,如下:
$sqlplus /nolog
SQL>conn / as sysdba
SQL>create table mytable(namevarchar(10), age int);
SQL>insert into mytablevalues(‘user1’,12);
SQL>select * from mytable;

关闭数据库

查看oracle进程:
SQL> !ps –ef | grep oracle
关闭oracle
SQL>shutdown immediate

总结

下面将上面介绍的安装过程进行总结,来源:Linux开源公社
1、检查硬件

内存
# grep MemTotal /proc/meminfo
交换空间
# grep SwapTotal /proc/meminfo
磁盘空间
# df -ah
2、下载软件

Oracle Database 10g Release 2 (10.2.0.1)Software下载位置: http://otn.oracle.com/software/products/database/oracle10g/index.html 3、修改host文件

查看/etc/hosts文件中必须包含a fully qualified name for the server
4、安装软件包检查

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
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
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 -qa | grep make gcc glibc compatopenmotif21 setarch 等等
 
5、libstdc包的链接

(老版本需求,新版本oracle11不要设置):
ln -s /usr/lib/libstdc++.so.6.0.3/usr/lib/libstdc++.so.5           
#检测存在如果不做此链接,在安装过程中建好数据库,将会出现不能链接不上数据库问题。
 
三、参数设置

1、设置核心参数

在/etc/sysctl.conf文件中加入下列行:
#kernel.core_uses_pid = 1
kernel.shmall = 2097152
kernel.shmmax = 2147483648 -- (以字节为单位,物理内存数量*1024*1024*2,为内存的2倍)
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm,semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=8388608
net.core.rmem_max=8388608
net.core.wmem_default=262144
net.core.wmem_max=262144
esc :wq!
# sysctl -p #运行下列命令改变核心参数
 
2、设置Shell Limits(系统资源限制),提高软件的运行效率

 
a.在/etc/security/limits.conf文件中加入下列红色行:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
 
b.在/etc/pam.d/login文件中加入下列行,如果里面没有的话:
session required /lib/security/pam_limits.so
session required pam_limits.so
c.在/etc/profile后加入以下语句:
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
3、创建用户和组及相关目录

--创建dba/oper/oinstall组
/usr/sbin/groupadd dba
/usr/sbin/groupadd oper
/usr/sbin/groupadd oinstall
--创建oracle用户并设置用户所属组
/usr/sbin/usermod -g oinstall -G dba oracle
/usr/sbin/useradd -g oinstall -G dba oracle
passwd oracle
# id oracle
uid=501(oracle) gid=501(oinstall)groups=501(oinstall),502(dba)
--创建相关安装目录
 
mkdir -p /opt/oracle/product
mkdir -p /opt/oracle/product/OraHome
mkdir -p/opt/oraInventory                     #(the default inventory folder)
mkdir -p/opt/oracle/oradata                  #(change the right file owner)
mkdir -p /var/opt/oracle
 
--设置目录所有者和权限
chown -R oracle.oinstall /opt/oracle
chown -R oracle.oinstall/opt/oracle/oradata
chown -R oracle.oinstall/opt/oracle/product/OraHome
chown -R oracle.dba /opt/oraInventory
chown oracle.dba /var/opt/oracle
chmod -R 775 /opt/oracle
chmod -R 755 /var/opt/oracle
 
4、设置安装环境变量

# su - oracle --su到oracle用户下,
更改用户的一些配置
$vi .bash_profile
添加以下参数,主要是配置oracle软件运环境参数
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
       .~/.bashrc
fi
 
export ORACLE_BASE=/opt/oracle
exportORACLE_HOME=$ORACLE_BASE/product/OraHome
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export ORACLE_TERM=vt100
exportPATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export CLASSPATH
 
注:
11g:ORA_NLS33=$ORACLE_HOME/nls/admin/data
10g:ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
9i:ORA_NLS33=/oracle/app/ora92/ocommon/nls/admin/data
保存退出

--执行以下命令让配置马上生效或以oracle用户登录使设置生效
$ source $HOME/.bash_profile
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux oracle 部署