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

本文提供了一份详尽的指南,介绍了如何在 Ubuntu 12.04 上安装 Oracle 11g R2 数据库。包括了更新依赖项、创建用户、调整系统参数、安装 JDK 和 Oracle JDK、放置安装包、执行安装等关键步骤。还提供了问题排查和解决方案,确保安装过程顺利。
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.youkuaiyun.com/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

命令待续。。。。。。

内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值