前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >002.Oracle安装部署-ASM

002.Oracle安装部署-ASM

作者头像
木二
发布2019-07-01 14:11:50
9630
发布2019-07-01 14:11:50
举报
文章被收录于专栏:木二天空木二天空

一 环境准备

图形界面:略

安装包: linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip

二 安装ASM-Oracle准备

2.1 用户名/组建立

代码语言:javascript
复制
  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 相关目录创建

代码语言:javascript
复制
  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系统安装,需要如下修改

代码语言:javascript
复制
  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安装即可,也可高于以上建议版本:

代码语言:javascript
复制
  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设置

代码语言:javascript
复制
  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 修改内核参数

代码语言:javascript
复制
  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:系统信号量集最大数量

代码语言:javascript
复制
  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用户设置限制,提高软件运行性能

代码语言:javascript
复制
  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逻辑分区。

代码语言:javascript
复制
  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

29
29

将相关rpm包上传至相应目录。

30
30
代码语言:javascript
复制
  1 [root@oracle file]# yum -y install oracleasm
  2 [root@oracle file]# rpm -ivh oracleasm*

3.3 初始化sm磁盘

代码语言:javascript
复制
  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设备文件的目录
31
31

3.4 创建sm磁盘

代码语言:javascript
复制
  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		#验证所创建的磁盘
32
32
代码语言:javascript
复制
  1 [root@oracle ~]# ll /dev/oracleasm/disks/	#检查磁盘是否已经挂载到oracleasm文件系统
33
33

四 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

34
34
代码语言:javascript
复制
  1 [root@oracle file]# unzip linux.x64_11gR2_grid.zip -d /data/database/

4.2 grid组件安装

代码语言:javascript
复制
  1 [root@oracle file]# chown grid /data/database/grid/
  2 [grid@oracle ~]$ cd /data/database/grid/
  3 [grid@oracle grid]$ ./runInstaller		#切换至grid用户进入图形界面
35
35

#选择安装单节点服务器

36
36

#选择英语

37
37

选择四块3.4创建asm磁盘。

冗余方式选择——

  • normal:相同的数据在磁盘中至少存储两份;
  • high:存储三份;
  • external:不提供冗余。
  • AU size:分配单元的大小。
38
38

#指定sys和asmsnmp的密码,并忽略密码告警。

39
39

#指定系统用户组对asm的相应管理组。

40
40

#指定软件安装的目录。

41
41

#指定Inventory的目录。

42
42

#前置条件检查,切换至root用户执行脚本。

43
43

若有未解决的依赖,依次解决,注意:安装的高版本对于oracle也会告警,但不会影响使用,可跳过。

44
44

核对相关信息。

45
45

#使用root用户执行上述两个脚本

代码语言:javascript
复制
  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

代码语言:javascript
复制
  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时注意

代码语言:javascript
复制
  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用户执行:

代码语言:javascript
复制
  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取消。

46
46

4.3 grid修改环境变量

代码语言:javascript
复制
  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所需步骤

代码语言:javascript
复制
  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用户连接数据库测试。

47
47

五 grid用户环境优化

5.1 环境修改

代码语言:javascript
复制
  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,过程略。

若报错如下——

48
48

则需要yum安装以下两个rpm包之后再次编译安装——

代码语言:javascript
复制
  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 密码设置

代码语言:javascript
复制
  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

49
49

#创建新的磁盘组。

50
50

#选择相应的磁盘,并设置为不提供冗余。

51
51

#创建成功。

52
52

#确认创建成功。

七 安装oracle 11g

7.1 解压安装包

代码语言:javascript
复制
  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用户进入图形界面,并启动安装程序。

代码语言:javascript
复制
  1 [oracle@oracle ~]# su oracle
  2 [oracle@oracle ~]$ cd /data/database/database/
  3 [oracle@oracle database]$ ./runInstaller

注意:

1:以上必须进入图形界面之后操作;

2:若出现以下报错——

代码语言:javascript
复制
  1 Could not execute auto check for display colors using command /usr/bin/xdpyinfo.

需要使用root用户执行以下操作,之后切换回oracle用户再次执行以上runInstaller即可。

代码语言:javascript
复制
  1 xhost + 172.24.8.30
  2 xhost +SI:localuser:oracle

email可不填。

53
53

选择创建和配置数据库选项,下一步。

54
54

#只安装数据库软件

55
55

#选择单实例。

56
56

#选择英语。

57
57

#选择企业版。

58
58

#选择需要安装的目录。

59
59

#设置用户组。

60
60

#前置条件检查,由于系统存在相关rpm包的高版本,可直接忽略。

61
61

#确认相关信息。

62
62

#漫长的等待。

63
63

#使用root执行上面的脚本。

64
64

#安装完成。

7.3 相关环境设置

代码语言:javascript
复制
  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

65
65

#创建数据库

66
66

#默认即可。

67
67

#全局数据库名字和SID。

68
68
69
69

#开启EMO及自动维护任务。

70
70

#指定相应的口令。

71
71

#选择ASM系统中的ASMGROUP01。

72
72

#确认相关信息。

73
73

#多元化设置,同一个文件存储多份,联机重做log和控制log都存在两个不同的地方,+ASMGROUP01、+FRAGROUP01。

74
74

#设置口令。

75
75

#指定快速恢复区。

76
76

#开启归档模式。

77
77

#安装简单实例方案。

78
78

#指定字符集。

79
79

#相关说明。

80
80

#开始创建。

81
81

#确认相关信息。

82
82

#开始等待。

83
83

#可进行密码管理。

84
84

#对BI、HR、OE、SCOTT、SH等常见用户指定密码。

85
85

#再次确认。

八 oracle用户环境优化

8.1 环境修改

代码语言:javascript
复制
  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,过程略。

若报错如下——

86
86

则需要yum安装以下两个rpm包之后再次编译安装——

代码语言:javascript
复制
  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 密码设置

代码语言:javascript
复制
  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配置》。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-02-02 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一 环境准备
  • 二 安装ASM-Oracle准备
    • 2.1 用户名/组建立
      • 2.2 相关目录创建
        • 2.3 基础依赖包安装
          • 2.4 防火墙及SELinux设置
            • 2.5 修改内核参数
              • 2.6 提高软件运行性能
              • 三 分区准备
                • 3.1 磁盘分区
                  • 3.2 安装asm支持组件
                    • 3.3 初始化sm磁盘
                      • 3.4 创建sm磁盘
                      • 四 grid组件
                        • 4.1 grid组件获取
                          • 4.2 grid组件安装
                            • 4.3 grid修改环境变量
                              • 4.4 登录测试
                              • 五 grid用户环境优化
                                • 5.1 环境修改
                                  • 5.2 支持键盘方向键操作
                                    • 5.3 密码设置
                                    • 六 使用ASM磁盘创建FRA(快速恢复区)
                                      • 6.1 创建Fast Recovery Area
                                      • 七 安装oracle 11g
                                        • 7.1 解压安装包
                                          • 7.2 启动Oracle安装
                                            • 7.3 相关环境设置
                                              • 7.4 建库
                                              • 八 oracle用户环境优化
                                                • 8.1 环境修改
                                                  • 8.2 支持键盘方向键操作
                                                    • 8.3 密码设置
                                                    • 九 OEM配置
                                                    相关产品与服务
                                                    访问管理
                                                    访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
                                                    领券
                                                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档