ITPub博客

首页 > 数据库 > Oracle > 逐步搭建fedora20+oracle10g的模拟环境

逐步搭建fedora20+oracle10g的模拟环境

Oracle 作者:beerbelly 时间:2014-02-14 11:49:06 0 删除 编辑

逐步搭建fedora+oracle10g的模拟环境

大致的思路

Ø  选择一个支持oraclelinux版本,本来想用redhat,不过这个版本貌似比较老,所以选择了redhat的社区版,fedora

Ø  安装vm9.0,试过visual box,感觉还是没有vm熟悉。

Ø  windows下载oracle10g安装文件,网上有。

Ø  通过ftp上传oracle安装文件到linux系统里

Ø  安装oracle

Ø  本地+远程(window里登录数据库)连接测试

 

前期准备

Ø  Windows xp系统

Ø  Fedora2032位)镜像

Ø  Vmware 9.0

Ø  10201_database_linux32.zip

具体过程

         vmware9.0安装fedora20vm安装windows已经驾轻就熟了,fedora20redhat的社区版,无非是图形化,下 一步下一步的节奏,网络用桥接,内外网皆可上。(不过安装完,fedora里要手动开启网络连接,卡了一下,我还以为vm的网络设置问题)另外,也可以试下ubuntu,能够自动做成双系统,而且不需要腾出一个硬盘分区。考虑双系统需要重启来切换系统,就没有用ubuntu。如果硬件资源有限,用双系统的方式是不错的选择。

 

下载oracle10gr2 for linux32.zip,去官网上下载,不过10g的版本的已经关闭链接了,去问度娘吧。我找到就放在自己的云盘里了。
    

开启终端,安装vsftpd(非常安全ftp)服务,yum install vsftpdvsftpdyum是系统直接配置好的,相当方便。vsftpdftp服务端,本地还安装了ftp程序包,做本地上传测试。vsftpd具体的安装步骤baidu里比比皆是,需要注意的点:

l  vsftpd.conf里的参数意义,有注释应该很好懂,修改了要重启vsftpd服务

l  远程连接需要关闭防火墙,Fedora 17及以前的版本关闭防火墙用systemctl stop iptables.service即可,其他linux版本用service stop iptables,Fedora 18以上用firewalldsystemctl stop firewalld.service有必要的话就systemctl disable firewalld.service

l  文件目录的读写权限问题

l  如何开启root用户使用权限

 

接下来,windows下的cmd里用ftp上传oracle安装文件,unzip解压一下。至此,可以开始安装oracle了。

 

参考文件Fedora 17下安装Oracle 10g详细图文教程,逐步进行摸索。

先理下思路,linux下的oracle安装是调用oracle的图形安装界面,一步一步进行。

先要能够启动oracle的图形界面。

一、硬件要求——内存 & swap & 硬盘
最小内存与swap: 1 GB of RAM & swap
建议内存与swap: 2 GB of RAM & swap
[root@toughhou tough]# grep MemTotal /proc/meminfo 
MemTotal:        2030952 kB

[root@toughhou tough]# grep SwapTotal /proc/meminfo 
SwapTotal:       4194300 kB

查看硬盘空间使用情况,为oracle准备5G左右的硬盘空间。
[root@toughhou tough]# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           37G   16G   20G  45% /
devtmpfs        984M     0  984M   0% /dev
tmpfs           992M  264K  992M   1% /dev/shm
tmpfs           992M  1.7M  991M   1% /run

对于必须装oracle的我来说,配置低也要硬装了。

二、准备工作
1
、关闭防火墙、禁用SELinux防火墙,这部分在装vsftpd时候就已经关闭了。

[root@toughhou tough]# setup (选择“Firewall configuration” -> Firewall: [ ] Enabled)

修改SELINUX=disabled,然后重启。如果不想重启系统,使用命令setenforce 0
[root@toughhou tough]# vi /etc/selinux/config
SELINUX=disabled

[root@toughhou tough]# setenforce 0

2、安装依赖包,这部分主要为是启动oracle的图形安装界面
[root@toughhou tough]# yum -y install 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

最后还需要安装libXp这个Library,这个一定要安装,否则安装Oracle时会出现java Exception
[root@toughhou tough]# yum install libXp

3、创建Oracle用户及组
(1)
数据库系统管理理组
[root@toughhou tough]# groupadd dba 

(2)Oracle文件所有者的组
[root@toughhou tough]# groupadd oinstall     

(3)新增使用者oracle并将其加入oinstalldba群组
[root@toughhou tough]# useradd -g oinstall -G dba -m -s /bin/bash oracle
[root@toughhou tough]# passwd oracle

4、创建oracle安装目录(这一步应该是白做了,没看到有使用这个文件夹
[root@toughhou tough]# mkdir -p /opt/oracle/product/10.1.0/
[root@toughhou tough]# chown -R oracle.oinstall /opt/oracle

5、配置系统内核参数(修改或添加以下内容)(这部分是为了通过oracle的安装条件检测
[root@toughhou tough]# vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=4194304
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=262144

编辑完后使用以下命令使更改生效:
[root@toughhou tough]# sysctl –p

6、修改Linux发行版本信息(这部分是为了通过oracle的安装条件检测
修改/etc/redhat-release文件写入:Red Hat Enterprise Linux AS release 3(Taroon)
[root@toughhou tough]# vi /etc/redhat-release

7、配置Linux主机
这是很重要的一个步骤,如果设置不当,后面安装过程中会面临OUI-25031问题。toughhou是我的主机名,确保hostname,network,hosts中都一致。
[root@toughhou tough]# hostname
toughhou

[root@toughhou tough]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=toughhou

(这个文件我的是无内容的)

[root@toughhou tough]# cat /etc/hosts
127.0.0.1   toughhou toughhou.localdomain localhost4 localhost4.localdomain4
::1         toughhou toughhou.localdomain localhost6 localhost6.localdomain6

[root@toughhou tough]# ping toughhou
PING toughhou (127.0.0.1) 56(84) bytes of data.
64 bytes from toughhou (127.0.0.1): icmp_req=1 ttl=64 time=0.044 ms
64 bytes from toughhou (127.0.0.1): icmp_req=2 ttl=64 time=0.039 ms

9oracle用户环境变量设置(环境变量对oracle的启动很必要啊)
[oracle@toughhou tough]$ cd /home/oracle/
[oracle@toughhou ~]$ vi .bash_profile 
#Setup Oracle Env variables
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
export ORACLE_SID=ORCL
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$CLASSPATH

export DISPLAY=192.168.1.102:0.0

[oracle@toughhou ~]$ source /home/oracle/.bash_profile

四、安装oracle及相关设置
1、解压缩安装文件
[oracle@toughhou ~]$ unzip /home/oracle/pkg/10201_database_linux32.zip

解压缩完成会在同一个文件夹中看到database的文件夹,请进入到database文件夹中:
[oracle@toughhou pkg]$ cd database/

2、设置语言为en_US.UTF-8,以避免安装界面乱码,这部挺重要的,倒是可以写入

.bash_profile文件。
[oracle@toughhou database]$ export LANG=en_US.UTF-8

3、安装
[oracle@toughhou database]$ ./runInstaller 
我的是一打开就报错,所以在.bash_profile文件还加入了

export DISPLAY=192.168.1.102:0.0,如果发生过错误,需要删除临时的安装文件,确保安装进程已经终止。因为远程安装的原因,这部分的资料没有保存下来,详细的内容要问度歌了。

图形化的内容不再详述,和windows下的安装一样,只是最后需要root用户来执行两个脚本。

我是先装数据库软件,然后再用dbca来装启动数据库的,然后用netca来建立监听。

进入sqlplus

[oracle@localhost ~]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Feb 13 09:00:09 2014

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

SQL> conn / as sysdba

Connected to an idle instance.

SQL> startup nomount

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/home/oracle/oracle/product/10.2.0/db_1/dbs/initORCL.ora'

网上的解释是原理:在oracle9ioracle10g中,数据库默认将使用spfile启动数据库,如果spfile不存在,则就会出现上述错误。,具体细节后期再好好研究总结,解决方法的是

$ORACLE_BASE/admin/$ORACLE_SID/pfile目录下的init.ora.0312013174228形式的文件copy/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/目录下inittest.ora即可

SQL> startup nomount

ORACLE instance started.

Total System Global Area  432013312 bytes

Fixed Size              1219808 bytes

Variable Size                125829920 bytes

Database Buffers      297795584 bytes

Redo Buffers                 7168000 bytes

SQL> alter database mount

  ;

alter database mount

*

ERROR at line 1:

ORA-01102: cannot mount database in EXCLUSIVE mode

         $ORACLE_HOME/dbsRm –rf lk*

SQL> startup mount

ORACLE instance started.

Total System Global Area  432013312 bytes

Fixed Size              1219808 bytes

Variable Size                125829920 bytes

Database Buffers      297795584 bytes

Redo Buffers                 7168000 bytes

ORA-00205: error in identifying control file, check alert log for more info

清除掉共享内存、信号量,具体命令要参考度娘了。应该是释放之前错误的进程的资源的意思吧。

SQL> quIt

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

[oracle@localhost ~]$ sqlplus /nolog

 

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Feb 13 09:41:59 2014

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

SQL> conn / as sysdba

Connected to an idle instance.

SQL> startup mount

ORACLE instance started.

 

Total System Global Area  432013312 bytes

Fixed Size              1219808 bytes

Variable Size                125829920 bytes

Database Buffers      297795584 bytes

Redo Buffers                 7168000 bytes

Database mounted.

SQL> alter database open

  ;

 

Database altered.

 

SQL> select sysdate from dual;

 

SYSDATE

---------

13-FEB-14

本地连接测试通过,windows下连接报错

 

SQL> conn sys/sys@fedora as sysdba

ERROR:

ORA-01031: insufficient privileges

这个报错,说明监听是正常的,@fedora的连接是正确的,只是权限不对,查了下,可能是密码文件的原因。

         最后发现是$ORACLE_HOME/dbsorapwsid文件sid大小写问题

至此,windows远程连接也测试通过。

总结

这个计划零零碎碎花费了很多天才完成,因为自身的知识局限性,遇到了很多的问题,不过,总的来说,能够全部自主完成的happyending对我也算是一个很大的鼓励了。有一点需要改变下,完成了再写文档,很多东西需要回忆,对于整个过程的描述实在是太过粗略,资料的共享意义就很小了,以后还是详细记下每个过程吧。

<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/60291/viewspace-1114019/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论