目 录
一、测试环境及软件
二、系统安装注意
三、安装Oracle10g前的系统准备工作
四、安装Oracle10g并进行相关设置
五、升级Oracle10g
七、新建实例
八、设置监听
九、安装后可能出现的问题
注意:本文默认:#前缀为root用户输入的命令,$前缀为数据库用户输入的命令
****本文借用了几张其他同事的截图,特此感谢该同事允许我引用。
一、测试环境及软件
系统平台:rhel 6.3 x86_64(ESX下的 vmware 虚拟机)
rhel-6.3-x86_64-bin-DVD1.iso
Oracle版本:10201_database_linux_x86_64.cpio.gz
补丁:p6810189_10204_Linux-x86-64.zip
软件:
secureCRT,用于root和数据库用户之间的切换。
ESX,虚拟机管理系统
二、rhel系统安装注意事项
1、系统安装时注意:①要安装桌面模式(可不安装kde桌面);②选择”软件开发”组件。否则无法安装oracle。
2、 oracle官方不建议使用SELinux(需关闭),防火墙也请暂时关闭,减少对安装的困扰。
3、使用英文作为系统语言,能有效有效避免安装过程中乱码的出现。
4、网上有些安装文档为了简便,给数据库用户授予了root权限,这方便了操作,但不利于系统安全;
三、安装Oracle前的系统准备工作
以root账号登入作一些前置设定作业。
1、将语言设置为英语
[[email protected] ~]# export LANG=en_US
2、关闭防火墙、禁用SELinux
[[email protected] ~]# #chkconfig --level 35 iptables off //关闭防火墙
[[email protected] ~]# vi /etc/selinux/config
按 i 进行insert模式,修改后按ESC退出,再按 :wq! 保存。
如果不想重启系统,使用命令setenforce 0
3、安装依赖包
说明:网上安装oracle到linux的过程中要求的安装包,各有差异,但都离不开oracle官方文档保准。
Oracle官方文档要求的安装包,如图(安装包不要求版本一致,但不建议使用低于安装文档建议的版本):
查看Oracle相关包是否已经安装:
用rpm方式安装所需的包:
# rpm –q binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat
未安装的包即会显示:package xxxx is not installed.
我们可进入安装rhel6.3的时候用到的安装光盘里的Packages文件夹下,安装我们所需要的所有安装包(一定要注意:该光盘已经包含所有需要的包,不需要连接网络安装额外的包!)
#cd /media/rhel6.3/Packages/
# rpm -ivh sysstat-5.0.5-19.el4.x86_64.rpm
# rpm libaio-0.3.107-10.el6.x86_64.rpm
以此类推,直到将所有要求的包都安装完毕。
4、创建Oracle用户与组
在这里只讨论单主机环境,不考虑RAC环境的配置。
执行以下指令以新增oracle安装时所需要的使用者与群组。
(1) 建立群组oinstall
# groupadd oinstall
(2) 建立群组dba
# groupadd dba
(3) 新增使用者ora10g并将其加入oinstall和dba群组
# useradd -m -g oinstall -G dba ora10g
(4) 建立ora10g的新密码
# passwd orac10g
#new password
#retype new password
5、配置系统内核参数
# vi /etc/sysctl.conf
修改和添加以下内容(不包括斜杠号后面的注解!!):
kernel.shmall = 2097152 //表示系统一次可以使用的共享内存总量(以页为单位)。缺省值就是2097152,通常不需要修改
kernel.shmmax = 2147483648
//定义了共享内存段的最大尺寸(以字节为单位)。缺省为32M,对于oracle来说,该缺省值太低了,通常将其设置为2G
kernel.shmmni = 4096 //用于设置系统范围内共享内存段的最大数量。该参数的默认值是 4096 。通常不需要更改
kernel.sem = 250 32000 100 128 //表示设置的信号量
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144 //默认的接收窗口大小
net.core.rmem_max=4194304 //接收窗口的最大大小
net.core.wmem_default=262144 //默认的发送窗口大小
net.core.wmem_max=1048586 //发送窗口的最大大小
fs.file-max = 65536 //打开文件数的限制
如果你发现sysctl.conf中已经有一些与目前的参数重复的,直接把原来的参数修改成上面的数值。
编辑完之后,储存(:wq!),然后执行:
# sysctl -p
启用刚刚所做的变更。
6、编辑/etc/security/limits.conf
# vi /etc/security/limits.conf
添加以下四行
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
7、编辑/etc/pam.d/login
# vi /etc/pam.d/login
添加以下两行
session required pam_limits.so
8、修改Linux发行版本信息
由于Oracle 10g发行的时候,rhel6.3没有发行,所以Oracle 10g并没有对rhel6.3确认支持,需要修改rhel6.3的版本文件欺骗Oracle 10g。
编辑/etc/redhat-release文件
# vi /etc/redhat-release
将其中的内容Red Hat Enterprise Linux Server release 6.3 (Santiago)修改为redhat 4
9、创建Oracle安装文件夹以及数据存放文件夹
# mkdir -p /ora10g/product/10.2 #新建oracle的HOME目录
# chown -R ora10g:oinstall /ora10g #将/ora10g目录的所有者改为ora10g
# chmod -R 777 /ora10g #将/ora10g的读写运行权限赋予用户
创建数据存放文件夹 /data1
[[email protected] ~]# mkdir /data1
[[email protected] ~]# chown -R ora10g:oinstall /data1
[[email protected] ~]# chmod -R 777 /data1
10、配置Linux主机
检查/etc/hosts文件中是否有localhost的记录(指向127.0.0.1即可),和本机实际ip与主机名。若没有的话,在后面配置Oracle监听的时候会出现一些问题,导致无法启动监听,在此手工添加此记录即可。
#vi /etc/hosts
第一阶段到此完毕,接下来,完成这些设定之后,请先注销root账号,并且以oracle账号再次登入系统。
11、配置oracle用户环境变量
$ cd /home/ora10g
$ vi .bash_profile
修改并加入以下內容
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/ora10g; export ORACLE_BASE
ORACLE_HOME=/ora10g/product/10.2; export ORACLE_HOME
ORACLE_SID=ora10g; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
保存后使用如下命令,使设置生效:
$ source /home/oracle/.bash_profile
12、上传数据文件
可使用SSH Secure File Transfer Client上传
把10201_database_linux_x86_64.cpio.gz
p6810189_10204_Linux-x86-64.zip
上传至 /ora10g文件夹
13、授予权限
# cd /ora10g
[[email protected] ora10g]# ll #查看当前文件夹下的文件信息
再将上传的介质所有者改为oracle用户,以及授予运行的权限,
# chown ora10g:oinstall 10201_database_linux_x86_64.cpio
# chown ora10g:oinstall p8202632_10205_Linux-x86-64.zip
# chmod 777 10201_database_linux_x86_64.cpio
[[email protected] ora10g]# chmod 777 p8202632_10205_Linux-x86-64.zip
[[email protected] ora10g]# ll //注意权限的变化
14、给所有用户使用图形界面的权限
# xhost +
注意:网上不少oracle安装文章都先调用xclock看能否正常调用图形界面,
我在我安装的rhel6.3中调用xclock失败,但是能正常进入图形界面安装oracle。
所以我觉得,在输入xhost+命令后,未见报错,即可让其他用户调用图形化界面。
四、安装Oracle,并进行相关设置
解压缩安装文件
$ cd /ora10g/
解压缩10201_database_linux_x86_64.cpio.gz
$gunzip filename.cpio.gz
$cpio -idmv < 10201_database_linux_x86_64.cpio
解压完成后,查看一下目录, 多了一个文件夹database。进入到database文件夹中:
$ cd database
准备执行数据库安装,如果你的rhel6.3是中文环境,安装时会出现中文乱码,请下以下指令
$ ./runInstaller
开始执行安装程序。
弹出以上窗口时便可进行安装。
选择高级安装,
路径和组名使用默认值,
安装类型选择企业版,
主目录路径选择默认,
条件检查时如果出现一个网络配置需求待检验,在“未执行”前打勾即可,
配置选项选择仅安装数据库软件,
查看安装列表,直接点击下一步,
开始安装,
可能出现的报错:如果你完整安装了所有依赖包,你最多会在安装到83%时,遇到报错:
Error in invoking target ‘collector’of …… 这是官方bug,可以忽略错误提示,继续安装,并不影响以后的使用。
安装结束前会提示先执行两个脚本,
先不要点击确定,重新打开一个CRT窗口,
# sh /ora10g/oraInventory/orainstRoot.sh
# sh /ora10g/product/10.2/root.sh
出现红色框内语句时需要按一下回车,
执行完脚本后返回本机界面,点击确定。
点击退出,并确定。即完成了oracle软件的安装。
验证安装是否正确
安装完成后可以验证安装是否正确,
$ sqlplus /nolog #运行sqlplus命令,进入sqlplus环境
SQL> conn / as sysdba #用sysdba用户连接
若提示Connected to an Idle instance,则表明成功,
SQL> startup #启动数据库
有跳出东西即表明安装成功。
六、 升级oracle版本
# cd /ora10g/
[[email protected] ora10g]# ls –al
[[email protected]]# unzip p8202632_10205_Linux-x86-64.zip #解压升级补丁
解压完成,
[[email protected] ora10g]# ls –al
需要修改一下文件的所有者和权限,
[[email protected] ralinux ora10g]# chown –R ora10g:oinstall Disk1
[[email protected] ralinux ora10g]# chmod –R 777 Disk1
[[email protected] ralinux ora10g]# ls -al
返回本机界面
重新调用图形化界面,参照步骤七。
$ cd /ora10g/Disk1
[[email protected] Disk1]$ ls –al
[[email protected] ralinux Disk1]$ ./runInstaller
跳出以下窗口后即可开始安装,直接点击下一步,
路径使用默认值,与之前软件安装时一致。
不要接受安全更新,
点击“是”,
通过条件检查,
点击 安装 ,
升级结束前需要执行一个脚本,
先不要点击确定,重新打开一个CRT窗口,
[[email protected]~]# sh /ora10g/product/10.2/root.sh
中间需要按一次回车,输入三次“y”,
执行完脚本后返回本机界面,点击确定。
检查数据库版本
[[email protected] ~]$ sqlplus / as sysdba #用sysdba用户连接
七、新建实例
在本机上操作,调用图形化界面,参照步骤七。
[[email protected] ralinux ~]$ dbca #打开数据库配置工具
选择 创建数据库,
模板选择 一般用途,
输入全局数据库名,
不使用Enterprise Manager,
输入sysdba密码,
选择文件文件系统,下一步
选择公共位置,下一步
不指定快速恢复区,不启用归档,下一步,
默认,下一步,
内存默认是40%,转到下个TAB页
进程一般写1024,过大有时后面的步骤会报错,
选择相应的字符集,下一步,
连接模式默认专用,下一步,
将控制文件最大数改为500,
重组日志组1,2,3都改为100MB,下一步,
勾选创建数据库和生成脚本,点击完成,
点击确认即可,
点击确认即可,
开始创建数据库,
数据库创建完成后需要解锁一个用户,点击口令管理,
取消 SCOTT 用户的锁定,
相关检查命令:
[[email protected] ralinux ~]$ sqlplus / as sysdba
SQL> select * from v$version; #查询数据库版本
SQL> select name from v$database; #查询当前数据库名
若提示 ORA-01034: ORACLE not available 即数据库未启动
启动数据库,
SQL> startup
关闭数据库,
SQL> shutdown immediate
SQL> select instance_name from v$instance; #查询当前实例名
SQL> select status from v$instance; #查询当前实例状态
八、 配置监听
在本机上操作,调用图形化界面,参照步骤七。
[[email protected] ralinux ~]$ netmgr #打开网络管理工具
选中 监听程序,再点击 “ + ” ,
输入监听程序名称,
在监听位置页面,选择添加地址,
选择协议为 TCP/IP,输入主机名和端口号,
输入完主机名和端口号后,点击上方的下拉箭头,选择数据库服务,
点击 添加数据库,
输入 数据库名和实例名,
点击 文件 – 保存网络配置,退出即可。
配置完成后检查监听状态,
[[email protected] ralinux ~]$ lsnrctl status #查询监听状态
表示监听没有启动。
启动监听,
[[email protected] ralinux ~]$ lsnrctl start
[[email protected] ralinux ~]$ lsnrctl status
关闭监听,
[[email protected] ralinux ~]$ lsnrctl stop
九、安装后可能出现的问题
1. SQL下部分语句变成问号,
切换回oracle用户,
$export NLS_LANG=american_america.zhs16gbk
2. 图形化安装时画面卡死,
ps –ef |grep 程序名
kill -9 进程号
比如 使用dbca命令创建数据库时画面卡住,则新开窗口执行
[[email protected] ralinux ~]# ps –ef |grep dbca
[[email protected] ralinux ~]# kill-9 20950