Ubuntu12.04 32bit 安装oracle 11g 及常见错误

oracle 11g  安装参考文档
http://edin.no-ip.com/blog/hswong3i/oracle-database-11g-release-2-ubuntu-12-04-howto------------------针对ubuntu12.04 x86_64
http://forum.ubuntu.org.cn/viewtopic.php?p=2736603
http://bbs.csdn.net/topics/390412122
http://jak47.iteye.com/blog/1463336
1、
 更新 在root用户下安装依赖项--------------针对ubuntu12.04 32bit
sudo apt-get update
sudo apt-get dist-upgrade 
sudo apt-get install gcc make binutils libc6 libc6-dev lesstif2 rpm libmotif3  libstdc++5  libaio1 libaio-dev build-essential libaio1 gawk ksh libmotif3 alien libtool


以后若有包没装全,可以查看错误日志/u01/app/oraInventory/logs/*.log


2、 在root用户下创 建 ORACLE 用 户
sudo addgroup oinstall
sudo addgroup dba
sudo addgroup nobody
sudo usermod -g nobody nobody
sudo useradd -g oinstall -G dba -m -d /home/oracle -s /bin/bash oracle
sudo passwd oracle


3 检查系统变量 (由错误日志/u01/app/oraInventory/logs/*.log)
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep aio-max
/sbin/sysctl -a | grep ip_local_port_range
/sbin/sysctl -a | grep rmem_default
/sbin/sysctl -a | grep rmem_max
/sbin/sysctl -a | grep wmem_default
/sbin/sysctl -a | grep wmem_max


根据结果在/etc/sysctl.conf中增加对应数据
在root用户修改/etc/sysctl.conf,修改linux 内核参数
sudo gedit /etc/sysctl.conf  在文件最后添加
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr=1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576


运行一下命令更新内核参数
sudo sysctl -p


4 添加对oracle用户的内核限制


sudo gedit /etc/security/limits.conf 在文件最后添加:
oracle  soft    nproc   2047
oracle  hard    nproc   16384
oracle  soft    nofile  1024
oracle  hard    nofile  65536
oracle  soft    stack   10240


5 在root用户下检查/etc/pam.d/login,增加以下行(实际已有了不用增加)
session required pam_limits.so


检查/etc/pam.d/su,增加以下行(实际已有了不用增加)
session required pam_limits.so


6 创建安装文件夹
rm -rf /u01 
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/oradata
chown -R oracle:oinstall /u01 
chmod -R 775 /u01 


7 配置用户环境(oracle用户下)
 $ vim /home/oracle/.profile
#这个写刚刚创建的文件夹
export ORACLE_BASE=/u01/app/oracle
#这个后面(貌似)可以随便填写
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
#数据库的sid
export ORACLE_SID=orcl
#默认字符集
export NLS_LANG=.AL32UTF8
export ORACLE_OWNR=oracle   
export PATH=$PATH:$ORACLE_HOME/bin

$ source ~/.profile


8 欺骗安装包
在root用户下因为Oracle 默认Linux 系统是Red Hat ,模仿Red Hat
创建文件的链接,使Ubuntu 的目录结构与Red Hat 一致
sudo ln -s /usr/bin/awk /bin/awk
sudo ln -s /usr/bin/rpm /bin/rpm
sudo ln -s /usr/bin/basename /bin/basename
ln -s /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/
ln -s /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/
ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /lib/
ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/
echo 'Red Hat Linux release 5' > /etc/redhat-release


9 安装jdk环境
------------------------------------------------------
1.将下载的JDK进行解压
tar -zxvf ~/Downloads/jdk-7u3-linux-i586.tar.gz
2.创建个目录来存放JDK
sudo mkdir -p /usr/lib/jvm/jdk1.7.0
3.将JDK下的文件移动到新建的目录下
sudo mv jdk1.7.0_03/* /usr/lib/jvm/jdk1.7.0/
4.建立默认JDK的启动
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1 
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1
好了,此时JDK安装完成了


执行下面的代码可以看到当前各种JDK版本和配置:


sudo update-alternatives --config java


(注:此处来源于:http://www.liberiangeek.net/2012/04/install-oracle-java-jdk-7-in-ubuntu-12-04-precise-pangolin/)


---------------------检验是jdk否安装成功----------------------
# su $username
切换回原来登录的用户,或关闭终端再打开。
$ sudo gedit /etc/environment
输入密码后进入environment的编辑操作。千万注意不要把environment搞坏了。
下面红色加粗的部分是我加进去的,不要改动其他部分:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/jdk1.7.0/bin"
CLASSPATH=".:/usr/lib/jvm/jdk1.7.0/lib"
JAVA_HOME="/usr/lib/jvm/jdk1.7.0"
...
保存后退出gedit。下面的命令使环境变量生效:
$ su
密码
$ source ~/.bashrc
$ java -version
显示:java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) Server VM (build 23.5-b02, mixed mode)
--------------------------------------------------------


10 放置安装包
cp linux.x64_11gR2_database_1of2.zip /var/lib/oracle
cp linux.x64_11gR2_database_2of2.zip /var/lib/oracle
cd /var/lib/oracle
unzip -q linux.x64_11gR2_database_1of2.zip
unzip -q linux.x64_11gR2_database_2of2.zip
chown -Rf oracle:oinstall /var/lib/oracle/


11 安装oracle
cd /var/lib/oracle/database 
  ./runInstaller -jreLoc /usr/lib/jvm/jdk1.7.0/jre(后面为jre的安装路径)---------------防止出现乱码



忽略先决条件







安装完即可----------解决方法如下:

桌面型 

oracle_base: /u01/app/oracle
安装目录位置/u01/app/oracle/product/11.2.0/dbhome_1
数据库文件位置:/u01/app/oracle/oradata
企业版 3.95G
字符集 AL32UTF8
OSDBA 组:dba
全局数据库名 orcl
管理密码:自己设


---------------------------各种问题汇总----------------------------------------
10.链接错误处理,link进度到69%报错处理


Problem1
---------------------------------------------------------------
Error in invoking target 'agent nmhs' of makefile '/opt/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'
---------------------------------------------------------------
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
----------------------------------------------------------------

Problem2
---------------------------------------------------------------
Error in invoking target 'all_no_orcl' of makefile '/opt/oracle/product/11.2.0/db_1/rdbms/lib/ins_rdbms.mk'.
-------------------------------------------------------------
 sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g'  /u01/app/oracle/product/11.2.0/dbhome_1/bin/genorasdksh

sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g'  /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/env_rdbms.mk

sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1  -Wl,--no-as-needed \2/g' /u01/app/oracle/product/11.2.0/dbhome_1/srvm/lib/ins_srvm.mk

sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g'  /u01/app/oracle/product/11.2.0/dbhome_1/network/lib/env_network.mk
---------------------------------------------------------------------


&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&77
本次安装oracle database configuration assistant 安装失败
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&


-------安装最后一步 改 root权限结果-----------------
/u01/app/oraInventory/orainstRoot.sh 
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。


更改组名/u01/app/oraInventory 到 oinstall.
脚本的执行已完成。
root@bupt:/etc/security# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh 
Running Oracle 11g root.sh script...


The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: /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.

Finished product-specific root actions.


-----------------使用oracle-------------------------

启动的问题汇总
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/initoral.ora'
解决
cd /u01/app/oracle/admin/orcl/pfile 
cp init.ora.xxxxxxxx /u01/app/oracle/product/11.2.0/dbhome_1/dbs
cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs
mv init.ora.415201319241 initoral.ora

命令待续。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值