Solaris 和linux 之oracle 数据库的安装
本篇博文前面是一些基础知识介绍,后面才是总结篇。
一、在solaris上面装oracle 10g教程
目前官网已经没有32位的oracle11g了,取而代之的都是64位的oracle11g,为了能在32位的solaris系统上安装oracle,目前只能安装oracle 10g。
1)为solaris添加硬盘
2)安装oracle10g
参考资料: http://blog.csdn.net/nemo2011/article/details/8183326 Solaris添加新硬盘
http://blog.163.com/wghbeyond@126/blog/static/35166181200942351523927/
在Solaris系统下安装oracle10总结
http://blog.163.com/wghbeyond@126/blog/static/35166181200942351523927/ Solaris10上安装64位Oracle9201
准备工作:
+PATH(环境变量)
完成以上5部分,就可以安装oracle了。
图形界面下,一定用oracle用户登录,不要用root登录,然后su 到oracle用户,这样会登录失败。
经验证,32位的solaris无法安装 64位的oracle软件。
oracle for solaris 安装错误FAQ
参考资料: http://www.itpub.net/thread-1849937-1-1.html Oracle 11gR2对应的Solaris (x86-64)版本操作系统的Solaris版本。
错误如下:
解决方案:
- 换系统
- 换oracle 10g 32位
以下采用方案2,换oracle 10g,我们需要到window里面的浏览器 bing里面去搜索。网址如下:
www.linuxidc.com/Linux/2015-02/113620.htm
注意:上面的方法本人没有实测,不知道可行与否,但从理论上来说应该没问题。
二、在redhat上面装oracle 11g教程
参考资料:
http://blog.163.com/dongfang_1226/blog/static/5867778020126281245271/
RedHat Linux 安装oracle11g
由于在安装solaris过程中,需要安装一些软件,但之前的镜像文件没有加载进去,所以我们需要下载iso文件,然后从里面安装一些依赖的文件。
http://blog.chinaunix.net/uid-18997108-id-273965.html RHEL5.1下安装GCC编译环境 解决依赖性问题
http://www.linuxidc.com/Linux/2011-09/43704.htm
Red Hat Enterprise Linux Server 6.0官方多国语言版光盘镜像下载
注意:对于软件的安装,我们一般用 rpm -Uvh xxxx* 去安装。而且,我们一开始可能不知道缺少什么软件,这个没关系,一般在安装oracle的过程中,会有一个检查,
检查完之后,我们就会知道哪里配置有问题,哪里缺少什么等等。我们安装oracle一般在oracle用户下完成的,而安装软件,我们一般克隆一个会话(在CRT上面)。
然后,切换到root用户,在root下面安装缺少的软件。安装完之后,可以重新检测一次。
按照上面的程序即可安装完数据库系统:
有些软件没安装直接忽略,直接安装就行。
安装完之后,输入:
启动监听 lsnrctl start (Listener control start)
启动数据库和实例 sqlplus /nlog conn /as sysdba
SQL > startup
对于CRT端,我们可以使用oracle登录,其他用户都不行。
遇到这种错误怎么办?
解决方案:
http://blog.csdn.net/zhanghai412/article/details/7947460 ORA-01034: ORACLE not available
主要是因为 没有 startup ,回车,我们可以看到很多。
数据库密码: Db123456 用户名和安装上的一样。
如果需要远程连接机子上面的数据库:(如何在window里面连接linux上面的oracle)
解决方案:需要下载oracle客户端软件即可解决,但是要解决兼容性问题,下面是解决的方案。
-
Oracle Database Client11gR2精简版下载 上面经测试,64位系统无法安装,只可以用 官方 win32_11gR2_client.zip
-
Pl-sql 用的是 PLSQL Developer10.0.5.1710chinese.rar
参考资料: http://jingyan.baidu.com/article/22a299b51741df9e19376a90.html PLSQL Developer win7 64位 安装方法
关于 oracle10g、oracle client和plsql devement 三者之间的关系
Oracle10g 是服务器,如果本机安装oracle 10g,没有必要安装oracle client,只有配置好DNS,就可以使用plsql development 连接。
oracle client客户端面数据库管理工具、配置DNS工具等本机服务器既没安装oracle10g需要安装oracle client才能访问服务器
plsql devement数据库工具配置DNS才能使用plsql devement连接数据库。plsql developer oracle发第三软件必须oracleclient支持;安装oracle服务机器用client使用plsql devement 连接数据库(配置DNS)。
下面针对windows上面,连接linux上面的oracle做一个问题说明:主要原因是配置的问题:
-
参考资料:http://www.itpub.net/thread-1235943-4-1.html 请问能Windows下连接虚拟机上的oracle数据库吗?(此篇文章最有用)
http://www.cnblogs.com/ymj126/p/3712727.html PL/SQL Developer连接本地Oracle 11g 64位数据库
http://www.cnblogs.com/kane1990/p/OracleNetManager.html Oracle Net Manager 服务命名配置以及用PL/SQL 登陆数据库
总结篇:
下面讲讲具体的配置步骤:
- 在linux下面安装oracle数据库,数据库可以从官网下载,本环境用的是 oracle R2.
参考文章:http://blog.163.com/dongfang_1226/blog/static/5867778020126281245271/ RedHat Linux 安装oracle11g
2、由于是在linux上面安装的oracle,可以认为此版本为服务器端,我们如果想远程登录此服务器,需要安装客户端以及第三方操作数据库的软件。
1)下载 oracle_client (用的win32 版本,本人系统为64位机器),和pl/sql 32位,上面有介绍到。
参考资料: http://www.cnblogs.com/ymj126/p/3712727.html 解决64位机子,安装pl/sql 问题。
http://www.cnblogs.com/kane1990/p/OracleNetManager.html 解决利用oracle 配置tns服务器问题。
2)安装2中提到的两个软件,(安装oracle_clint会有选项,选择一个完全版。安装pl/sql 安装目录下,不要有program file(x86)的字样,否则pl/sql无法识别)。
3、完成后,利用oracle_client里面的 net manager 去配置tns服务,以及pl/sql 服务。
截图如下:
Windows里面的配置:(通过 net manager 配置会自动出现tnsnames.ora ,这个文件其实是一个映射关系,里面用键值对的方式实现的。当然,
我们还可以不对oracle_client进行安装也可以,解压完之后,对里面的文件直接进行配置,这样就不用安装了)。(注:下面的内容也可以自己写脚本加进去)
Tnsnames.ora 内容:
# tnsnames.ora Network Configuration File: E:\app\zhuxuekui\product\11.2.0\client_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.132.11)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
Plsql 配置:
(plsql 激活的时候,长的空格填写长的一串)
dos下验证: tnsping sys/admin@orcl as sysdba
1)两边的防火墙问题 (如果一边的防火墙是开着的,则在dos下,会提示 time out)
解决方案:windows下面好处理,直接关闭防火墙即可。
Linux下为了安全性考虑,可以只关闭某个端口的防火墙。
参考资料:http://bbs.chinaunix.net/thread-2187037-1-1.html 如何关闭linux默认的防火墙
方法一:关闭或者打开某个防火墙:chkconfig –level xxx iptables on/off
查看: chkconfig –list|grep iptables
方法二:service iptables start/stop
配置防火墙:
-A INPUT –m state –state NEW –m tcp –p tcp –dport 1521 –j ACCEPT 允许1521端口通过防火墙,位置放在默认的22端口这条规则下。
配置完之后,重启防火墙。 /etc/init.d/iptables restart
(下面这张表在 /etc/sysconfig/iptables 下面)
防火墙正确的时候,应该是这样的,chkconifg –list|grep iptables ,因为我用的是 eth6,但他是关闭的,所以dos下面没有出现timeout错误。
2)除了防火墙问题,还有就是linux这边的监听程序的配置文件
必须要配置,文件位置 安装目录下面的network
参考资料:请问能Windows下连接虚拟机上的oracle数据库吗?这个没配置好,会出现 no listener 的错误。
解决方案:
灵活运用tab键,以及bing搜索引擎。
务必配置 SID,不然找不到实例。
务必出现 service orcl has 1 instance 才算成功,不然 比如出现 no service 就是失败的。
查看状态,至此配置成功。
解决:connection as SYS should be as SYSDBA or SYSOPER 的问题。
参考资料: http://bbs.csdn.net/topics/350111348
登录 : sqlplus sys/admin@orcl as sysdba
解决:忘记密码,密码解锁的问题。
参考资料:http://blog.csdn.net/devillyd/article/details/7219817
Sqlplus/as sysdba