red hat 5 和 oracle

为玩Oracle去买台专门电脑,成本过高,因此建议你们选择用虚拟机,一提到虚拟机,知道的人马下就想到VMware,但VMware要注册麻烦并且占用系统资源多并且占用空间也多,因此我建议你们用开源软件Sun xVM VirtualBox,它占用资源少并且启动速度快!并且能打开之前用VMware安装的OS。

一、准备安装介质(本身到百度、google搜索)
虚拟机:Sun xVM VirtualBox
操做系统:Red Hat Enterprise Linux 5.2
数据库:Oracle 10g(10201_database_linux32.zip)
远程登录软件:SecureCRT
ftp软件:FileZilla
Oracle补丁包:
compat-db-4.2.52-5.1.i386.rpm
libXp-1.0.0-8.1.el5.i386.rpm
openmotif-2.3.0-0.5.el5.i386.rpm
openmotif-devel-2.3.0-0.5.el5.i386.rpm

二、虚拟机VirtualBox安装配置
1)安装VirtualBox和通常软件安装同样,其实比安装QQ还简单(这个不会安装,我想下面的就不用玩了),略过。
2)打开VirtualBox,经过向导新建虚拟电脑。
注意:一、虚拟电脑名称和系统类型:输入Red Hat Enterprise Linux 5.2和选择Red Hat类型。
 二、内存:根据你主机电脑内存大小设置,但通常也要512M,×××。
 三、虚拟硬盘:选择新建,就会跳出新建虚拟硬盘向导,一直按下一步就OK(映像类型通常选择动态扩展映像,虚拟硬盘大小通常设个15G以上,省得之后扩展麻烦,反正不用不浪费)。
3)配置虚拟电脑:点击设置,弹出界面,咱们主要设置下面几种类型
 一、常规:根据须要修改基本信息,通常不用改(这边咱们在高级中的启动顺序去掉软盘)
 二、光驱:选择分配光驱,根据状况选择(我选择虚拟关盘,由于用的是ISO)、
 三、网络:默认为NAT,但通常选择Host Interface(具体操做见VirtualBox网络配置一文)
 四、其它根据须要配置,但通常没用。
到这边一台虚拟电脑配置好了,至关一天裸机,接下来咱们安装OS。

三、安装Red Hat Enterprise Linux 5.2
1)打开VirtualBox,选择建立的虚拟电脑,点击启动。
2)按Enter,光盘检测选择跳过。
3)欢迎界面,点击Next继续。
4)选择安装语言界面,能够选择中文,点击Next继续。
5)选择键盘界面,默认便可,点击Next继续。
6)选择鼠标界面,默认便可,点击Next继续。
7)磁盘配置界面,选择“在选定磁盘上删除全部分区并建立默认分区结构”,并勾上“检验和修改分区方案”(可根据所好,选择不一样类型分区),点击Next继续。
8)引导装载程序配置设置,默认便可,点击Next继续。
9)选择网络配置界面,根据本身状况设置网络IP、主机名及网关DNS(固然默认也能够,等安装完成再配置),点击Next继续。
10)选择地区界面,默认便可,点击Next继续。
11)设置root帐号密码界面,设置下,点击Next继续。
12)选择软件安装界面,通常点击如今定制安装,点击Next继续。
13)软件选择界面,根据本身须要如今(不须要不必安装,浪费,等须要再安装不晚),我通常选择以下:
桌面环境
GNOME桌面
应用程序
互联网、编辑器
开发
开发工具、开发库、老的软件开发
服务器
FTP服务器、MySQL数据库、老的网络服务器(telnet)
基本系统
X窗口系统、基本、管理工具、老的软件支持
语言支持
中午支持、英文支持
点击Next继续。
14)检查依赖关系后,开始安装。
15)安装完成第一次启动配置,通常按Next继续就能够。
 注意:防火墙配置,选择“无防火墙”;安全级别,选择“禁用”。
16)配置完成,重启就OK了。
17)以root用户安装VirtualBox加强功能(释放鼠标,没必要按右Ctrl释放):
 一、copy VBOXADDITIONS_1.6.6_35336文件夹/tmp目录下:cp -Rf /media/VBOXADDITIONS_1.6.6_35336/ /tmp/
 二、cd /tmp/VBOXADDITIONS_1.6.6_35336/
 三、 ./VBoxLinuxAdditions.run
 四、reboot
18)若是前面有配好网络(没有配下网络就能够),到这步就差很少所有完成了。

四、Oracle安装前准备
1)用ftp将Oracle安装软件及补丁上传到Red Hat Enterprise Linux 5.2上。
2)unzip 10201_database_linux32.zip
3)安装rpm包:(后面+--nodeps 不检查依赖关系)
 rpm -ivh compat-db-4.2.52-5.1.i386.rpm --nodeps
 rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm --nodeps
 rpm -ivh openmotif-2.3.0-0.5.el5.i386.rpm --nodeps
 rpm -ivh openmotif-devel-2.3.0-0.5.el5.i386.rpm --nodeps
 其它rpm包:gcc、make、glibc、compat-gcc、compat-libstdc、setarch通常都已经安装,没有在OS的iso盘能找到。
4)建立用户组和用户
 groupadd oinstall
 groupadd dba
 useradd -g oinstall -G dba oracle
 passwd oracle
5)修改Linux内核参数
用root用户修改Linux内核参数,vi /etc/sysctl.conf打开文件,在末尾添加如下内容:
 kernel.sem = 250 32000 100 128
 fs.file-max = 65536
 net.ipv4.ip_local_port_range = 1024 65000
 net.core.rmem_default = 262144
 net.core.rmem_max = 262144
 net.core.wmem_default = 262144
 net.core.wmem_max = 262144
保存退出,重启系统或者使用命令sysctl -p使其生效。
6)修改oracle用户的环境变量
用oracle用户修改vi /home/oracle/.bash_profile文件,在末尾添加一下内容:
 umask 022
 export TEMP=/tmp
 export TMPDIR=/tmp
 export ORACLE_BASE=/home/oracle/ora10g
 export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
 export ORACLE_SID=person
 export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:$LD_LIBRARY_PATH
 export TNS_ADMIN=$ORACLE_HOME/network/admin
 export ORA_NLS10=$ORACLE_HOME/nls/data
 export CLASSPATH=$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/jdk/jre/lib
 export LC_CTYPE=en_US.UTF-8
保存退出,重启系统或者使用命令..bash_profile使其生效。
7)修改OS版本声明
用root用户修改etc/redhat-release,将Red Hat Enterprise Linux Server release 5.2 (Tikanga)修改成Red Hat Enterprise Linux Server release 4(Tikanga)。

五、安装Oracle10g
1)使用oracle用户登录到图形界面。
2)打开一个终端,进入到oracle安装文件目录(本例为cd /home/oracle/database)。
3)运行./runinstaller,能够看出,检查操做系统版本,并将安装内容释放到/tmp目录下,要保证/tmp目录有足够的空间,没有能够修改.bash_profile文件定位到别的目录。
4)跳出Oracle的安装界面,选择高级安装,点击Next继续。
5)接下通常Next,Next就能够了(可根据本身须要修改)。
6)执行配置脚本,根据界面提示,使用root用户登陆执行便可。
7)安装接受,能够看到Enterp Manager的管理URL地址。

6)建立数据库
安装Oracle10g时,若是没有选择安装数据库,那么这边能够经过dbca向导建立。
1)使用oracle用户登陆到图形界面。
2)打开一个终端,输入dbca,弹出dbca数据库建立向导,点击Next继续。
3)选择“建立数据库”选项,点击Next继续。
4)选择“通常用途”选项,点击Next继续。
5)指定SID,全局数据库名输入:person,点击Next继续。
6)配置是否可使用Enterprise Manager配置数据库、使用Database Control管理数据库及启用电子邮件通知和每日备份,通常选择第一个就能够(咱们只是学习用而已,生产上可不同)。
7)配置数据库管理员密码,根据须要选择并指定密码。
8)指定数据存放方式,选择“文件系统”。
9)一直Next继续,直到数据库内容这边,勾选“示例方案”,点击Next继续。
10)初始化参数,选择从字符集列表中选择“ZHS16GBK – GBK16位简体中文”,国家字符集选择”AL16UTF16-Unicode UTF-16通用字符集“,默认语言选择”简体中文”,默认日期格式选择“中国”。
11)一直Next,直到finish。
12)安装结束,能够看到数据库的管理URL地址,点击退出完成。
13)使用oracle10个提供的web管理平台登录测试。

到这边,差很少都完成了!到这边咱们能够用sqlplus连上数据库进行操做!
oracle10g提供了WEB管理数据库,通常安装完数据库,会提示下面三个链接地址:
iSQL*Plus URL:
http://tqb:5561/isqlplus
iSQL*Plus DBA URL:
http://tqb:5561/isqlplus/dba
Enterprise Manager 10g Database Control URL:
http://tqb:1158/em
tqb是个人主机名(hostname获取你的主机名),能够用你机子的IP代替。

启动关闭数据库服务端脚本:
############startora.sh##############
#!/bin/bash
echo "Ready start lsnrctl LISTENER"
lsnrctl start LISTENER
echo "Ready start iSQL*Plus"
isqlplusctl start
echo "Ready start dbconsole"
emctl start dbconsole
echo "Ready start Oracle10g"
sqlplus /nolog <conn / as sysdba
startup
!

############stopora.sh##############
#!/bin/bash
echo "Ready stop lsnrctl LISTENER"
lsnrctl stop LISTENER
echo "Ready stop iSQL*Plus"
isqlplusctl stop
echo "Ready stop dbconsole"
emctl stop dbconsole
echo "Ready stop Oracle10g"
sqlplus /nolog <conn / as sysdba
shutdown immediate
!

安装当中遇到的问题汇总:
一、ORACLE安装界面乱码:
 export LC_CTYPE=en_US.UTF-8
二、sqlplus登录用Backspace键删除SQL语句前面字符出现^H乱码:
 stty erase ^H
三、遭遇到ORA-12560:TNS:协议配置器错误
 这种问题通常发生在客户机链接服务器数据库出现的问题,通常是由于启动防火墙挡住1521端口。
 解决:1)关闭防火墙 2)以root用户打开1521端口
四、链接Oracle10g时ORA-12514:TNS:监听进程不能解析在链接描述符中给出的SERVICE_NAME
 解决:
 1. 打开 /network/admin/listener.ora文件,找到:  
 SID_LIST_LISTENER =
 (SID_LIST =
 (SID_DESC =
 (SID_NAME = PLSExtProc)
 (ORACLE_HOME = /home/oracle/ora10g/product/10.1.0/db_1)
 (PROGRAM = extproc)
 )
 )
   2. 添加:
      (SID_DESC =
        (GLOBAL_DBNAME = person<本身全局数据库名称>)
        (ORACLE_HOME = ORACLE_HOME = /home/oracle/ora10g/product/10.1.0/db_1)  
        (SID_NAME = person<本身SID名称>)
       )
   3. 最后变成:
  SID_LIST_LISTENER =
    (SID_LIST =
      (SID_DESC =
        (SID_NAME = PLSExtProc)
        (ORACLE_HOME = /home/oracle/ora10g/product/10.1.0/db_1)
        (PROGRAM = extproc)
      )
      (SID_DESC =
        (GLOBAL_DBNAME = person)
        (ORACLE_HOME = /home/oracle/ora10g/product/10.1.0/db_1)  
        (SID_NAME = person)
       )
    )
   4. 保存文件,重启服务中的TNSListener,OK!
 node