让开源解读“甲骨文”--RHEL5.3部署安装Oracle Database10g Release2(10.2.0.1.0) for Linux x86

系统环境: RHEL5.3
数据库: Oracle Database10g Release2(10.2.0.1.0) for Linux x86
Oracle Database 10g Release 2 (10.2.0.1.0) 下载地址 http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/10201linuxsoft.html  
 

[root@rhel5 ~]# cksum /mnt/cdrom/10201_database_linux32.zip  
2737423041 668734007 /mnt/cdrom/10201_database_linux32.zip
 
安装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 ~]#

 
原来系统分区时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 ~]# 
 
如果要在引导时自动启用,则编辑 /etc/fstab 文件,添加行: 
/tmpswap                 swap                    swap    defaults        0 0
 
系统下次引导时,它就会启用新建的交换文件
查看一下swap
[root@rhel5 ~]#  swapon -s 
Filename                                Type               Size    Used    Priority 
/dev/sda3                               partition       522104  124     -1 
/tmpswap                                file                 2047992 0       -2 
[root@rhel5 ~]# 
 
将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系统安装时已经安装了编程工具及开发库文件,所以只安装了五个软件包,所以参考缺什么就安装相应软件包哈~
 
如果不安装libXp软件包则安装不能启动Oracle10g安装程序
 
修改/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

  
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 ~]# 
  
配置内核相关参数,以便支持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

 
运行 sysctl -p 命令使内核参数生效
 
设置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

  
在/etc/pam.d/login file文件末端添加相关内容,如果它已经存在则退出  
[root@rhel5 ~]#  vim /etc/pam.d/login  
session                required                /lib/security/pam_limits.so
  
修改/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
  
修改Oracle用户语言环境,注销掉root用户,以oracle用户登录系统  
[root@rhel5 ~]# su - oracle 
[oracle@rhel5 ~]$ touch .i18n
 
LC_CTYPE="en"
 
  
配置Oracle用户语言环境。因为,默认的中文环境,安装Oracle界面字符显示乱码,故,我将语言环境设置为英文,即可解决乱码问题,不过安装界面为全英文界面。
  
配置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

 
安装Oracle 10g数据库  
1、启动安装,首先运行xhost hostname命令启动X-Windows安装界面,如下图所示: 
[root@rhel5 ~]#  xhost rhel5.3
 
[oracle@rhel5 ~]$  unzip 10201_database_linux32.zip  
 
[oracle@rhel5 ~]$  cd database/ 
[oracle@rhel5 database]$  ./runInstaller  
 
2、选择安装类别,建议选择高级安装,如下图所示:  
 
3、指定Oracle证书存放目录,如下图所示: 
 
4、选择安装类别(企业版)、Oracle所支持的语言(英文以及简体中文),如下图所示: 
 
5、指定Oracle环境变量名、安装路径(.bash_profile环境变量中有指定),如下图示: 
 
6、Oracle开始进行安装前时检查所需软件包、内核、网络等信息,如下图所示: 
 
7、选择配置选项,如下图所示: 
 
8、选择创建数据库模式,如下图所示: 
 
9、指定数据库配置的相关选项(SID、字符集等),如下图所示: 
 
10、选择数据库管理选项,如下图所示: 
 
11、指定数据库存储选项,如下图所示: 
 
12、指定数据库备份恢复选项,如下图所示: 
 
13、指定数据库相关用户密码,如下图所示: 
 
14、Oracle数据库安装摘要,如下图所示: 
 
15、开始安装,安装程序开始复制文件,所需的时间较长,请耐心等待,下列图片所示: 
 
 
 
 
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 ~]# 
 
执行完两个脚本后点击OK继续
 
17、Oracle 10数据库通过url操作、管理地址如下: 
iSQL*Plus URL: 
http://rhel5.3:5560/isqlplus
iSQL*Plus DBA URL: 
http://rhel5.3:5560/isqlplus/dba
Enterprise Manager 10g Database Control URL: 
http://rhel5.3:1158/em
   
18、安装完成后,恢复Oracle用户语言环境以及/etc/redhat-release文件。 
[oracle@rhel5 ~]$ rm -f .i18n
 
[root@rhel5 ~]#  vim /etc/redhat-release  
Red Hat Enterprise Linux Server release 5.3 (Tikanga)
 
iSQL*Plus URL: 
http://rhel5.3:5560/isqlplus
一般用户登陆iSQL*Plus网址后会直接进入数据库用户登陆界面,使用数据库中的普通用户即可登陆。
 
登录成功
 
我们可以在此输入SQL语句,我们先简单查询一下数据库的版本
Select version FROM Product_component_version Where SUBSTR(PRODUCT,1,6)='Oracle';
 
iSQL*Plus DBA URL: 
http://rhel5.3:5560/isqlplus/dba  
DBA用户登陆isqlpus的网址 http://rhel5.3:5560/isqlplus/dba ,进入该网址后首先会弹出一个登陆框,要求先输入iSQL*Plus DBA的用户和密码,注意这里不是数据库用户,而是isqlplus应用服务器要求的用户和密码。
 
要以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
http://java.sun.com/products/archive/
 
 
 
 
 
 
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

 
现在注销一下并重登录,OK,JDK安装完毕!
我们先安装oc4j,首先解压oc4j_extended.zip
unzip oc4j_extended.zip
 
此时会创建这样的目录结构: 
/bin 
/diagnostics 
/j2ee 
/javacache 
/javavm 
/jdbc 
/jlib 
/lib 
/rdbms 
/soap 
/sqlj 
/webservices

这些就是你解压缩oc4j_extended.zip后所产生的目录。
 
 
通过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/
 
2.确保JAVA_HOME环境变量指向了正确的jdk(需要1.4以上)路径,可以使用oracle自带的jdk,位于$ORACLE_HOME/jdk
 
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。
 
注意该命令一定要先进入第一步的目录后再执行,否则会报错 
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
 
JAZN:>  listusers "iSQL*Plus DBA" 
admin 
michael
 
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
 
假设上面我们创建了一个用户michael,密码为redking,并且已经授予webDba权限。
接下来重新启动isqlplus应用服务器 
isqlplusctl stop 
isqlplusctl start

再进入网址 http://rhel5.3:5560/isqlplus/dba ,在弹出的对话框中输入michael和redking,就可以进入到数据库登陆界面了,选择以sysdba或sysoper身份登陆了。
 
 
登录成功,我们来查看下数据库的创建日期和归档方式
Select Created, Log_Mode, Log_Mode From V$Database;
 
Enterprise Manager 10g Database Control URL: 
http://rhel5.3:1158/em
 
 
点击同意继续
 
 
启动oracle
切换成oracle用户
su - oracle
启动监听器: 
[oracle@rhel5 ~]$  lsnrctl start
 
我们也可以使用 lsnrctl service 查询当前监听器服务情况,当然如果想中止监听器则 lsnrctl stop  
  
判断监听器服务是否好用,可以使用tnsping ip地址或主机名.如果不能正常结束,则说明监听有问题. 
tnsping rhel5.3
 
[oracle@rhel5 ~]$  sqlplus "/ as sysdba"
用户名是sys,密码是你设置sys用户的密码,这种登陆方式启用的是系统验证方式,因此不用输入用户名及密码,不过登陆是以sys用户登录的,我们可以用select user from dual; 查看登陆帐户为sys用户。
 
设置自动启动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

[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
 
  

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

 
[root@rhel5 init.d]# chkconfig --add oracle10g 
[root@rhel5 init.d]# chkconfig --list oracle10g 

 
通过链接的方式在0级和6级建立退出脚本
 


OK,开启Oracle DBA之路,现在甲骨文越来越牛了,上月刚刚74亿美元收购Sun,郁闷的SUN~~~
######################Michael分割线#########################
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值