Ubuntu oracle10g xe安装记录

Ubuntu oracle10g xe(即oracle10g 特别版)安装过程总结

 

安装环境:Ubuntu 8.04

软件:oracle-xe-universal_10.2.0.1-1.0_i386.deb

            oracle-xe-client_10.2.0.1-1.0_i386.deb

           注:oracle XE 的deb版,由于Ubuntu是基于debain的所以我们下载deb的了!

           (oracle的网站上,或者搜索去)

硬件环境:内存512MB,硬盘空间15GB(我的分配情况是   swap空间:1GB;   /   : 9GB;/home : 5GB)

参考文章:http://yangzb.javaeye.com/blog/594409 (主要参考的博文,有所修改)

                    http://forum.ubuntu.org.cn/viewtopic.php?f=44&t=243033&start=0&sid=80b64c4734650576f6bf46f916fb0bfd

 


1安装所需要的包。

因为oracle XE 要求就至少glibc – 2.3.2 libaio – 0.3.96 我把一下的包统统都装上了,为了以防失败

gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio libstdc++5 alien

 

安装方法:
$sudo apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio libstdc++5 alien

因为没有libaio,提示可以安装libaio1,因此

$sudo apt-get install libaio1  //安装libaio1

 

2设置交换分区,因为Oracle要求至少1G 的交换分区,为了防止安装时交换分区的不足我在这里建立了新的交换分区

可以首先查看内存分配是否满足要求:

$free -m         //查看空间分配情况,下面的是我机子的分配情况

             total       used       free     shared    buffers     cached
Mem:           503        494          9          0         13        127
-/+ buffers/cache:        353        150
Swap:          972        185        787

 

此时发现分配的swap还差一些

$sudo dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=100         //在/tmp 目录下建立100M的交换分区文件
$sudo mkswap /tmp/tmp.swap
$sudo swapon /tmp/tmp.swap


3,修改系统设置
(1)修改 sysctl.conf
添加如下的行到/etc/sysctl.conf 中:
kernel.shmmax = 3147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

 

(2)修改 limits.conf
添加如下的行到/etc/security/limits.conf中:

* soft nproc 2407
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536


(3)让修改生效
修改了以上文件后,必须让其生效,或重启系统,或切换到 root 用户下用以下的方式改变内核运行
参数:sysctl -p


4,到这时准备工作就结束了,可以安装了 到你下XE的目录下执行
$sudo dpkg -i oracle-xe-universal_10.2.0.1-1.0_i386.deb 就可以了
然后安装程序会启动 进行必要的配置


5等待着出现 请运行 /etc/init.d/oracle-xe进行配置的提示时证明安装已经成功了
6  $cd   /etc/init.d/运行oracle-xe

方法$./oracle-xe configure
设置一下内容
HTTP端口[默认为8080]
TNS Listener端口[默认为1521]
SYS/SYSTEM用户密码
开机是否启动[默认yes]
7到目录 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin 下运行 oracle_env.sh

不过这个文件有点问题了 要做先修改,先备份oracle_env.sh.
运行时会提示
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/nls_lang.sh: 114:
修改oracle_env [[: not found
将其中的
NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh` 替换为
NLS_LANG='$ORACLE_HOME/bin/nls_lang.sh' 区别在于那个单引号
8, 这个我没有执行,因为提示错误

修改root和oracle目录下的./bashrc 添加
../usr/lib/oracle/xe/app/oracle/product/10.2.0/client/bin/oracle_env.sh
要加上两个点才可以这好像针对不同的系统而言 可以调试 ,退出su 下 即可生效
看是不是可以执行便可以了。
9切换到oracle用户模式$su - oracle

执行sqlplus 命令既可以。在此过程中可能出现以下问题
数据库无法启动 没有initXE.ora 到 /dbs 文件下 cp init.ora initXE.ora
修改initXE.ora
db_name=XE

shared_pool_size = 62198988

(没有出现9的错误)
10 这时数据就可以正常的启动了!

 

http://127.0.0.1:8080/apex 登录使用

 

注:我很悲剧的选择了不随机启动oralce(因为偶的机子很搓,害怕占用内存和CPU)。下次启动的时候,果然出问题了,很悲剧。

问题:TNS启动不了

原因:没有把$ORACLE_HOME和$ORACLE_SID放到路径上 ,导致会出现一系列错误

Message 1053 not found; No message file for product=network, facility=TNSTNS-12541: Message 12541 not found; No message file for product=network, facility=TNS
 TNS-12560: Message 12560 not found; No message file for product=network, facility=TNS
   TNS-00511: Message 511 not found; No message file for product=network, facility=TNS
      Linux Error: 111: Connection refused

 

解决方案:加上去啊~

(1)$more /etc/oratab

  XE:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server:N

         得知$ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server

                 $ORACLE_SID=XE

(2)$vim /etc/passwd          

           oracle:x:1001:1001::/usr/lib/oracle/xe:/bin/bash

 

           $su passwd oracle

           (可以用来设置oracle的密码,如果开始没有设置的话)

           $su - oracle

           $cd /usr/lib/oracle/xe

           $vim .bashrc

            添加如下内容:

            export ORACLE_BASE=/usr/lib/oracle/xe/app/oracle
            export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/server
            export ORACLE_SID=XE
            $vim .profile                       

            添加如下内容:

           if [ -f "/usr/lib/oracle/xe/.bashrc" ]; then
                   . "/usr/lib/oracle/xe/.bashrc"
           fi                                        

(3)$source .bashrc

           $source .profile      

           //不知道二个是不是都要更新,我懒得试验了,二个都更新了一下。

 

   ps:另外可能出现的问题在

          $vim /etc/hosts

 

 

   设置好以后,

   $lsnrcnl start

   $sqlplus '/as sysdba'

    SQL>startup        //启动oracle

    SQL>shutdown  //关闭oracle

 

   $lsnrcnl stop        //关闭侦听

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值