作为实施工程师,需要在两台生产环境上安装Oracle两个版本。
然而,测试人员表示他不太懂Linux,开发人员表示他也不太懂Linux。
于是,作为也不太懂Linux的实施人员,研究了一个星期,终于成功了。
吾想,主要原因是我同事们都不会..碰巧而已。以下是我的经验谈:
首先,如果Linux没有装桌面版而是纯命令行版,我建议重装系统。
一.先讲一讲Linux的基本操作
Linux对大小写很敏感,不要弄错;
ls是查看该目录下的文件;
cd是进入某文件夹;
vi是更改某文件;
在修改文件之中,按ESC再按冒号键(shift+分号),再输入wq是保存,q!是不保存退出;
su切换用户;
二.首先你要有系统光盘或系统光盘的镜像文件
因为Oracle需要八十多个安装包,没有Red Hat6.4的iso文件,就没法安装它们。
1.安装包都在RHEL_6.4 x86_64 Disc 1/Packages目录下
也就是说,只要在这目录下依次执行rpm -ivh空格 安装包的名字 就可以
2.如果你运气好,插入光盘后,光盘会直接挂载在media目录下。
3.如果media目录没有,请按以下方式挂载光盘:
挂载光盘:
ls -l /dev | grep cdrom 查看光盘的名字
(即右上角sr0前的那个,一般叫cdrom1)
mount /dev/cdrom1 /mnt/ 挂载
安装程序一般在mnt目录下的Packages里(注意大小写)
三.配置yum
用rpm的方式安装安装包时,经常会出现需要前置安装包的现象,而前置安装包又有前前置安装包,就像无穷尽一样。
而用yum可以自动安装前置安装包
方法是:
vi /etc/yum.repos.d/rhel-debuginfo.repo
添加以下内容:
[rhel_6_iso]
name=local iso
baseurl="file:///media/RHEL_6.4 x86_64 Disc 1/"
gpgcheck=0
四.接下来请参考前辈们的安装方法:
10g:
参考http://blog.csdn.net/w63667329/article/details/7890172
http://my.oschina.net/dxqr/blog/369099
这两个文档,以第一个为主。
11g:
参考http://www.cnblogs.com/gaojun/archive/2012/11/22/2783257.html
五.could not execute auto check for display......
X-WINDOWS问题
..这个问题简直逆天。
1.用root用户执行
yum install xorg-x11-apps
安装之后,就可以发现root用户可以使用xclock
2.用root用户执行
xhost +
之后切换成oracle用户,也可以使用xclock
六.之后会遇到的问题
1.10g会在65%时出现此框,跳过就行,据说所有人都会碰到这样的BUG:
Error in invoking target 'collector' of makefile '/opt/oracle/102
2.10g之后会跳出这样的框:
OUI-25031:Some of the configuration assistants failed.It is strongly......
这是hosts文件的问题,在/etc/hosts文件后方加入一句自己的IP空格自己的主机名即可
3.安装完成后,执行第二个脚本sh /u01/product/10.2.0/db_1/root.sh后提示:
enter the full pathname of the local bin
直接按回车就行- -
4.顺利安装完后,sqlplus命令无法找到的问题
提示command not found
这是环境变量没有配好。
先想办法找到本机器的oracle安装到哪了。
我是使用locate product/10.2.0这样。
之后我的机器是/home/oracle/oracle/product/10.2.0/db_4
也就是说要把ORACLE_HOME设置成/home/oracle/oracle/product/10.2.0/db_4
先su oracle进入oracle用户,然后修改文件vi /home/oracle/.bash_profile,把ORACLE_HOME和ORACLE_BASE修改成正确的路径
保存退出之后执行source /home/oracle/.bash_profile。即可
5. 11g安装到95%时会弹出 [INS-20802] Oracle Net Configuration Assistant failed 的窗口,并且生成2.50MB的日志文件。
然而这并没有什么卵用,点确定后Retry就行。
6.安装好之后,开机时会出现-bash:[root:command not found 这样的提示
是etc/profile没配好。
注意if与[之间有空格,then前也有空格
七.安装好之后会遇到的问题
1.中文数据出现乱码。
⑴请重建数据库。把原来的数据导出,导入到新数据库。
在图形界面,用oracle用户输入dbca。
接下来请参考这篇文章:
http://blog.sina.com.cn/s/blog_87f166cf0101743n.html
⑵关于如何切换库
不知道诸兄在之前的步骤,有没有注意到过“SID”
切换数据库,即是在环境变量中修改SID。
也就是说,想进kgms库,就要在进入数据库之前,先export ORACLE_SID=kgms。
当然,库名和SID名可能不一样。
2.其他各种报错
⑴ORA-01034: linux oracle not available
请先输入startup启动
⑵ORA-00371: not enough shared pool memory, should be atleast369857228 bytes
修改cd/home/oracle/oracle/product/10.2.0/db_4/dbs/目录中的initkgms.ora,把shared_pool_size改为400M
⑶ORA-01506: missing or illegal database name
LRM-00109: could not open parameter file'/u01/oracle/product/OraHome/dbs/inithbdb.ora'
ORA-01102: cannot mount database in EXCLUSIVE mode
SID配置错误,请进入cd/home/oracle/oracle/product/10.2.0/db_4/dbs/目录,记住init后面的字符,把环境变量中的SID修改为这个。
⑷ORA-01081: cannot start already-running ORACLE - shut it down first
请先输入shutdown。如果无法shutdown,请直接startup force强制启动,或shutdown about强制关闭。
八.其他有帮助的指令
1. alter user user01 identified by user10;
这个是把USER01用户密码修改为USER10
2. select name from v$database;
查看当前所在库名
⑵LRM-00109: could not open parameter file'/u01/oracle/product/OraHome/dbs/inithbdb.ora'
SID配置错误,请进入cd/home/oracle/oracle/product/10.2.0/db_4/dbs/目录,记住init后面的字符,把环境变量中的SID修改为这个。