ubuntu13.04安装oracle11gR2

在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/xhh/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 ORACLE_HOSTNAME=localhost

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 /home/xhh/soft/jdk/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 我就没管,照常使用。   怀着忐忑的心情写完了第一篇分享,希望不会误导大家,(*^__^*) 。 安装oracle参考:http://edin.no-ip.com/blog/hswong3i/oracle-database-11g-release-2-ubuntu-12-04-howto

猜你喜欢

转载自xiahaihuje.iteye.com/blog/1934718