一 环境准备
图形界面:略
安装包: linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
二 安装ASM-Oracle准备
2.1 用户名/组建立
1 [root@localhost ~]#hostnamectl set-hostname oracle 2 [root@oracle ~]# vi /etc/hosts 3 172.24.8.30 oracle #将localhost修改为相应的主机名 4 [root@oracle ~]# groupadd oinstall #创建用户组oinstall 5 [root@oracle ~]# groupadd dba #创建用户组dba 6 [root@oracle ~]# groupadd oper #创建用户组dba 7 [root@oracle ~]# groupadd asmadmin 8 [root@oracle ~]# groupadd asmdba 9 [root@oracle ~]# groupadd asmoper 10 [root@oracle ~]# useradd -g oinstall -G dba,oper,asmadmin,asmdba,asmoper -s /bin/bash -d /home/oracle -m oracle #创建oracle用户,主组为oinstall,并加入到之前创建的所有组。 11 [root@oracle ~]# useradd -g oinstall -G dba,oper,asmadmin,asmdba,asmoper -s /bin/bash -d /home/grid -m grid #创建grid组 12 [root@oracle ~]# echo x120952576 | passwd --stdin oracle #设置Oracle用户密码 13 [root@oracle ~]# echo x120952576 | passwd --stdin grid #设置grid用户密码
2.2 相关目录创建
1 [root@oracle ~]# mkdir -p /data/oracle #oracle数据库安装目录 2 [root@oracle ~]# mkdir -p /data/grid #grid组件安装目录 3 [root@oracle ~]# mkdir -p /data/oraInventory #oracle数据库配置文件目录 4 [root@oracle ~]# mkdir -p /data/database #oracle数据库软件包解压目录 5 [root@oracle ~]# chown -R grid:oinstall /data/ 6 [root@oracle ~]# chown -R oracle:oinstall /data/oracle/ 7 [root@oracle ~]# chmod 755 /data #设置目录所有者为oinstall用户组的oracle用户
附:oracle默认不支持CentOS系统安装,需要如下修改
1 [root@oracle data]# vi /etc/redhat-release 2 redhat-7
2.3 基础依赖包安装
根据Oracle官方给出参考:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#BABCFJFG
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
依次yum安装即可,也可高于以上建议版本:
1 yum -y install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-* compat-libcap1
swap要求最低2.67G
2.4 防火墙及SELinux设置
1 [root@oracle ~]# systemctl stop firewalld.service 2 [root@oracle ~]# systemctl disable firewalld.service 3 [root@oracle ~]# setenforce 0 4 [root@oracle ~]# vi /etc/selinux/config 5 SELINUX=disabled
2.5 修改内核参数
1 [root@oracle ~]# vi /etc/sysctl.conf 2 net.ipv4.icmp_echo_ignore_broadcasts = 1 3 net.ipv4.conf.all.rp_filter = 1 4 fs.file-max = 6815744 #设置最大打开文件数 5 fs.aio-max-nr = 1048576 6 kernel.shmall = 2097152 #共享内存的总量 7 kernel.shmmax = 2147483648 #最大共享内存的段大小 8 kernel.shmmni = 4096 #整个系统共享内存端的最大数 9 kernel.sem = 250 32000 100 128
简要描述这四个参数
SEMMSL: 每个信号集的最大信号数量
SEMMNS: 系统信号量(非信号集)最大数量
SEMOPM: 每次semop系统调用可执行的信号操作数
SEMMNI:系统信号量集最大数量
1 net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围 2 net.core.rmem_default = 262144 3 net.core.rmem_max= 4194304 4 net.core.wmem_default= 262144 5 net.core.wmem_max= 1048576 6 [root@oracle ~]# sysctl -p #使配置生效
2.6 提高软件运行性能
对oracle用户设置限制,提高软件运行性能
1 [root@oracle ~]# vi /etc/security/limits.conf 2 @student - maxlogins 4 3 oracle soft nproc 2047 4 oracle hard nproc 16384 5 oracle soft nofile 1024 6 oracle hard nofile 65536 7 grid soft nproc 2047 8 grid hard nproc 16384 9 grid soft nofile 1024 10 grid hard nofile 65536 11 # End of file
三 分区准备
3.1 磁盘分区
将磁盘分区,具体分区操作——略。
本实验采用LVM分区,通知创建10个50G大小的lvm逻辑分区。
1 [root@oracle ~]# lvcreate -L 50g -n asm01 vg01 2 …… 3 [root@oracle ~]# lvcreate -L 50g -n asm10 vg01
3.2 安装asm支持组件
在oracle官方找到对应的alm组件。
http://www.oracle.com/technetwork/server-storage/linux/asmlib/index-101839.html
将相关rpm包上传至相应目录。
1 [root@oracle file]# yum -y install oracleasm 2 [root@oracle file]# rpm -ivh oracleasm*
3.3 初始化sm磁盘
1 [root@oracle ~]# oracleasm configure -i #初始化 2 Default user to own the driver interface []: oracle #拥有此接口的用户 3 Default group to own the driver interface []: oinstall #组 4 Scan for Oracle ASM disks on boot (y/n) [y]: y #系统启动时是否扫描asm磁盘组 5 [root@oracle ~]# oracleasm init #保存asm设备文件的目录
3.4 创建sm磁盘
1 [root@oracle ~]# vi oracleasm.sh 2 #!/bin/bash 3 oracleasm createdisk asmdisk01 /dev/vg01/asm01 4 oracleasm createdisk asmdisk02 /dev/vg01/asm02 5 oracleasm createdisk asmdisk03 /dev/vg01/asm03 6 oracleasm createdisk asmdisk04 /dev/vg01/asm04 7 oracleasm createdisk asmdisk05 /dev/vg01/asm05 8 oracleasm createdisk asmdisk06 /dev/vg01/asm06 9 oracleasm createdisk asmdisk07 /dev/vg01/asm07 10 oracleasm createdisk asmdisk09 /dev/vg01/asm08 11 oracleasm createdisk asmdisk09 /dev/vg01/asm09 12 oracleasm createdisk asmdisk10 /dev/vg01/asm10 13 [root@oracle ~]# ./oracleasm.sh #使用脚本创建相应磁盘。 14 [root@oracle ~]# oracleasm listdisks #验证所创建的磁盘
1 [root@oracle ~]# ll /dev/oracleasm/disks/ #检查磁盘是否已经挂载到oracleasm文件系统
四 grid组件
4.1 grid组件获取
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-linx8664soft-100572.html
或
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_grid.zip
1 [root@oracle file]# unzip linux.x64_11gR2_grid.zip -d /data/database/
4.2 grid组件安装
1 [root@oracle file]# chown grid /data/database/grid/ 2 [grid@oracle ~]$ cd /data/database/grid/ 3 [grid@oracle grid]$ ./runInstaller #切换至grid用户进入图形界面
#选择英语
选择四块3.4创建asm磁盘。
冗余方式选择——
-
normal:相同的数据在磁盘中至少存储两份;
- high:存储三份;
- external:不提供冗余。
- AU size:分配单元的大小。
#指定sys和asmsnmp的密码,并忽略密码告警。
#指定系统用户组对asm的相应管理组。
#指定软件安装的目录。
#指定Inventory的目录。
#前置条件检查,切换至root用户执行脚本。
若有未解决的依赖,依次解决,注意:安装的高版本对于oracle也会告警,但不会影响使用,可跳过。
核对相关信息。
#使用root用户执行上述两个脚本
1 [root@oracle ~]# cd /data/oraInventory/ 2 [root@oracle oraInventory]# ./orainstRoot.sh 3 [root@oracle ~]# cd /data/grid/product/11.2.0/grid/ 4 [root@oracle grid]# ./root.sh
报错1:error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory
1 [root@oracle grid]# yum -y install compat-libcap1 2 [root@oracle grid]# /data/grid/product/11.2.0/grid/crs/install/rootcrs.pl -deconfig -force -verbose 3 [root@oracle grid]# ./root.sh
报错2:CRS-4124: Oracle High Availability Services startup failed
Oracle Linux 7上执root.sh时注意
1 [root@oracle grid]# /data/grid/product/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose 2 [root@oracle grid]# ./root.sh
当命令行窗口出现Adding Clusterware entries to inittab时,立即在另一窗口以root用户执行:
1 /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/nullbs=1024 count=1
如果出现:/bin/dd: opening`/var/tmp/.oracle/npohasd': No such file or directory,则说明文件还没生成就继续执行,直到能执行为止,等待root.sh成功执行完毕后可以ctrl+c取消。
4.3 grid修改环境变量
1 [root@oracle ~]# vi /home/grid/.bash_profile #修改Oracle用户的环境变量 2 export ORACLE_BASE=/data/grid #oracle数据库安装目录 3 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid #oracle数据库路径 4 export ORACLE_SID=+ASM #oracle启动数据库实例名 5 export ORACLE_TERM=xterm #xterm窗口模式安装 6 export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量 7 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量 8 export LANG=en_US #防止安装过程出现乱码 9 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集 10 [grid@oracle ~]$ source /home/grid/.bash_profile
附加——CentOS7所需步骤
1 [root@oracle ~]# vi /usr/lib/systemd/system/ohas.service #手动添加ohas服务 2 [Unit] 3 Description=Oracle High Availability Services 4 After=syslog.target 5 6 [Service] 7 ExecStart=/etc/init.d/init.ohasd run >/dev/null 2>&1 Type=simple 8 Restart=always 9 10 [Install] 11 WantedBy=multi-user.target 12 [root@oracle ~]# chmod 777 /usr/lib/systemd/system/ohas.service 13 [root@oracle ~]# systemctl enable ohas.service #设置为开机启动 14 [root@oracle ~]# systemctl start ohas.service
4.4 登录测试
使用grid用户连接数据库测试。
五 grid用户环境优化
5.1 环境修改
1 [root@oracle ~]# vi /data/grid/product/11.2.0/grid/sqlplus/admin/glogin.sql 2 define_editor=vim #定义编辑器为vim 3 set linesize 160 #设置一行显示的字符 4 set pagesize 100 #设置一页显示的行数 5 set sqlprompt '_user@ _connect_identifier>' #设置提示符
5.2 支持键盘方向键操作
提示:默认oracle不支持方向键操作,需要安装rlwrap插件。
采用编译安装rlwrap-0.37.tar,过程略。
若报错如下——
则需要yum安装以下两个rpm包之后再次编译安装——
1 [root@oracle file]# yum -y install libtermcap-devel readline-devel 2 [root@oracle file]# tar -zxvf rlwrap-0.37.tar.gz 3 [root@oracle file]# cd rlwrap-0.37/ 4 [root@oracle rlwrap-0.37]# ./configure 5 [root@oracle rlwrap-0.37]# make install 6 [root@oracle ~]# vi /home/grid/.bash_profile 7 alias sqlplus='rlwrap sqlplus' 8 alias rman='rlwrap rman' 9 [root@oracle rlwrap-0.37]# su - grid 10 [rid@oracle ~]$ source .bash_profile
5.3 密码设置
1 [oracle@oracle ~]$ sqlplus / as sysdba 2 SYS@ orcl>alter profile default limit password_life_time unlimited; #oracle默认180天过期,可设置口令永不过期
六 使用ASM磁盘创建FRA(快速恢复区)
6.1 创建Fast Recovery Area
使用grid用户
[grid@oracle ~]$ asmca
#创建新的磁盘组。
#选择相应的磁盘,并设置为不提供冗余。
#创建成功。
#确认创建成功。
七 安装oracle 11g
7.1 解压安装包
1 [root@oracle ~]# cd /data/file/ #进入oracle包所在目录 2 [root@oracle file]# ls 3 linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip 4 [root@oracle file]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解压 5 [root@oracle file]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解压 6 [root@oracle file]# chown -R oracle:oinstall /data/database/database/
7.2 启动Oracle安装
采用oracle用户进入图形界面,并启动安装程序。
1 [oracle@oracle ~]# su oracle 2 [oracle@oracle ~]$ cd /data/database/database/ 3 [oracle@oracle database]$ ./runInstaller
注意:
1:以上必须进入图形界面之后操作;
2:若出现以下报错——
1 Could not execute auto check for display colors using command /usr/bin/xdpyinfo.
需要使用root用户执行以下操作,之后切换回oracle用户再次执行以上runInstaller即可。
1 xhost + 172.24.8.30 2 xhost +SI:localuser:oracle
email可不填。
选择创建和配置数据库选项,下一步。
#只安装数据库软件
#选择单实例。
#选择英语。
#选择企业版。
#选择需要安装的目录。
#设置用户组。
#前置条件检查,由于系统存在相关rpm包的高版本,可直接忽略。
#确认相关信息。
#漫长的等待。
#使用root执行上面的脚本。
#安装完成。
7.3 相关环境设置
1 [root@oracle ~]# vi /home/oracle/.bash_profile #修改Oracle用户的环境变量 2 export ORACLE_BASE=/data/oracle #oracle数据库安装目录 3 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 #oracle数据库路径 4 export ORACLE_SID=orcl #oracle启动数据库实例名 5 export ORACLE_TERM=xterm #xterm窗口模式安装 6 export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量 7 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量 8 export LANG=en_US #防止安装过程出现乱码 9 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集 10 [oracle@oracle ~]$ source /home/oracle/.bash_profile
7.4 建库
使用oracle用户在图形界面执行——
[oracle@oracle ~]$ dbca
#创建数据库
#默认即可。
#全局数据库名字和SID。
#开启EMO及自动维护任务。
#指定相应的口令。
#选择ASM系统中的ASMGROUP01。
#确认相关信息。
#多元化设置,同一个文件存储多份,联机重做log和控制log都存在两个不同的地方,+ASMGROUP01、+FRAGROUP01。
#设置口令。
#指定快速恢复区。
#开启归档模式。
#安装简单实例方案。
#指定字符集。
#相关说明。
#开始创建。
#确认相关信息。
#开始等待。
#可进行密码管理。
#对BI、HR、OE、SCOTT、SH等常见用户指定密码。
#再次确认。
八 oracle用户环境优化
8.1 环境修改
1 [root@oracle ~]# vi /data/oracle/product/11.2.0/dbhome_1/sqlplus/admin/glogin.sql 2 define_editor=vim #定义编辑器为vim 3 set linesize 160 #设置一行显示的字符 4 set pagesize 100 #设置一页显示的行数 5 set sqlprompt '_user@ _connect_identifier>' #设置提示符
8.2 支持键盘方向键操作
提示:默认oracle不支持方向键操作,需要安装rlwrap插件。
采用编译安装rlwrap-0.37.tar,过程略。
若报错如下——
则需要yum安装以下两个rpm包之后再次编译安装——
1 [root@oracle ~]#yum -y install libtermcap-devel readline-devel 2 [root@oracle ~]# vi /home/oracle/.bash_profile 3 alias sqlplus='rlwrap sqlplus' 4 alias rman='rlwrap rman' 5 [root@oracle rlwrap-0.37]# su - oracle 6 [oracle@oracle ~]$ source .bash_profile
8.3 密码设置
1 [oracle@oracle ~]$ sqlplus / as sysdba 2 SYS@ orcl>alter profile default limit password_life_time unlimited; 3 #oracle默认180天过期,可设置口令永不过期
九 OEM配置
参考SQL FI——《003.Oracle EM配置》。