oracle11glinux平台零报错安装
一:准备工作:
所需软件:VMware-workstation-full-10.0.0-1295980
操作系统:Linux].TLF-SOFT-Redhat.Enterprise.Linux.v5.UPDATE.8.X86_64.DVD-HOTiSO.iso
远程登录软件:Xmanager Enterprise 3
数据库软件:linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
linux.x64_11gR2_grid.zip
二:首先安装linux系统(安装数据库前准备)
1.使用VMware-workstation-full-10.0.安装一个Redhat.Enterprise.Linux.v5.UPDATE.8.X86_64系统
新建虚拟机
选择linux 5,因为5版本更稳定
输入虚拟机名称和存放的位置--下一步
磁盘大小给大点,后面还要做其他的实验--完成
刚刚新建的虚拟机,添加linuxISO镜像,内存调大是安装实验的需要,oracle最小需要1G--确定
二:给新建虚拟机分区
选择自定义分区,磁盘分配情况。
/boot 100M
swap 4G
/tmp 4G
/ 15G
/u01 剩下全部给oracle软件安装用
设置IP
设置主机名
选择时区
选择UTC
登录密码
选择软件包 自定义
编辑器 浏览器
开发:右键所有安装
三:选择安装包
五:关闭防火墙和SELinux
等等等
设置VMnet2的本地地址为192.168.100.123/24
安装工具
一路next
chkconfig sendmail off 加快启动速度
rpm -aq |grep ssh 检查SSH
free 检查swap和存储
[root@loveoracle ~]# grep MemTotal /proc/meminfo (先检查内存,建议2G)
MemTotal: 2058780 kB
[root@loveoracle ~]# grep SwapTotal /proc/meminfo(检查swap)
SwapTotal: 4192924 kB
[root@loveoracle ~]# df -hT (检查u01目录)
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda6 ext3 27G 173M 25G 1% /u01
添加shmfs /dev/shm tmpfs size=10g 0(修改启动项)
2.检查安装的版本
df -h /dev/shm/(检查)
uname –rm(检查版本)
df -h /tmp(检查tmp)
3.检查软件包的安装
------------------------------------接下来就是最麻烦的检查软件包安装
要检查我们安装的是11.2.0.1 下面这些包
binutils-2.17.50.0.6
compat-libstdc++-33-3.2.3
compat-libstdc++-33-3.2.3 (32 bit)
elfutils-libelf-0.125
elfutils-libelf-devel-0.125
gcc-4.1.2
gcc-c++-4.1.2
glibc-2.5-24
glibc-2.5-24 (32 bit)
glibc-common-2.5
glibc-devel-2.5
glibc-devel-2.5 (32 bit)
glibc-headers-2.5
ksh-20060214
libaio-0.3.106
libaio-0.3.106 (32 bit)
libaio-devel-0.3.106
libaio-devel-0.3.106 (32 bit)
libgcc-4.1.2
libgcc-4.1.2 (32 bit)
libstdc++-4.1.2
libstdc++-4.1.2 (32 bit)
libstdc++-devel 4.1.2
make-3.81
sysstat-7.0.2
rpm -qa |grep libaio-devel(这个包是默认没有安装的)
rpm -qa |grep unixODBC(这个包非常重要属于驱动)
这个ODBC包有依赖关系 -----》建议用yum装
配置yum
1建立yum源--->光盘
插入光盘(系统盘)
mount /dev/cdrom /mnt
2设置yum源
cd /etc/yum.repos.d/
cp rhel-debuginfo.repo rhel-debuginfo.repo.bak
vim rhel-debuginfo.repo
修改一下啊
[rhel-debuginfo]
name=Red Hat Enterprise Linux $releasever - $basearch - Debug
baseurl=file:///mnt/Server 指定yum源
enabled=1 启用yum
gpgcheck=0 禁用校验
yum clean all 清除缓存
yum list 测试
装包
yum -y install unixODBC
在次检查
还差 unixODBC-devel-2.2.11 (64 bit) or later
yum -y install unixODBC-devel
然后我们再往后一个一个去检查包都安装好没有
rpm -qa |grep sysstat (这是最后一个了,各位全部都要检查)
4.创建用户和组
接下来我们开始建立组和用户
[root@loveoracle ~]# /usr/sbin/groupadd oinstall (先建立oinstall组)
[root@loveoracle ~]# /usr/sbin/groupadd -g 502 dba 建立dba组
[root@loveoracle ~]# /usr/sbin/groupadd -g 503 oper 建立oper组
[root@loveoracle ~]# /usr/sbin/groupadd -g 504 asmadmin 建立asmadmin组
[root@loveoracle ~]# /usr/sbin/groupadd -g 506 asmdba 建立asmdba组
[root@loveoracle ~]# /usr/sbin/groupadd -g 505 asmoper 建立asmoper组
[root@loveoracle ~]# /usr/sbin/useradd -u 502 -g oinstall -G dba,oper,asmdba oracle 创建oracle用户
[root@loveoracle ~]# passwd oracle 设置密码 oracle
[root@loveoracle ~]# /usr/sbin/useradd -u 503 -g oinstall -G asmadmin,asmdba,asmoper,dba grid 创建grid组
[root@loveoracle ~]# passwd grid 设置密码 oracle
做完后我们检查下
[root@loveoracle ~]# id oracle
uid=502(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper),506(asmdba)
grid必须属于oinstall组,主组是oinstall,它的附加组是dba,oper,asmdba
[root@loveoracle ~]# id grid
uid=503(grid)gid=501(oinstall)groups=501(oinstall),502(dba),504(asmadmin),506(asmdba),505(asmoper)
到这里我们的用户和组就建立完毕了
配置内核参数
vim /etc/security/limits.conf
#for oracle
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
#for grid
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
[root@loveoracle ~]# vim /etc/sysctl.conf 在文本最下面修改参数
#for oracle softe
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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 = 1048576
[root@loveoracle ~]# /sbin/sysctl -p 改完后生效
配置目录
我们一共要建立3个目录,第一个是软件安装的根目录,第二个属于列表目录,第三个属于软件目录。
[root@loveoracle ~]# mkdir -p /u01/app/oracle
[root@loveoracle ~]# mkdir -p /u01/app/grid
[root@loveoracle ~]# chown -R grid:oinstall /u01
[root@loveoracle ~]# chown -R oracle:oinstall /u01/app/oracle
[root@loveoracle ~]# chmod -R 775 /u01
检查
[root@loveoracle ~]# ll -d /u01/app/grid
drwxrwxr-x 2 grid oinstall 4096 Jul 16 21:21 /u01/app/grid
[root@loveoracle ~]# ll -d /u01/app/oracle
drwxrwxr-x 2 oracle oinstall 4096 Jul 16 21:20 /u01/app/oracle
配置用户的环境变量
2个用户oracle grid都要配置环境变量
cd /home/oracle/
vim .bash_profile
加入:
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl (实例的名字)
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/dbhome_1 (oracle软件安装目录)
cd /home/grid
vim .bash_profile
加入:
export ORACLE_BASE=/u01/app/grid
export ORACLE_SID=+ASM (ASM实例名)
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid (grid软件安装目录)
扩展:检查变量设置或者生效
方法1: echo $变量名
echo $ORACLE_HOME
方法2: env |grep ORACLE_HOME
umask 022
添加完成后source .bash_profile让他立即生效
到此为止我们就搭建了一个oracle所需要的安装环境
4.安装grid软件
Oracle安装思路:
Oracle要使用ASM作为存储必须安装2个软件 ,先装grid 再安装oracle软件最后建库,配置客户端 最后用户连接。一定要按照这个顺序去装
接下来我们准备2个ASM磁盘组,一个存储数据,一个用于数据库恢复。
一般的生产环境中我们都是外部冗余(External redundancy),也就是硬件RAID+data
存数据 High redundancy+fra 存储恢复用文件 Normal redundancy
至少需要5块硬盘,每块硬盘最少不小于20G(这个环境就比较像真实的生产环境了)
[grid@loveoracle ~]$ uname –rm (查看内核,因为马上要装驱动)
2.6.18-308.el5 x86_64
http://www.oracle.com/technetwork/topics/linux/asmlib/index-101839.html下载安装驱动,根据内核下载驱动。
通用包下载
关闭虚拟机添加5块硬盘用20G
开机后检查硬盘及分区
fdisk –l查看是不是新建了5个硬盘。
分区:一个硬盘一个分区
fdisk /dev/sdb
n
p
1
回车
回车
w这样该简单吧,没学过linux的同学也不要紧。
partprobe /dev/sdb 生效
剩下的sdc,sdd,sde,sdf都要完成一样的步骤。
划分完毕后一定要检查。
1.安装ASM驱动,去官网根据系统架构下载
下载完成后我们把它上传到系统中然后安装
[root@loveoracle disk]# rpm -ivh *.rpm 然后把3个包一起安装,前提是只有这3个包。
-------------------------------这样我们就把驱动装好了
[root@loveoracle disk]# rpm -qa|grep oracleasm 装好了检查下
[root@loveoracle disk]# /etc/init.d/oracleasm configure 配置驱动
[root@loveoracle disk]# /etc/init.d/oracleasm status 检查ASM是否准备完毕
-------------------------------这样我们就把驱动装好了
检查完毕后把5个分区asm磁盘。
[root@loveoracle ~]# /etc/init.d/oracleasm createdisk DISK1 /dev/sdb1
Marking disk "DISK1" as an ASM disk: [ OK ]
[root@loveoracle ~]# /etc/init.d/oracleasm createdisk DISK2 /dev/sdc1
Marking disk "DISK2" as an ASM disk: [ OK ]
[root@loveoracle ~]# /etc/init.d/oracleasm createdisk DISK3 /dev/sdd1
Marking disk "DISK3" as an ASM disk: [ OK ]
[root@loveoracle ~]# /etc/init.d/oracleasm createdisk DISK4 /dev/sde1
Marking disk "DISK4" as an ASM disk: [ OK ]
[root@loveoracle ~]# /etc/init.d/oracleasm createdisk DISK5 /dev/sdf1
Marking disk "DISK5" as an ASM disk: [ OK ]
这样我们就把刚才的5个磁盘全部变成ASM磁盘。
[root@loveoracle ~]# /etc/init.d/oracleasm listdisks (检查磁盘配置好没)
DISK1
DISK2
DISK3
DISK4
DISK5
!开始安装grid软件
此处出现了很明显的错误,无法打开远端服务器
解决办法:
清楚连接的缓存后,在重新连接
退出当前终端,重新连接
Ctrl+D退出当前用户的快捷方式
Xclock命令测试Xwindows服务是否开启
上传服务器,接下来
su - grid
cd /disk
unzip linux.x64_11gR2_grid.zip 解压
cd grid 检查下软件完全解压没
打开xamnager-passive
export DISPLAY=192.168.10.123:0.0 修改变量
xhost +
./runInstaller 启动软件
当看到下面的界面就成功啦(启动界面速度快慢由电脑决定)
选择独立服务器
选择英语
选择high以及3块磁盘,这个地方很重要如果这里没有显示我们定义的5块磁盘,那么我们就做错了。
密码全部oracle
我们建立组的对应关系
我们的根目录和软件安装目录
我们的列表目录此目录要有写的权限,所属组是oinstall
全部检查完毕
开始安装
安装到最后提示用root身份执行2个脚本
/u01/app/oraInventory/orainstRoot.sh
/u01/app/grid/product/11.2.0/grid/root.sh
执行完毕后点ok我们继续
最后安装完毕
5.安装oracle数据库
上传安装包到/disk目录
切换到oracle用户解压安装包,并依次安装。
安装oracle
没有邮箱就不填写。生产环境下可以根据需要填写;提示没有填写邮件地址,忽视点yes
安装数据库软件
选择安装单实例,节点选择的配置窗口
选择英语,语言选择配置窗口
企业版的数据库,选择数据库版本
数据库软件根目录,指定安装位置
数据库在什么组里面,操作系统组权限,全部按照默认,然后下一步检查必要配置
检查 100%无故障,检查后出现所有选项的综述,可以查看配置是否错误。
弹出框用root运行脚本 /u01/app/oracle/product/11.1.0/dbhome_1/root.sh
脚本没有运行完成,千万不要点OK.
最后完成点OK
6.建立一个数据库,名字oracle
1.首先创建FRA磁盘组来存储备份和日志,需要使用grid用户来创建
在grid用户下,cd ~回到用户的家目录
vim .bash_profile 最后一行加入:export PATH=$ORACLE_HOME/bin:$PATH
把/u01/app/grid/product/11.2.0/grid/bin加入到PATH
source .bash_profile
如果没有asmca命令,就说环境变量配置错误。
弹出来了,创建磁盘组
然后点击OK
服务器正在创建FRA磁盘组
Ok创建成功后退出,上面就是创建的FRA磁盘组。
到此我们的数据库就正式安装完毕
接下来建库
2.下面切换到oracle用户,建库
su - oracle
vim .bash_profile 加入:export PATH=$ORACLE_HOME/bin:$PATH
source .bash_profile
检查echo $PATH
初始化完成后出现配置界面
创建数据库
选择通用数据库
数据库名字
选择配置单实例企业管理器(EM), 然后点击Next
设置管理员密码为oracle, 然后Next
选择存储类型:ASM,然后选择数据库区域为+DATA
选择指定FRA,然后选择我们创建的+FRA
创建恢复区
启用一个式例数据库,我们学习就需要。生产环节中不需要
内存给512M可以给1024
字符集选择ZHS16GBK,其他默认。
点击Finish,会出现创建数据库的概述
选择Create Database
这会开始安装
20分钟后
等待安装完成后,会弹出一个对话框,可以使用Password Management,如不需要,可Next
7.在oracle用户,使用sqlplus测试数据库是否建立成功。
su – oracle
sqlplus / as sysdba
Show user ;
Select status from v$instance ;
fi退出sql语句
Show parameter instgance ;
Selectg ename,sal from scott.emp;
报错:
[oracle@master ~]$ sqlplus sysdba/oracle@10.1.1.10:1521/orcl
SQL*Plus: Release 11.2.0.1.0 Production on Wed Jun 26 13:01:12 2019
Copyright (c) 1982, 2009, Oracle. All rights reserved.
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect
Descriptor
注:直接粘贴,格式不要乱
[oracle@master admin]$ cat listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = master.example.com)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /oracle/oracle
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl)
(ORACLE_HOME = /oracle/oracle/11g)
(SID_NAME = orcl)
)
)
[oracle@master admin]$