oracle11g安装



环境:

jdk1.7,liunx 6.8

物理内存应不少于1GB,对于VMWARE虚拟机建议不少于1200MB.对于系统中的交换分区设置,应参以下约定:物理内存为1GB~2GB时,交换分区为物理内存的1.5~2倍;物理内存为2GB~16GB时,交换分区与物理内存大小相同;物理内存超过16GB时,交换分区使用16GB就可以了。

1、更改hostname主机名:

vim /etc/hosts(更改主机名的路径)

127.0.0.1 主机名  (列如:127.0.0.1 oracledb)

10.9.8.5 主机名(列如:10.9.8.5 oracledb)


2、关闭防火墙:

# vi /etc/selinux/config

//设置SELINUX=disabled

# systemctl stop firewalld  临时关闭防火墙

# systemctl disable firewalld 停止并禁用开机启动

3、下载oracle安装包:

oracle11g下载地址(版本11.2.0.1.0):

https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

下载好后,使用"新建文件传输(Ctrl+Alt+F)"拉入主机中

注意:

拉入的时候两个一起拉。拉入最好拉入tmp下,不然解压的时候各种崩)



4、安装oracle可能要用到的各种插件:

# yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 glibc-common glibc-headers ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static pcre-devel numactl-devel


5、准备安装用户及用户组:

# groupadd oinstall     (创建一个用户名为oinstall的用户组)

# groupadd dba           (创建一个用户名为dba的用户组)

# useradd -g oinstall -G dba -d /home/oracle oracle  (或者 useradd -g oinstall -G dba oracle也可以)

        说明:

                 -g为指定用户的主要组为oinstall组

                -G为指定用户的次要组为dba组

                -d为指定用户的主目录

# passwd oracle      //设置oracle密码(密码:123123)最好不要使用特殊符号,因为转移的时麻烦


6、修改内核参数配置文件:


# vi /etc/sysctl.conf 在文件最后增加:(注释写在后面)

# Oracle set

net.ipv4.icmp_echo_ignore_broadcasts = 1

//避免放大攻击

net.ipv4.conf.all.rp_filter = 1

//开启反向路径过滤

fs.aio-max-nr = 1048576

//此参数限制并发为完成的请求,一般设置:1048576=1024*1024

fs.file-max = 6815744

//该参数巨大系统所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量

kernel.shmall = 2097152

//  该参数控制可以使用的共享内存的总页数。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.shmmax = 2147483648

//是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的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.shmmni = 4096

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

kernel.sem = 250 32000 100 128

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

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

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

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

net.ipv4.ip_local_port_range = 9000 65500

//表示应用程序可使用的IPv4端口范围。

net.core.rmem_default = 262144

//表示套接字接收缓冲区大小的缺省值。

net.core.rmem_max = 4194304

//表示套接字接收缓冲区大小的最大值。

net.core.wmem_default = 262144

//表示套接字发送缓冲区大小的缺省值

net.core.wmem_max = 1048576

//表示套接字发送缓冲区大小的最大值。

让参数生效:

# sysctl -p

7、修改用户的限制文件:

# vi /etc/security/limits.conf

oracle           soft     nproc 2047

oracle           hard     nproc 16384

//nproc设置进程最大数目

oracle           soft     nofile 1024

oracle           hard     nofile 65536

//nofile打开文件最大数目

oracle           soft     stack 10240

//stack设置最大栈大小

#  vi /etc/pam.d/login   //在文件后增加

session  required   /lib64/security/pam_limits.so

//64位系统时,千万别写成/lib/security/pam_limits.so,否则导致无法登录

session  required  /lib/security/pam_limits.so

//32位系统专用

8、创建安装目录

创建文件(基本版):

# mkdir /opt/payment/oracle  

//创建oracle目录

# mkdir /opt/payment/oracle/product/11.2.0/db_1

//数据库系统安装目录

# mkdir /opt/payment/oracle/oradata

//数据库数据安装目录 

# mkdir /opt/payment/oracle/oradata_back

//数据备份目录 

# mkdir /opt/payment/oracle/oraInventory

//清单目录(oracle用户创建)

创建文件(简版):

# mkdir -p /opt/payment/oracle /opt/payment/oracle/product/11.2.0/db_1 /opt/payment/oracle/oradata /opt/payment/oracle/oradata_back /opt/payment/oracle/oraInventory

用户权限操作 :

#chown -R oracle:oinstall /opt/payment/oracle /opt/payment/oracle/product/11.2.0/db_1 /opt/payment/oracle/oradata /opt/payment/oracle/oradata_back /opt/payment/oracle/oraInventory

读写操作权限:

#chmod -R 775 /opt/payment/oracle  /opt/payment/oracle/product/11.2.0/db_1 /opt/payment/oracle/oradata /opt/payment/oracle/oradata_back /opt/payment/oracle/oraInventory

9、配置环境变量

vi /etc/profile:(此处不多做注释了)

#oracle

export ORACLE_BASE=/opt/payment/oracle

export ORACLE_HOME=/opt/payment/oracle/product/11.2.0/db_1

export ORACLE_OWNER=oracle

export ORACLE_SID=oracle11g

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

10、解压oracle文件

# unzip -o /home/oracle/ linux.x64_11gR2_database_1of2.zip -d /opt/payment/ 

//-o:要解压的文件

//-d:要解压到的目录

# unzip -o /home/oracle/linux.x64_11gR2_database_2of2.zip -d /opt/payment/

11、编辑静默安装响应文件

# su – oracle          //进入oracle用户(之后全是oracle用户执行)

# cp /opt/payment/database/response/*.rsp /opt/payment/oracle/   //复制一份模板

# cd /opt/payment/oracle/

# vim /opt/payment/oracle/db_install.rsp   

(因为下面的安装是只安装软件不安装启动数据库实例,所以改个名字以提示自己)文件内修改相应的参数配置如下:

注意:注释都在后面

oracle.install.option=INSTALL_DB_SWONLY

//只安装软件,不安装启动数据库

ORACLE_HOSTNAME=oracledb

//通过hostname命令获得

oracle11gUNIX_GROUP_NAME=oinstall

//制定主组

INVENTORY_LOCATION=/opt/payment/oracle/oraInventory

//库存地点

SELECTED_LANGUAGES=en,zh_CN

//所选语言

ORACLE_HOME=/opt/payment/oracle/product/11.2.0/db_1

ORACLE_BASE=/opt/payment/oracle

oracle.install.db.InstallEdition=SE

// oracle版本 EE企业版 SE:标准版 SEONE:标准版 PE:个人版(只适用于WINDOWS)

oracle.install.db.isCustomInstall=true

//默认false是否自定义Oracle的组件

oracle.install.db.DBA_GROUP=dba

//admin管理组名

oracle.install.db.OPER_GROUP=dba

//oper操作员组名

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

//数据库类型  

oracle.install.db.config.starterdb.globalDBName=oracle11g

oracle.install.db.config.starterdb.SID=oracle11g

//SID(**此处注意与环境变量内配置SID一致)

oracle.install.db.config.starterdb.characterSet=AL32UTF8

//通常中文选择的有ZHS16GBK简体中文库,建议选择unicode的AL32UTF8国际字符集

oracle.install.db.config.starterdb.memoryLimit=81920

oracle.install.db.config.starterdb.password.ALL=oracle

//所有数据库用户密码一致

oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

DECLINE_SECURITY_UPDATES=true

// **注意此参数 设定一定要为true

12、根据响应文件安装oracle

 //oracle用户下执行

/opt/payment/database/./runInstaller -silent -force -ignorePrereq -responseFile /opt/payment/oracle/db_install.rsp   


注意:

这里不做任何操作,等成功运行完成下面第一步操作后,回到这个窗口回车。


新建root用户登录窗口:

执行命令: /opt/payment/oracle/product/11.2.0/db_1/./root.sh

执行后下面会出一行路径,执行查看日志,查看是否成功,如图:


然后回到上一步操作的那个窗口回车


数据库搭好了,以下创建实例

13、静默建立新库(同时也建立一个对应的实例):

# vi /opt/payment/oracle/dbca.rsp

修改几个参数,如果这几个参数被注释了,要取消注释(这个文件一定要修改,否则会造成数据库创建后无法挂载)

GDBNAME = “htjc”

SID = “htjc”DATAFILEDESTINATION =/opt/payment/oracle/oradata

// 数据文件存放目录

RECOVERYAREADESTINATION=/opt/payment/oracle/oradata_back

// 恢复数据存放目录

CHARACTERSET = "AL32UTF8"

//字符集,重要!!! 建库后一般不能更改,所以建库前要确定清楚

NATIONALCHARACTERSET="UTF8"

//425行 编码

TOTALMEMORY = "5120"

//oracle内存5120MB

SOURCEDB = "dzfp-2:1521:htjc"

保存退出

启动:

dbca -silent -responseFile /opt/payment/oracle/dbca.rsp 

问题:

这里输入命令时,其他的我不知道,我使用的xshell6直接花屏幕了,建议直接在原虚拟机上手输入上面的启动代码


14、静默建立监听

# netca /silent /responsefile /opt/payment/oracle/netca.rsp


运行:

lsnrctl start

成功运行后:

在/opt/payment/oracle/11.2.0/db_1/network/admin目录下生成sqlnet.ora和listener.ora两个文件。

查看端口号是否存在:

 tcp  0   0 :::1521        :::*      LISTEN      5477/tnslsnr   (说明监听器已经在1521端口上开始工作了)


15、Linux开机自动启动ORACLE设置:


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

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


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

# vi /etc/oratab

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

# vi /etc/rc.d/rc.local

# chmod +x /etc/rc.d/rc.local

添加:

su oracle -lc 'lsnrctl start’

su oracle -lc 'dbstart'

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

重启试试吧! 

16、Linux开机自动启动ORACLE设置的问题

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

[oracle@oracle11g ~]$ dbstartORACLE_HOME_LISTNER is not SET, unable to auto-start Oracle Net Listener

Usage: /opt/payment/oracle/product/11.2.0/db_1/bin/dbstart ORACLE_HOME错误原因是:dbstart和dbshut脚本文件中ORACLE_HOME_LISTNER的设置有问题,分别打开两个文件找到:ORACLE_HOME_LISTNER=$1,修改为 $ORACLE_HOME


命令如下:

# vi $ORACLE_HOME/bin/dbstart

# vi $ORACLE_HOME/bin/dbshut

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

17卸载oracle:

你可能感兴趣的:(oracle11g安装)