Oracle EnterpriseLinux 5.4
安装 ORACLE11g
一、安装 ORACLE10g 软件(11.2.0.0)
(一)安装前的包支持
1. 检测 yum 仓库是否已经配置好
[root@oracle ~]# yum list all
如果输入这条指令可以正确显示出 rpm 包的列表, 则说明 yum 仓库已经配置完成,
跳至第三步,否则进行第二步。
2. 搭建 yum 仓库
1) 挂载所需要的安装光盘
虚拟机挂载光盘:
设置 → 光盘 → 路径 (在“连接”处打勾)
[root@oracle ~]# mount /dev/cdrom -o loop /mnt//将光盘挂载到/mnt 目录下
2) 切换至 yum.repo.d 目录下
[root@oracle ~]# cd /etc/yum.repos.d/
3) 创建任意文件名,后缀为.repo 的文件
[root@oracle ~]# vi server.repo
4) 编辑该文件如下
[root@oracle ~]# vi server.repo
[server]
name=Red Hat Enterprise Linux //名称可以任取
baseurl=ftp://192.168.0.254/pub/rhel6/dvd/ //若为本机,file:///mnt/Server
enabled=1 //启用 yum 仓库,默认为启用
gpgcheck=0 //验证设置为否
Tips:
执行 yum list all 验证 yum 仓库是否配置好。
若开始配置错了,用 yum clean all 清理后,再次执行 yum list all。
3. 安装所需要的包
1) 编辑脚本以安装所需要的包
[root@oracle ~]# vi yum.sh
yum install binutils* -y
yum install compat* -y
yum install elfutils* -y
yum install gcc* -y
yum install glibc* -y
yum install kernel* -y
yum install ksh* -y
yum install libaio* -y
yum install libgcc* -y
yum install libgomp* -y
yum install libstdc* -y
yum install make* -y
yum install sysstat* -y
2) 修改权限以执行脚本
[root@oracle ~]# chmod 755 yum.sh
3) 执行脚本以安装必须的包
[root@oracle ~]# ./yum.sh
(二)修改相关的系统配置
1. 修改 etc/sysctl.conf
1) 在/etc/sysctl.conf 文件尾部追加以下内容
[root@oracle ~]# vi /etc/sysctl.conf
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
2) 保存并退出,使修改生效
[root@oracle ~]# /sbin/sysctl -p
2. 修改/etc/security/limits.conf
//在/etc/secuirty/limits.conf 文件尾部追加以下内容,以设置用户限制
[root@oracle ~]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
3. 修改/etc/pam.d/login
//在/etc/pam.d/login 文件尾部追加以下内容,以修改登录配置
[root@oracle ~]# vi /etc/pam.d/login
session required pam_limits.so
4. 关闭 SELINUX 功能
[root@oracle ~]# vi /etc/selinux/config
SELINUX=disabled //这里设置为 disabled 即关闭 SELINX
5. 修改/etc/hosts 文件
[root@oracle ~]# vi /etc/hosts
127.0.0.1 localhost.localdomain localhost
//本机 IP 地址 //长主机名 //短主机名
192.168.21.4 oracle.example.com oracle
Tips:
需要保证三处的主机名一致:
● /etc/hosts 中的长主机名
● 使用 hostname 指令显示的主机名
● /etc/sysconfig/network 中的主机名 //修改主机名后需要重启机器
使用 IFCONFIG 指令查看本机 IP
[root@oracle ~]# ifconfig
//确保此处 IP 和/etc/hosts 文件中的 IP 地址
(三)创建用户和用户组、创建安装目录
1. 创建 dba、oinstall 用户组
//以 root 用户登录
[root@oracle ~]# groupadd dba //添加 dba 用户组(ORACLE 管理组)
[root@oracle ~]# groupadd oinstall //添加 oinstall 用户组(ORACLE 安装组)
[root@oracle ~]# useradd -g oinstall -G dba oracle //创建 oracle 用户并加入组
[root@oracle ~]# passwd oracle //修改 oracle 用户的密码
2. 创建安装目录
[root@oracle ~]# cd / //切换到根目录
[root@oracle /]# mkdir -p /u01/app/oracle //创建安装目录
[root@oracle /]# chown oracle:oinstall /u01/app/oracle/ //修改安装目录的权限
(四)修改环境变量
1) 将以下几行追加在 oracle 用户的环境变量中
[oracle@oracle ~]
export PATH=
//以下内容可不写
export ORACLE_TERM=xterm //指定安装 Oracle 终端的类型
export LD_LIBRARY_PATH=
//设置临时的库文件的 path 路径
export CLASSPATH=
//设置 java lib 文件搜索路径
2) 保存,并使参数生效
[oracle@oracle ~]$ source .bash_profile
(五)解压缩安装包
1) 将压缩包传输入 LINUX 操作系统
1 如果已经安装 VMware Tools 工具,直接拖动文件即可;
2 通过虚拟机设置共享文件夹,在/mnt 目录下找到共享文件夹;
3 通过 WinSCP 工具进行远程传输。
linux_11gR2_database_1of2.zip
linux_11gR2_database_2of2.zip
将文件已 oracle 用户身份传输至目录/u01/app/oracle
2) 以 oracle 用户身份编辑文件以解压缩文件
[oracle@oracle oracle]$ vim unzip.sh
ziphome=/u01/app/oracle
ziplist=du -a $ziphome |grep '\.zip$'| awk '{print $2}'
for loop in
unzip -o
[oracle@oracle oracle]
(六)安装数据库软件
1) 使用 oracle 用户登录
2) 运行安装脚本
[oracle@oracle ~]
3) 将把 oracle 软件安装到/u01/app/oracle1/product/11.2.0/db_1 目录
[oracle@oracle database]$ ./runInstaller
Starting Oracle Universal Installer…
Checking Temp space: must be greater than 80 MB. Actual 27365 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4095 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2013-12-01_04-58-00PM. Please
wait …
通过安装基本检查,进入安装界面
去掉√,点击“Next” 。
点击“Yes” ,以继续安装
选择“仅仅安装软件” 。
选择“单实例安装数据库” 。
选择安装语言。
选择企业版进行安装。
注意确定变量 ORACLE_BASE和$ORACLE_HOME 变量与环境变量保持一致。
注意确定临时文件目录(保证目录存在并且权限正确) 。
点击“Yes”继续安装。
因为这里用虚拟机安装,所以内存较小,但此处该错误可以点击“Ignore”忽略。
这一步之后点击“finished”以继续安装。
当进度条进行到 94%后,弹出窗口要求我们执行脚本。
注意,这里不能立即点击“OK” ,注意窗口的提示:
1. 打开一个终端
2. 以 root 用户身份登录
3. 运行脚本
4. 返回窗口点击“OK”
//运行第一个脚本
[root@oracle~]#/u01/app/oracle/oraInventory/orainstRoot.sh
Changing permissions of
/u01/app/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oracle/oraInventory to oinstall.
The execution of the script is complete.
//运行第二个脚本
[root@oracle ~]#
/u01/app/oracle/product/11.2.0/db_1/root.sh
Running Oracle 11g root.sh script…
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin …
Copying oraenv to /usr/local/bin …
Copying coraenv to /usr/local/bin …
Creating /etc/oratab file…
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
最后点击“Close”关闭窗口,完成软件安装。
二、创建数据库 Create Oracle Database
[oracle@localhost database]$ dbca
选择创建数据库。
选择通用版安装。
输入数据库的名字和全局数据库名。
取掉“企业管理器”前面的√。
为 SYS 和 SYSTEM 设置密码,密码可以设置相同也可以不同。
选择默认的文件存放方式。
● 存放在默认路径下。
● 用户指定文件存放路径。
● 使用 OMF 方式管理文件。
不启用闪回和归档,后面讲介绍如何在建库之后打开这两个功能。
勾选示例,方便做练习。
包括 SH、SCOTT、HR 等用户和表。
设定内存、字符集、连接模式等等,这里选择默认值。
选择下一步。
选择完成。
选择“OK” 。
创建数据库完成,点击退出。
连接数据库。
[oracle@oracle ~]$ sqlplus / as sysdba
三、常见安装错误*重点内容*
1.网络连接不通
问题描述:无法连接到服务器获取安装包和相关文档。
解决方案:
1) 检查网线是否插好
2) 检查网卡是否开启
3) 检查是否配置 IP 地址
ifconfig
发现没有配置 IP 地址
1 临时配置方法:ifconfig br0 192.168.0.201
2 修改参数配置方法:
vim /etc/sysconfig/network/network-scripts/ifcfg-br0
DEVICE=br0
ONBOOT=yes
BOOTPROTO=dhcp
TYPE=Bridge
UM_CONTROLLED=no
IPV6INIT=no
PEERNTP=no
NAME =”Bridge eth0”
vim /etc/sysconfig/network/network-scripts/ifcfg-eth0
DEVICE=”eth0”
BOOTPROTO=none
BRIDGE=br0
ONBOOT=yes
3 重新启动网络服务
service network restart
4 检查网络配置是否更新
ifconfig br0
ping 192.168.0.254
2.删除重建用户不干净
问题描述:重建用户时显示用户家目录已经存在。
解决方案:
1) 先干净删除重建用户
userdel -r oracle
2) 删除旧用户遗留的家目录
rm -rf /home/oracle
3) 重建用户
useradd oracle
3.yum 安装包安装失败
问题描述:yum 安装到一半失败。
解决方案:
1) 确定是下载包时失败还是安装时失败
查看 linux 的提示信息,发现是下载失败
2) 检查网络连接
ping 192.168.0.254 发现网络不通
3) 将网线推紧
4) 检查网络连接
ping 192.168.0.254 发现网络已通
5) 重新执行 yum 安装
yum install …
4.解压缩时权限不足
问题描述:对压缩包有权限,却无法解压缩
解决方案:
1) 查看要释放文件的目录是否有权限
ls -l /opt 发现虽然对压缩包有权限,对相应的目录却没有权限
2) 修改解压缩文件的目录,或者改变该目录的权限
使用 oracle 用户:mkdir /opt/oracle ,将压缩包放至该目录下
5.无法启动图形化界面
问题描述:启动安装./runInstaller 时报了一堆错
解决方案:
1) 重做 yum 安装包
2) 再次尝试,发现问题解决
Tips:使用 yum 安装包时,差一个字母甚至空格都有可能导致少安装包,从而导致无法进入
ORACLE 安装界面
6.无法打开会话
问题描述:登录 ORACLE 用户时显示:Can not open session(使用 root 用户亦无法登录,且其
他用户可以正常登录)
解决方案:
1) 检查/etc/security/limits.conf 文件
2) 修改其内容为:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Tips:soft(软件)、hardware(硬件) 、nproc(最大进程) 、nofile(最大文件数量)
7.进入安装界面提示权限不足
问题描述:运行./runInstaller 界面提示权限不足
解决方案:
1) 检查环境变量中的
more ~/.bash_profile
2) 检查安装软件的目录是否和环境变量中的路径一致
3) 检查 ORACLE 用户以及 oinstaller 用户组对安装软件的目录是否有足够的权限
ls -l
4) 若是有足够权限,不理会该错误,直接进行下一步操作,但是要核对安装界面所显示的
路径和环境变量、用户设定目录是否一致
5) 若没有足够权限,则赋予相应权限
chown oracle:oinstaller /opt/oracle10g
chmod 775 /opt/oracle10g
8.安装检测时警告 swap 空间不够
问题描述:安装检测时警告 swap 分区可能不足
解决方案:
1) 使用 dd 命令为 swap 创建新文件
dd if=/dev/zero of=/home/swapfile bs=1M count=1024
2) 将文件改为 swap 格式
mkswap /home/swapfile
3) 将新的 swap 开启
swapon /home/swapfile
4) 查看 swap 大小
swapon -s
5) 将新的 swap 改为开机自动挂载,在/etc/fstab 末尾添加:
/home/swapfile swap swap defaults 0 0
9.安装到一半显示磁盘空间不足
问题描述:安装到一半显示无法写入,磁盘 已满
解决方案:
1) 检查磁盘空间
df -h
2) 删除已安装的软件,转换到其他磁盘
3) 如果其他磁盘也没有空间,重新规划或者删除部分文件
Tips:安装软件前先确保有足够的空间(至少 10G)
10.安装完成后无法使用 sqlplus 命令
问题描述:安装完成后在终端输入 sqlplus,显示 command not found
解决方案:
1) 去安装目录下查找 sqlplus 指令
cd /opt/oracle10g/product/10.2.0/db_1/bin
ls -l sqlplus
2) 若找不到,则重新安装
3) 能找到 sqlplus, 试着打全路径运行该指令, 如果能成功执行, 尝试修改
Tips:修改完.bash_profile 文件后使用 source 指令重新编译,若新终端不生效,则重启计算机。
11.建立数据库后数据库打不开
问题描述:成功创建数据库,连接上 sqlplus 后却无法打开数据库
解决方案:
1) 检查数据库文件是否成功创建
cd
echo
uid=501(oracle) gid=502(oinstall) groups=502(oinstall),501(dba)
2) 检查文件/proc/sys/vm/hugetlb_shm_group
[oracle@oracle ~]$more /proc/sys/vm/hugetlb_shm_group
0
3) 用 root 执行下面的命令,将 dba 组添加到系统内核中
echo 501 > /proc/sys/vm/hugetlb_shm_group
Tips:根据系统显示 oinstall 用户组的组 ID 进行修改
13.永恒的 ORA-00600
问题描述:安装、升级 ORACLE 过程中遇到 ORA-00600
解决方案:
检查网络配置,修改后继续。
生产环境中一般使用升级 ORACLE 或者重新安装 ORACLE 来解决, 详细解决方案参考网络
该错误是 ORACLE 软件的一个 bug。