让开源解读“甲骨文”--RHEL5.3部署安装Oracle Database10g Release2

 
系统环境: RHEL5.3
数据库: Oracle Database10g Release2(10.2.0.1.0) for Linux x86
  image
image
[root@rhel5 ~]# cksum /mnt/cdrom/10201_database_linux32.zip
2737423041 668734007 /mnt/cdrom/10201_database_linux32.zip
image
安装Oracle 10g数据库前系统配置
原来系统只分配了256MB内存,现在安装Oracle10g,所以将内存升级到1G
[root@rhel5 ~]# free -m
                    total       used       free     shared    buffers     cached
Mem:          1010        436         574          0                22        250
-/+ buffers/cache:      162        848
Swap:          509              0        509
[root@rhel5 ~]#
 
image
原来系统分区时Swap分区时只分配了512MB,我们再增加一个2G的Swap交换分区文件,不然安装Oracle10g时会报错误警告,虽然照样可以成功安装Oracle10g,但是为了充分发挥Oracle10g的性能,我们增加2G的Swap交换分区。
增加交换分区文件及大小,如果要增加2G大小的交换分区,则命令写法如下,其中的count 等于想要增加的swap块大小
[root@rhel5 ~]# dd if=/dev/zero of=/tmpswap bs=1k count=2048000
2048000+0 records in
2048000+0 records out
2097152000 bytes (2.1 GB) copied, 169.875 seconds, 12.3 MB/s
[root@rhel5 ~]#
设置交换文件
[root@rhel5 ~]# mkswap /tmpswap
Setting up swapspace version 1, size = 2097147 kB
[root@rhel5 ~]#
立即启用交换分区文件
[root@rhel5 ~]# swapon tmpswap
再查看swap分区大小发现增加了2G
[root@rhel5 ~]# free -m
                     total       used       free     shared    buffers     cached
Mem:           1010         997         13          0                   3        823
-/+ buffers/cache:        171        839
Swap:          2509             0       2509
[root@rhel5 ~]#
image
如果要在引导时自动启用,则编辑 /etc/fstab 文件,添加行:
/tmpswap                 swap                    swap    defaults        0 0
image
系统下次引导时,它就会启用新建的交换文件
查看一下swap
[root@rhel5 ~]# swapon -s
Filename                                Type               Size    Used    Priority
/dev/sda3                               partition       522104  124     -1
/tmpswap                                file                 2047992 0       -2
[root@rhel5 ~]#
image
将RHEL5.3安装镜像文件挂载到/mnt/cdrom目录,虚拟成光驱。
[root@rhel5 ~]# mount /dev/cdrom /mnt/cdrom/
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@rhel5 ~]#
安装Oracle 10g R2数据库所需相依赖的软件包。
# cd /mnt/cdrom/Server/
# rpm -Uvh setarch-2*
# rpm -Uvh make-3*
# rpm -Uvh glibc-2*
# rpm -Uvh libaio-0*
# rpm -Uvh compat-libstdc++-33-3*
# rpm -Uvh compat-gcc-34-3*
# rpm -Uvh compat-gcc-34-c++-3*

# rpm -Uvh gcc-4*
# rpm -Uvh libXp-1*
# rpm -Uvh openmotif-2*
# rpm -Uvh compat-db-4*

在RHEL5.3系统安装时已经安装了编程工具及开发库文件,所以只安装了五个软件包,所以参考缺什么就安装相应软件包哈~
image
如果不安装libXp软件包则安装不能启动Oracle10g安装程序
image
修改/etc/redhat-release文件,因为Oracle数据库暂不支持RHEL5,所以我们增加redhat-4让Oracle认为系统为RHEL4:
[root@rhel5 ~]# vim /etc/redhat-release
#Red Hat Enterprise Linux Server release 5.3 (Tikanga)
redhat-4
image 
Oracle数据库必须在Oracle用户下才能安装。所以建立相应的用户及群组,以及设置相应的目录属主、目录权限。切记,要给Oracle用户设置密码哦,同时,密码要符合复杂性要求。
[root@rhel5 ~]# groupadd oinstall
[root@rhel5 ~]# groupadd dba
[root@rhel5 ~]# useradd -g oinstall -G dba oracle
[root@rhel5 ~]# passwd oracle

Changing password for user oracle.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@rhel5 ~]# mkdir -p /oracle/product/10.2.0/db_1
[root@rhel5 ~]# chown -R oracle.oinstall /oracle/
[root@rhel5 ~]# chmod -R 775 /oracle/

[root@rhel5 ~]#
image 
配置内核相关参数,以便支持Oracle数据库
如果没有相应的参数就添加,如果相应参数值比下面给出的值大,就不要修改了。
[root@rhel5 ~]# vim /etc/sysctl.conf
# For Oracle
kernel.shmmni = 4096
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
image 
运行 sysctl -p命令使内核参数生效
image
设置Oracle用户Shell limit
[root@rhel5 ~]# vim /etc/security/limits.conf
# For Oracle
oracle  soft    nproc   2047
oracle  hard    nproc   16384
oracle  soft    nofile  1024
oracle  hard    nofile  65536
image 
在/etc/pam.d/login file文件末端添加相关内容,如果它已经存在则退出
[root@rhel5 ~]# vim /etc/pam.d/login
session                required                /lib/security/pam_limits.so
image 
修改/etc/hosts文件,将127.0.0.1修改成为你的实际IP地址,否则有可能导致安装Oracle的时候检查网络配置异常
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1              rhel5.3 rhel5 localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.8.1              rhel5.3 rhel5 localhost.localdomain localhost
image 
修改Oracle用户语言环境,注销掉root用户,以oracle用户登录系统
[root@rhel5 ~]# su - oracle
[oracle@rhel5 ~]$ touch .i18n

LC_CTYPE="en"
image
image 
配置Oracle用户语言环境。因为,默认的中文环境,安装Oracle界面字符显示乱码,故,我将语言环境设置为英文,即可解决乱码问题,不过安装界面为全英文界面。
image 
配置Oracle用户环境变量,以便支持Oracle数据库安装以及今后的操作、维护
[oracle@rhel5 ~]$ vim .bash_profile
# For Oracle
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=MIS; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
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
if [ $USER = "oracle" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi
image
安装Oracle 10g数据库
1、启动安装,首先运行xhost hostname命令启动X-Windows安装界面,如下图所示:
[root@rhel5 ~]# xhost rhel5.3
image
[oracle@rhel5 ~]$ unzip 10201_database_linux32.zip
image
[oracle@rhel5 ~]$ cd database/
[oracle@rhel5 database]$ ./runInstaller
image
2、选择安装类别,建议选择高级安装,如下图所示: 
image
3、指定Oracle证书存放目录,如下图所示:
image
4、选择安装类别(企业版)、Oracle所支持的语言(英文以及简体中文),如下图所示:
image
5、指定Oracle环境变量名、安装路径(.bash_profile环境变量中有指定),如下图示:
image
6、Oracle开始进行安装前时检查所需软件包、内核、网络等信息,如下图所示:
image
7、选择配置选项,如下图所示:
image
8、选择创建数据库模式,如下图所示:
image
9、指定数据库配置的相关选项(SID、字符集等),如下图所示:
image
10、选择数据库管理选项,如下图所示:
image
11、指定数据库存储选项,如下图所示:
image
12、指定数据库备份恢复选项,如下图所示:
image
13、指定数据库相关用户密码,如下图所示:
image
14、Oracle数据库安装摘要,如下图所示:
image
15、开始安装,安装程序开始复制文件,所需的时间较长,请耐心等待,下列图片所示:
image
image
image
image
16、安装完成的最后步骤,操作以及图片如下: 
[oracle@rhel5 ~]$ su - root
Password:
[root@rhel5 ~]# /oracle/oraInventory/orainstRoot.sh
Changing permissions of /oracle/oraInventory to 770.
Changing groupname of /oracle/oraInventory to oinstall.
The execution of the script is complete
[root@rhel5 ~]# /oracle/product/10.2.0/db_1/root.sh
Running Oracle10 root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /oracle/product/10.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.
[root@rhel5 ~]#
image 
执行完两个脚本后点击OK继续
image
17、Oracle 10数据库通过url操作、管理地址如下:
iSQL*Plus URL:
http://rhel5.3:5560/isqlplus
Enterprise Manager 10g Database Control URL:
http://rhel5.3:1158/em
image  
18、安装完成后,恢复Oracle用户语言环境以及/etc/redhat-release文件。
[oracle@rhel5 ~]$ rm -f .i18n
image
[root@rhel5 ~]# vim /etc/redhat-release
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
image
一般用户登陆iSQL*Plus网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。
image
登录成功
image
我们可以在此输入SQL语句,我们先简单查询一下数据库的版本
Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';
image
DBA用户登陆isqlpus的网址 http://rhel5.3:5560/isqlplus/dba,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*Plus DBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的用户和密码。
image
要以DBA身份登陆isqlplus,必须先配置好oc4j用户。oc4j可以使用两种身份认证方式:
  • 基于xml配置文件(jazn-data.xml)
  • 基于LDAP(Oracle Internet Directory)
本文只涉及第一种方式,也就是采用xml配置文件认证的方式。该配置文件位于$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/config。
但是该配置文件中的密码是加密过的,所以我们不能手动修改该文件,而是通过JAZN(Java AuthoriZatioN)来配置。JAZN是oracle提供的一个JASS(Java Authentication and Authorization Service)工具。
安装JDK1.5
image
image
image
image
image
image
vim /etc/profile
在export PATH前加入下面一段
JAVA_HOME=/usr/jdk1.5
export JAVA_HOME
JRE=$JAVA_HOME/jre
export JRE
PATH=$JAVA_HOME/bin:$JRE/bin:$PATH
image
现在注销一下并重登录,OK,JDK安装完毕!
我们先安装oc4j,首先解压oc4j_extended.zip
unzip oc4j_extended.zip
image
此时会创建这样的目录结构:
/bin
/diagnostics
/j2ee
/javacache
/javavm
/jdbc
/jlib
/lib
/rdbms
/soap
/sqlj
/webservices
这些就是你解压缩oc4j_extended.zip后所产生的目录。
image
image 
通过JAZN,可以完成以下任务
  • Create users
  • List users
  • Grant the webDba role
  • Remove users
  • Revoke the webDba role
  • Change user passwords
以上任务,可以先进入JAZN命令环境后再执行,也可以直接通过一条完整的命令行实现。完整的命令行其实就是在进入JAZN的命令后面直接加上对应的任务选项即可。
如何进入JAZN命令环境
1.进入到目录$ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/
image
2.确保JAVA_HOME环境变量指向了正确的jdk(需要1.4以上)路径,可以使用oracle自带的jdk,位于$ORACLE_HOME/jdk
image
3.执行以下命令
java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -user "iSQL*Plus DBA/admin" -password welcome -shell
其中realm=iSQL*Plus DBA,user=admin,这些可以从xml配置文件中看到,admin的默认密码是welcome,但是admin用户默认没有webDba权限,不能直接用于登陆isqlplus。
image
注意该命令一定要先进入第一步的目录后再执行,否则会报错
oracle.security.jazn.JAZNRuntimeException: Configuration file "configjazn.xml" does not exist. Check your JAAS configuration settings.
或者
Realm [iSQL*Plus DBA] does not exist in system.
如果报以上的错误,请仔细检查你的当前目录是否和第一步中给出的目录 完全一致
进入JAZN命令环境后,可以执行所有的任务:
1.新建用户michael,密码redking
JAZN:> adduser "iSQL*Plus DBA" michael redking
2.列出用户
JAZN:> listusers
iSQL*Plus DBA/admin
iSQL*Plus DBA/michael
image
JAZN:> listusers "iSQL*Plus DBA"
admin
michael
image
3.授予用户登陆isqlplus DBA的权限
JAZN:> grantrole webDba "iSQL*Plus DBA" michael
4.撤销用户登陆isqlplus DBA的权限
JAZN:> revokerole webDba "iSQL*Plus DBA" michael
5.删除用户
JAZN:> remuser "iSQL*Plus DBA" michael
6.修改用户密码
JAZN:> setpasswd "iSQL*Plus DBA" michael redking newpass2009
7.退出JAZN命令环境
JAZN:> exit
image
假设上面我们创建了一个用户michael,密码为redking,并且已经授予webDba权限。
接下来重新启动isqlplus应用服务器
isqlplusctl stop
isqlplusctl start
再进入网址 http://rhel5.3:5560/isqlplus/dba,在弹出的对话框中输入michael和redking,就可以进入到数据库登陆界面了,选择以sysdba或sysoper身份登陆了。
image
image
登录成功,我们来查看下数据库的创建日期和归档方式
Select Created, Log_Mode, Log_Mode From V$Database;
image
Enterprise Manager 10g Database Control URL:
http://rhel5.3:1158/em
image
  image
点击同意继续
image
image
启动oracle
切换成oracle用户
su - oracle
启动监听器:
[oracle@rhel5 ~]$ lsnrctl start
image 
我们也可以使用 lsnrctl service查询当前监听器服务情况,当然如果想中止监听器则 lsnrctl stop
image 
判断监听器服务是否好用,可以使用tnsping ip地址或主机名.如果不能正常结束,则说明监听有问题.
tnsping rhel5.3
image
[oracle@rhel5 ~]$ sqlplus "/ as sysdba"
用户名是sys,密码是你设置sys用户的密码,这种登陆方式启用的是系统验证方式,因此不用输入用户名及密码,不过登陆是以sys用户登录的,我们可以用select user from dual; 查看登陆帐户为sys用户。
image
设置自动启动oracle
Linux中在Oracle安装完毕以后,如果重新启动Linux ,Oracle是不会自动启动的,我们可以通过手动调用dbstart命令来进行启动,不过这样似乎也很繁琐。我们可以通过配置Oracle的自动启动脚本,然后利用Linux的Service来启动Oracle服务器。
修改Oracle系统配置文件/etc/oratab
/etc/oratab格式为:SID:ORACLE_HOME:AUTO把AUTO域设置为Y(大写),只有这样,oracle 自带的dbstart和dbshut才能够发挥作用。当然也可以不用oracle的脚本,但是那样太麻烦了。
[root@rhel5 ~]# vim /etc/oratab
MIS:/oracle/product/10.2.0/db_1:Y
image
[root@rhel5 ~]# cd /etc/rc.d/init.d/
[root@rhel5 init.d]# touch oracle10g
[root@rhel5 init.d]# chmod a+x oracle10g
[root@rhel5 init.d]# vim oracle10g
image 
oracle10g的文件内容如下,请根据需要修改其中变量值:
#!/bin/bash
# chkconfig: 345 99 10
# description: Startup Script for Oracle Databases
# /etc/rc.d/init.d/oracle10g
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/product/10.2.0/db_1
export ORACLE_SID=MIS
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR="oracle"
# if the executables do not exist -- display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: can not start"
exit 1
fi
# depending on parameter -- startup,shutdown,restart
# of the instance and listener or usage display
case "$1" in
'start')
# Oracle listener and instance startup
echo -n "Starting oracle10g: "
su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/subsys/oracle10g
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl start"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
echo "OK"
;;
'stop')
# Oracle listener and instance shutdown
echo -n "shutting down oracle10g: "
su - $ORA_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/isqlplusctl stop"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"
su - $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/oracle10g
echo "OK"
;;
'reload|restart')
$0 stop
$0 start
;;
*)
echo "Usage:'basename $0' start|stop|restart|reload"
exit 1
esac
exit 0
image
[root@rhel5 init.d]# chkconfig --add oracle10g
[root@rhel5 init.d]# chkconfig --list oracle10g
image
通过链接的方式在0级和6级建立退出脚本
image
OK,开启Oracle DBA之路,现在甲骨文越来越牛了,上月刚刚74亿美元收购Sun,郁闷的SUN~~~
######################Michael分割线#########################
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值