oracle在linux下安装遇到的所有的问题总结说明(1)
安装oracle 官方文档,翻译说明(大略有用部分)
1、使用root用户设置可以远程xhost。后安装前的准备。建议使用Xmanager 图形界面自动弹出。不需要设置这一步。而且传文件可以直接传。
2、使用ROOT用户登录Xmanager,检测系统硬件、软件是否满足条件。
硬件条件:一、至少1G内存。交换区大小是1.5或者1倍等内存大小,内存越大,交换区可以设置的越小;
二、至少400M的TEMP空间,至少1.5-3.5G硬盘空闲空间安装oracle软件,大小是根据选择的类型区别;
三、1.2G硬盘是准备使用文件系统存储用的;
四、通过命令检测的方法为:
# grep MemTotal /proc/meminfo //内存的检测
# grep SwapTotal /proc/meminfo //交换区检测
# df -k /tmp //磁盘TEMP剩余检测
# df -k //磁盘剩余检测
# grep "model name" /proc/cpuinfo //检测系统结构能否运行软件,主要是检测处理器类型是否符合oracle软件版本。
五、检测软件主要是检测操作系统版本和当前oracle软件安装版本是否对应,以及内核版本和包,其余的就是C++等等之类的东西。
10.2.1要求操作系统是RED HAT 企业版3.0或者4或者更后的版本。或者SUSE9.0 SP2或者更后。ASIANUX1.0或者2.0。
内核至少是RED HAT3.0.ASIANUX 1.0的2.4.21-27EL. 或者RED HAT 4.0 ASIANUX 2.0的2.69-5EL。SUSE 9.0的2.65-7.201。
检测方法如下:
# cat /etc/issue //检测操作系统版本号
# uname -r //检测内核号
# rpm -q package_name //检测特定的RPM包是否安装。
六、设置主机名和网络的正确对应关系。如果不设置的话,oracle在安装的时候报错。尤其是启动界面安装的时候。
配置方法为hostname是检测当前的主机名。/etc/hosts里面的内容是设置网络和主机名称的对应关系。
检测当前hosts文件是否可用来做名字解析。
# cat /etc/nsswitch.conf | grep hosts
检测当前主机名
# hostname
检测当前域名是否被设置成动态命名的。
# domainname //应该返回的结果是空
检测hosts文件是否包含主机名
# cat /etc/hosts | grep `eval hostname`
内容应该类似如下:
192.168.100.16 oracle
127.0.0.1 localhost // 此时修改的时候,使用的是root用户。但是在后期容易出现因为该文件的权限问题导致监听服务启动不起来的情况。
七、创建用户组
OSDBA组(DBA)//这一组的默认名字叫dba.
如果你打算使用其他的名字的话,那么安装OUI的时候,你必须选择不是该组的用户来安装。另外必须确认没有权限大的nobody用户存在。
ORACLE Inventory group(oinstall) //在第一次安装oracle软件的时候,必须创建这个组。这个组管理了inventory ,它是操作系统上所有oracle软件的目录库。
The Oracle software owner user (typically, oracle ) //oracle用户是oracle软件的所有者。这个用户必须把ORACLE Inventory group组作为他的第一个组别。而且必须把OSDBA作为第二个组别。
创建方法为:
# /usr/sbin/groupadd oinstall //创建组
# /usr/sbin/groupadd dba //创建组
# /usr/sbin/useradd -g oinstall -G dba[,oper] oracle //创建用户,附带指定第一、第二组别
# passwd oracle //指定密码
# /usr/sbin/usermod -g oinstall -G dba[,oper] oracle //如果oracle用户本来就存在,修改一下组别
uid=440(oracle) gid=200(oinstall) groups=201(dba),202(oper) //最终达到这个效果,检测方法:# id oracle
检测nobody用户是否存在。id nobody.不存在就添加。
八、调整内核参数 //建议性质的操作
九、建立oracle目录
/u01/app/oracle //这样的命名规则符合OFA的建议,建立完成后,设置一下环境变量
oracle BASE目录 样例使用的是/u01/app/oracle
oracle Inventory目录 样例使用的是oracle_base/oraInventory
oracle home目录 建议使用oracle_base/product/10.2.0/db_1
创建方法:
# mkdir -p /mount_point/app/ oracle_sw_owner
# chown -R oracle:oinstall /mount_point/app/ oracle_sw_owner
# chmod -R 775 /mount_point/app/ oracle_sw_owner
//mount_point指的是挂载点,默认使用u01.oracle_sw_owner是oracle软件的使用者,默认是oracle。
十、设置oracle的环境变量
ORACLE_BASE=/u01/app/oracle // PATH变量中$ORACLE_HOME/bin 要在 /usr/X11R6/bin.之前
ORACLE_SID=sales
export ORACLE_BASE ORACLE_SID
设置限制新文件权限的掩码。umask to 022
方法为:
$ vi .bash_profile,添加umask 022 完成后,执行$ . ./.bash_profile或者$source ./.bash_profile
十一、下载安装文件,解压缩
$ gunzip filename .cpio.gz
filename .cpio
$ cpio -idcmv < filename .cpio
使用oracle用户创建存放安装文件的目录,如果是光盘安装,则使用ROOT用户挂载光盘
$ mkdir OraDb10g
$ . /usr/local/bin/oraenv //该参数只是在当前会话中有效。
配置oracle的SID,和oracle_home参数,以下配置只是当前有效。弄到环境变量里,长期存在。
[oracle@orcl bin]$ . oraenv
ORACLE_SID = [HA] ? haph
ORACLE_HOME = [/home/oracle] ? /u01/app/oracle/oracle/product/10.2.0/db_1
[oracle@orcl bin]$ cd $ORACLE_HOME
[oracle@orcl 10.2.0]$ pwd
/u01/app/oracle/oracle/product/10.2.0/db_1
配置完成后,运行DBCA,和NETCA。再运行sqlplus
执行:将会编译所有可能无效的PL/SQL模板,包括包、存储过程,类型等。
SQL> @?/rdbms/admin/utlrp.sql