http://jingyan.baidu.com/album/bea41d435bc695b4c41be648.html?picindex=2

http://www.360doc.com/content/12/1008/17/8825738_240269673.shtml

http://hswong3i.net/blog/hswong3i/oracle-database-11g-release-2-ubuntu-12-04-howto

在ubuntu13.04下安装企业版oracle11g前的准备:

1.安装jdk并下载oracle11g安装文件,这2个都上oracle官网去下载吧,下载完成将oracle文件先放一边,将jdk解压出来待配置完环境变量就可以直接用了。这里为什么装jdk,下面有用到。

jdk环境变量的配置:

sudo gedit /etc/profile

在打开的文件中添加:

# java environment
JAVA_HOME=/home/xhh/soft/jdk/jdk1.7.0_25

# oracle
export ORACLE_BASE=/home/xiahaihu/soft/oracle/oracle11gR2
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export ORACLE_SID=hhxdb

export PATH=$JAVA_HOME/bin:$ORACLE_HOME/bin:$PATH

这里oracle的环境变量也一起配置了,ORACLE_BASE 为oracle安装目录,等下安装向导指向这个文件路径就行了,NLS_LANG设置编码和ORALCE_SID指定启动实例名称等下再做说明。

注销或重启系统配置生效,终端输入:

java -version

就可以查看jdk的版本了,jdk准备完成。

2.准备好2个shell文件,分别执行,待完成后开始下一步。

(1)安装oracle相关的依赖包

apt-get update

apt-get install build-essential 
apt-get install libaio1 
apt-get install libaio-dev 
apt-get install unixODBC 
apt-get install unixODBC-dev 
apt-get install pdksh 
apt-get install expat 
apt-get install sysstat 
apt-get install libelf-dev 
apt-get install elfutils 
apt-get install lsb-cxx 
apt-get install ksh 
apt-get install libmotif3 
apt-get install alien 
apt-get install libtool 
apt-get install lsb-rpm 
apt-get install xterm g++ gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif4 libaio1 libstdc++6 alie
apt-get install gcc libaio1 lesstif2 lesstif2-dev make libc6 libc6-i386 libc6-dev-i386 libstdc++5 lib32stdc++6 lib32z1 ia32-libs

(2)创建链接

mkdir /usr/lib64
sudo ln -s /usr/bin/awk /bin/awk 
sudo ln -s /usr/bin/rpm /bin/rpm 
sudo ln -s /usr/bin/basename /bin/basename

sudo ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64 
sudo ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64 
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.5 /usr/lib64 
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64 
sudo ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib64

准备工作完毕,开始oracle11g安装

1.将下载好的oracle11g安装文件:linux.x64_11gR2_database_1of2.zip 和 linux.x64_11gR2_database_2of2.zip解压出来,最终得到一个文件夹 database。

安装命令

/home/xhh/database/runInstaller -jreLoc /opt/jdk1.7.0_25/jre

这样就可以跟着中文向导安装程序一步步安装oracle了,不会有乱码的问题。

安装全流程演示可以参考文章最后的链接。

向导安装需要注意的地方:

(1)oracle实例编码的选择

(2)oracle安装 先决条件检查 可能失败,没关系,本人的就是全失败,只要完成了前面的准备工作,就点击 全部忽略 吧。

(3)安装过程中可能会弹出一些错误,别急这样解决,在不关闭安装程序的情况下打开一个新终端,输入以下命令:

如果没有设置ORACLE_HOME,就先执行下面这一句,如则就可以跳过这一句

export ORACLE_HOME=/home/xhh/soft/oracle/product/11.2.0/dbhome_1
sed -i 's/^\(\s*\$(MK_EMAGENT_NMECTL)\)\s*$/\1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk
sed -i 's/^\(\$LD \$LD_RUNTIME\) \(\$LD_OPT\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/bin/genorasdksh
sed -i 's/^\(\s*\)\(\$(OCRLIBS_DEFAULT)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk
sed -i 's/^\(TNSLSNR_LINKLINE.*\$(TNSLSNR_OFILES)\) \(\$(LINKTTLIBS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/network/lib/env_network.mk
sed -i 's/^\(ORACLE_LINKLINE.*\$(ORACLE_LINKER)\) \(\$(PL_FLAGS)\)/\1 -Wl,--no-as-needed \2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk

执行完成,点击“重试”继续安装,如果出现这样一个错误:

INFO: make: *** [ctxhx]

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'install' of makefile '/opt/app/oracle/product/11.2/db_1/ctx/lib/ins_ctx.mk'. See '/opt/app/oraInventory/logs/installActions2012-11-02_12-26-30PM.log' for details.
Exception Severity: 1

忽略吧,继续安装,本人就遇到了这个错误,google了大量的帖子才决定的,具体引发错误原因已经忘记了,呵呵。

2.其他一些事情处理,主要针对自己在使用oracle时遇到的一些问题

(1)手动启动数据库

启动监听:

lsnrctl start

启动实例:

sqlplus / as sysdba
startup

这样就启动了 ORALCE_SID 所配置的实例,本人oracle实例名和服务名是一样的。

关闭监听命令

lsnrctl stop

(2)创建和删除实例

执行:

dbca

如果向导是乱码,就先执行这一句:

export LANG=en_US

切换当前会话编码为英文吧。

(3)启动多个实例

假如先启动firstdb

export ORACLE_SID=firstdb
sqlplus / as sysdba
startup

再启动seconddb

export ORACLE_SID=seconddb
sqlplus / as sysdba
startup

这样2个实例就都起来了。

关闭实例命令
shutdown
(4)执行sql文件创建表或存储过程中文乱码的问题
这个是与sql文件来源编码相关的,就是说从firstdb导出的sql文件编码是以firstdb实例决定的,如果该sql文件导入seconddb实例,编码不同就会出现乱码。
可以这样解决:
设置NLS_LANG环境变量,就上面已经配置好了的这句
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
然后在sqlplus中执行sql文件
sqlplus / as sysdba
connect second/second@seconddb
@/home/xhh/temp/sql.sql

这样执行就不会出现中文乱码了,如果不是从sqlplus而是用其他工具执行sql文件可能还是会出现乱码的。

(5)监听配置和启动oracle EM console
监听管理
netmgr

如果乱码别忘了先执行这句

export LANG=en_US

启动oracle EM

emctl start dbconsole

仔细看命令窗会看到类是这样一个地址:https://xhh-ubuntu:1158/em/console/aboutApplication,我的就是这个,在浏览器打开就可以监视oracle了。

(6)另外oracle官网的 SQL Developer 也比较强大linux下可以用这个,跟WIN下面的 PL/SQL Developer 差不多,如果启动监听看到这个 The listener supports no services 我就没管,照常使用。
 
 
 

ubuntu13.04装配oracle11gR2的更多相关文章

  1. VMware下利用ubuntu13.04建立嵌入式开发环境之二

    之前在VMware中安装完Ubuntu系统,接下来开始设置开发中用到的服务和工具,以及系统设计. 1.安装VMware工具:打开VMware软件,在菜单->VM->Install VMwa ...

  2. VMware下利用ubuntu13.04建立嵌入式开发环境之一

    1.软件准备: (1) VMware网上很多,需要根据自己的需要选择,这里选用的VMware Workstation 9. (2)ubuntu  操作系统,同样根据自己的需要下载系统安装包.这里我选择 ...

  3. Ubuntu13.04安装历险记--Mono,Nginx,Asp.Net一个都不能少

    ----Ubuntu13.04安装历险记--新人新手新作------------------------------------------------- 注:以下操作均省略权限获取操作,如有需要,请 ...

  4. Ubuntu13.04配置:Vim+Syntastic+Vundle+YouCompleteMe

    序言 使用Ubuntu和vim已经有一段时间了,对于Vim下的插件应用,我总是抱着一股狂热的态度.这次,又在网上闲逛着,发现了一个个人博客提到了Vim代码补全这回事,并提到了YouCompleteMe ...

  5. [Ubuntu] Ubuntu13.04, the desktop freezed after login

    My os version is Ubuntu13.04, today, after started and logined, my desktop freezed. But i can still ...

  6. ubuntu13.04云主机部署gitlab6.6

    GitLab 是何物? GitLab是 GitHub 的山寨版,GitLab几乎包含了GitHub的所有功能,还包含比较有特色的功能:Code Review,Wiki,Merge Requests,最 ...

  7. Ubuntu13.04配置完全指南(转)

    Ubuntu13.04配置完全指南(一)软件源 教育网推荐使用USTC软件源. 首先备份现有软件源: $ sudo cp /etc/apt/sources.list /etc/apt/sources. ...

  8. ubuntu13.04 Thinkpad W520安装nvidia显卡驱动

    Ubuntu13.04 amd64 Thinkpad W520安装Nvidia显卡驱动 曾经在ubuntu11.10上成功安装Nvidia显卡驱动.但是自从机器(Thinkpad W520)更新到13 ...

  9. UBUNTU13.04下Gedit打开txt文件乱码解决方法

    刚刚装的ubuntu13.04,在用ubuntu下的gedit打开win7下的txt文件时中文显示乱码,这是因为编码方式不同造成的.windows下文件的编码方式是GBK,而ubuntu下gedit默 ...

随机推荐

  1. Linux系统github使用

    命令行下使用: 1.检查ssh key cd ~/.ssh 如果提示"No such file or directory",则需要创建一个ssh key. 2.创建ssh key. ...

  2. Spark RDD概念学习系列之RDD的创建(六)

    RDD的创建  两种方式来创建RDD: 1)由一个已经存在的Scala集合创建 2)由外部存储系统的数据集创建,包括本地文件系统,还有所有Hadoop支持的数据集,比如HDFS.Cassandra.H ...

  3. Java反射机制(Class类的使用)

    1:通过无参构造实例化对象 package cn.itcast; /* * 通过无参构造实例化对象 * 通过Class类本身实例化对象,使用newInstance方法 * 需要注意的是:实例化类中存在 ...

  4. HDU 3920Clear All of Them I(状压DP)

    HDU 3920   Clear All of Them I 题目是说有2n个敌人,现在可以发n枚炮弹,每枚炮弹可以(可以且仅可以)打两个敌人,每一枚炮弹的花费等于它所行进的距离,现在要消灭所有的敌人 ...

  5. date之Hi时间的思考

    工作中用到需要一个判断当前时间是否在 23:50到1:00之间的一段程序,在和别人的讨论中基本上有以下两种做法 1.分别获取时分进行判断和比较 <?php function check_time ...

  6. 如何让label和textblock分成两行

    http://stackoverflow.com/questions/183406/xaml-newline-in-string-attribute http://www.developerfusio ...

  7. android ViewConfiguration

    ViewConfiguration 1.有时候要获取一些android UI的中一些默认参数的来进行操作设置,就要用到ViewConfiguration 官方飞解释是:ViewConfiguratio ...

  8. 【转】android onNewIntent()触发机制及注意事项

    一.onNewIntent() 在IntentActivity中重写下列方法:onCreate onStart onRestart  onResume  onPause onStop onDestro ...

  9. C:冒泡排序

    冒泡排序 C语言在运行的时候,不会帮我们检查数组的下标. 冒泡排序:有n个数字,需要进行 n - 1 趟比较大小(元素的个数减去 1).外层循环 for( int i = 0; i < coun ...

  10. Kafka架构设计:分布式发布订阅消息系统

    [http://www.oschina.net/translate/kafka-design](较长:很详细的讲解) [我们为什么要搭建该系统]用作LinkedIn的活动流(activity stre ...