Ubuntu 11.04 安装 Oracle XE 11.2
2012-09-25 17:35
453 查看
Oracle XE 11.2 的全称是 Oracle Database 11.2 Express Edition Beta 。也就是测试版,请各位同学注意下载地址
10g版的XE,已经发布很多年了。灵活小巧,功能完整一直使它成为搭建本地开发环境不可缺少的一部分。不过,毕竟11g已经慢慢成为主流,原有的10gXE的各种不足就慢慢体现出来。因此,今年的二月份,Oracle发布了11gXE的测试版。到现在,已经是11.2.0了。现在有windows
32 与 Linux 64 两个版本。
笔者也是一直使用10g版的,只是最近更换机器后,因为没有需求,连XE版都没安装,一直使用的10gXEClient。现在想要搭建一套SOA的本地环境,索性就装一下11gXE吧。
首先,笔者的环境是Ubuntu11.04版本,而官方提供的Linux
64 是Rpm包。熟悉Ubuntu的读者都知道,Rpm包是不能直接安装的,需要使用Alien进行转换。
Alien的安装
注意添加参数
-c ,否则会有警告。
注意RPM包需要拷贝到EXT4硬盘下,在NTFS下转换会失败。
-c, --scripts Include
scripts in package.
转换的过程很慢长,大约要十分钟,而且期间没有提示信息。需要耐心等候
转换完成后,在rpm包的路径下,会生成同名的.deb包。下一步,就是安装了
安装很快会完成,期间会提示你,需要使用root用户进行配置
具体的配置,就因人而异了。最简单的就是一直回车,使用默认。
最后的收尾工作,如果现在用当前用户启动数据库,会报错
简单的理解,就是当前用户还不在
dba 组里,没有启动数据库的权限。
只要在Ubuntu
的 “用户和组” 中,分配当前用户到DBA组就OK了
以下是我遇到的其它问题,因人而异
1.启动startdb.sh,没有任何反映。启动sqlplus
报错
从错误上推断,是libaio.so
的问题,此次安装的是64位版。
索性安装libaio的所有相关包。
2.sqlplus
链接XE,报错
看错误,是典型的监听问题。笔者在解决这个问题的时候,一直把问题归结与数据库启动的问题,百思不得其解。还是一位DBA的同事帮我解决了。问题其实很简单,SID。Oracle
默认生成的listener.ora如下:
将标红的 PLSExtProc 更改为
XE,就可以正常监听了。
关于PLSExtProc的问题,虽然查找了部分资料,却还是存在疑惑。不知道哪位读者知道其中牵连?
注: 注释来源
默认安装时,会安装一个PL/SQL外部程序(ExtProc)条目在listener.ora中,
是oracle为调用外部程序默认配置的监听,它的名字通常是ExtProc或PLSExtProc,
但一般不会使用它。可以直接从listener.ora中将这项移除,因为对ExtProc已经有多
种攻击手段了,在不使用外部程序时,oracle也是建议删除的。
PLSExtProc是pl/sql external procdure的意思,就是在pl/sql中调用外部语句,
如c、java写的过程。现在,Oracle已经全面支持JAVA了,这东西也就过时了,之所以
继续保留是考虑到兼容以前老版本的数据库。
有时可能会在多个数据库实例之间拷贝listener.ora,检查拷贝来的文件中是否
含有不需要的服务,确保只留下的确需要的服务项目,减少监听器受攻击的面。
转载地址:http://blog.sina.com.cn/s/blog_613126600100r910.html
10g版的XE,已经发布很多年了。灵活小巧,功能完整一直使它成为搭建本地开发环境不可缺少的一部分。不过,毕竟11g已经慢慢成为主流,原有的10gXE的各种不足就慢慢体现出来。因此,今年的二月份,Oracle发布了11gXE的测试版。到现在,已经是11.2.0了。现在有windows
32 与 Linux 64 两个版本。
笔者也是一直使用10g版的,只是最近更换机器后,因为没有需求,连XE版都没安装,一直使用的10gXEClient。现在想要搭建一套SOA的本地环境,索性就装一下11gXE吧。
首先,笔者的环境是Ubuntu11.04版本,而官方提供的Linux
64 是Rpm包。熟悉Ubuntu的读者都知道,Rpm包是不能直接安装的,需要使用Alien进行转换。
Alien的安装
sudo apt-get install alien |
-c ,否则会有警告。
注意RPM包需要拷贝到EXT4硬盘下,在NTFS下转换会失败。
#没有 -c Warning: Skipping conversion of scripts in package oracle-xe: postinst postrm preinst prerm Warning: Use the --scripts parameter to include the scripts. #没有在EXT4硬盘下 Package build failed; could not run generated debian/rules file. |
scripts in package.
sudo alien -c oracle-xe-11.2.0-0.5.x86_64.rpm |
转换完成后,在rpm包的路径下,会生成同名的.deb包。下一步,就是安装了
sudo dpkg -i oracle-xe_11.2.0-1.5_amd64.deb |
正在解压缩 oracle-xe (从 oracle-xe_11.2.0-1.5_amd64.deb) ... 正在设置 oracle-xe (11.2.0-1.5) ... Executing post-install steps... /var/lib/dpkg/info/oracle-xe.postinst: 行 91: /sbin/chkconfig: 没有那个文件或目录 You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database. 正在处理用于 ureadahead 的触发器... ureadahead will be reprofiled on next reboot 正在处理用于 python-gmenu 的触发器... Rebuilding /usr/share/applications/desktop.zh_CN.utf8.cache... 正在处理用于 bamfdaemon 的触发器... Rebuilding /usr/share/applications/bamf.index... 正在处理用于 desktop-file-utils 的触发器... 正在处理用于 man-db 的触发器... 正在处理用于 libc-bin 的触发器... ldconfig deferred processing now taking place 正在处理用于 python-support 的触发器... |
sudo /etc/init.d/oracle-xe configure |
最后的收尾工作,如果现在用当前用户启动数据库,会报错
operation failed ,xxx is not a member of 'dba' group |
dba 组里,没有启动数据库的权限。
只要在Ubuntu
的 “用户和组” 中,分配当前用户到DBA组就OK了
sudo adduser xxx dba ; #xxx :username |
1.启动startdb.sh,没有任何反映。启动sqlplus
报错
error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory |
的问题,此次安装的是64位版。
索性安装libaio的所有相关包。
sudo apt-get install libaio* |
链接XE,报错
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor |
默认生成的listener.ora如下:
# listener.ora Network Configuration File: SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe) (PROGRAM = extproc) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE)) (ADDRESS = (PROTOCOL = TCP)(HOST = Richard-XPS)(PORT = 1521)) ) ) DEFAULT_SERVICE_LISTENER = (XE) |
XE,就可以正常监听了。
关于PLSExtProc的问题,虽然查找了部分资料,却还是存在疑惑。不知道哪位读者知道其中牵连?
注: 注释来源
默认安装时,会安装一个PL/SQL外部程序(ExtProc)条目在listener.ora中,
是oracle为调用外部程序默认配置的监听,它的名字通常是ExtProc或PLSExtProc,
但一般不会使用它。可以直接从listener.ora中将这项移除,因为对ExtProc已经有多
种攻击手段了,在不使用外部程序时,oracle也是建议删除的。
PLSExtProc是pl/sql external procdure的意思,就是在pl/sql中调用外部语句,
如c、java写的过程。现在,Oracle已经全面支持JAVA了,这东西也就过时了,之所以
继续保留是考虑到兼容以前老版本的数据库。
有时可能会在多个数据库实例之间拷贝listener.ora,检查拷贝来的文件中是否
含有不需要的服务,确保只留下的确需要的服务项目,减少监听器受攻击的面。
转载地址:http://blog.sina.com.cn/s/blog_613126600100r910.html
相关文章推荐
- Ubuntu14.04 下安装 Oracle 11g XE 64位
- ubuntu server 11.10 安装 oracle 10g XE
- ubuntu 安装 oracle-xe-universal
- Ubuntu14.04 安装 Oracle 11g XE
- Ubuntu安装Oracle-XE-Client
- 在Ubuntu Server下安装Oracle XE
- 在ubuntu server的docker中安装oracle-xe-11g
- ubuntu 安装 oracle 11g xe
- ubuntu 安装 oracle-xe-universal
- Ubuntu 11.04上安装jdk1.6+oracle 11g笔记
- Ubuntu12.04.4安装 oracle 11g Release 2 (11.2) for Linux x86
- Ubuntu下安装Oracle 10g XE版
- Ubuntu 8.10 AMD64上安装oracle xe的一些记录
- Ubuntu9.04安装Oracle XE
- Ubuntu Server 11.04 安装 Oracle 11g r2 图解教程
- Ubuntu下安装Oracle XE
- Ubuntu 用apt安装oracle-xe
- [Ubuntu]Ubuntu 10.04 安装Oracle 10g XE
- 在Ubuntu 8.04 x86_64上安装Oracle 10g XE和Oracle Application Express(apex) 3.1.1
- ubuntu安装Oracle 11g XE在Configure时的罕见问题?