安装环境:
OS:Red Hat Linux 4(我用的本版是4)
数据库:oracle10g
1、首先,必要的硬件信息检查(摘抄网上资料):
检查内容 最小值 检查命令参考
物理内存 512M # grep MemTotal /proc/meminfo
交换空间 max{1.0 GB,2倍内存} # grep SwapTotal /proc/meminfo
/tmp 空间 400 MB # df -k /tmp
软件所需空间 2.5 GB # df -k
数据库文件 1.2 GB # df -k
注:个人理解,除了最后两项为安装中硬性要求外,其他几项均可以适当放宽限制,并不影响安装进程;
2、建用户组、用户脚本
使用root用户登录
# groupadd oracle
# useradd -g oracle -d /oracle -m oracle
# passwd oracle
注:值得一提的是最后一条命令,通过useradd命令所建立的用户,没有指定密码(即便运行useradd时使用了-p参数),无法进行登录,故需用passwd进行指定密码,这 是经历多次失败尝试后的经验;
3.设置oracle环境变量
$ vi $ORACLE_BASE/.bash_profile
---在原有内容后面添加如下设置
export DISPALY="localhost:0.0" #此句尤为重要,直接影响后续安装进程,其中localhost可以使用IP或主机名替代
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle
export ORACLE_SID=orclx #此参数应根据安装节点进行修改
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=$PATH:$ORACLE_HOME/bin:/sbin
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" #此句设置oracle字符集 ,影响到安装后字符显示问题
umask 022
4.修改核心参数(编辑/etc/sysctl.conf,在该文件末尾加入如下内容:这部分设置我没有理会^-^)
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
编辑完之后,保存,执行 # /sbin/sysctl -p 命令操作来使我们所做的变更生效。
注意:核心参数配置可能需要根据实际环境进行适当的变动.
5.检查linux 的安装组件(在安装oracle期间,需要使用到GCC组件包,故须检查是否安装完整)
直接在linux图形界面中,选择主菜单->系统设置->添加/删除应用程序,选中"开发"部分的"开发工具",然后默认"更新"即可。
注:安装这部分程序需用到linux9的第二张光盘(这部分程序是linux9默认安装未包含的)。
如果没有安装这部分,在后面的oracle安装过程中,将出现一系列的调用错误。
另外,还需检查libaio的安装:在linux9的第二张光盘中有
ls -l libaio*.rpm
rpm - i libaio*.rpm
6.接下来,开始安装oracle
运行runInstaller,错误提示如下:
Checking requirements...
Checking operating system version: must be redhat-2.1,redhat-3,SuSE-9,SuSE-8,UnitedLinux-1.0
Failed<<<<
这是因为oracle10g所认可的linux发行套件没有包括linux9,所以需要降低linux核心
流行的解决方法有三种:
方法一:
在/etc下创建UnitedLinux-release文件
#cat > /etc/UnitedLinux-release << EOF
>UnitedLinux 1.0 (i586)
>VERSION=1.0
>EOF
然后就可以正常启动安装程序。注意不要使用vi编辑该文件,否则可能会引起ORA-12547: TNS: lost contact的错误。
方法二:
运行runInstaller -ignoreSysPrereqs,这样会跳过检查(呵呵,相信百分之99.9999999的人都会选择这种方法)
方法三:
修改Oracle 的/.../disk1/install/linux/oraparam.ini这个参数文件
7.如果接下来,安装遇到如下错误:
Xlib: connection to "localhost:0.0" refused by server
Xlib: No protocol specified
呵呵,你的oracle用户没有X window权限,解决办法:
使用root用户登录(必要时重新启动os),然后输入:
# xhost +localhost
如果x window设置成功,可以用oracle用户登录后,输入: $ xclock
是不是看到一个小闹钟,呵呵,恭喜你又解决一个问题!
8.当程序进行到,创建数据库时,建议先不要创建,等安装完系统后,通过dbca命令来创建,不要问我为什么,反正这样子会顺利不少。
否则下面这些问题,不幸的话,可能你都会遇到:
数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ORA-00371: not enougsh shared pool memory, should be atleast 52132659 bytes.
解决方法:
这个错误并非是内核参数设置的问题,也和系统的物理内存大小无关。编辑$ORACLE_HOME/dbs/init$GID.ora文件:
shared_pool_size = 52132659
数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ora-01102: cannot mount database in EXCLUSIVE mode
解决方法:
完全关闭数据库,更改$ORACLE_HOME/dbs/init.ora文件里的db_name为建库时定义的“全局数据库名”,然后再重新启动数据库
数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ora-00205:error in identifying conrolfile, check alert log for more info
解决方法:
SQL>show parameter control_files
SQL>CREATE CONTROLFILE
将$ORACLE_BASE/admin/$GID/pfile/init$SID.ora***************拷贝到$ORACLE_HOME/dbs下,命名为init$SID.ora,即可解决。
数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ORA-01990:error opening password file '$ORACLE_NAME/dbs/orapw'
ORA-27037:unable to obtain file status
Linux Error:2: No such file or directory
Additional information: 3
解决方法:
将$ORACLE_HOME/dbs下的orapw$db_name文件拷贝生成一个orapw文件。
建库的过程中或者连接数据库的时候提示:
ORA-12547: TNS: lost contact
引起该错误的环境比较复杂,原因可能是:
1、用vi编辑的/etc/UnitedLinux-release文件
2、内核参数设置不正确
3、察看一下listener是否正常启动: lsnrct1 status
4、机器负载过大
9、系统安装完毕,在oracle用户下,打开终端,运行dbca命令,后有一个向导出现,你可以按照提示创建数据库,至此安装大功告成。
OS:Red Hat Linux 4(我用的本版是4)
数据库:oracle10g
1、首先,必要的硬件信息检查(摘抄网上资料):
检查内容 最小值 检查命令参考
物理内存 512M # grep MemTotal /proc/meminfo
交换空间 max{1.0 GB,2倍内存} # grep SwapTotal /proc/meminfo
/tmp 空间 400 MB # df -k /tmp
软件所需空间 2.5 GB # df -k
数据库文件 1.2 GB # df -k
注:个人理解,除了最后两项为安装中硬性要求外,其他几项均可以适当放宽限制,并不影响安装进程;
2、建用户组、用户脚本
使用root用户登录
# groupadd oracle
# useradd -g oracle -d /oracle -m oracle
# passwd oracle
注:值得一提的是最后一条命令,通过useradd命令所建立的用户,没有指定密码(即便运行useradd时使用了-p参数),无法进行登录,故需用passwd进行指定密码,这 是经历多次失败尝试后的经验;
3.设置oracle环境变量
$ vi $ORACLE_BASE/.bash_profile
---在原有内容后面添加如下设置
export DISPALY="localhost:0.0" #此句尤为重要,直接影响后续安装进程,其中localhost可以使用IP或主机名替代
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle
export ORACLE_SID=orclx #此参数应根据安装节点进行修改
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=$PATH:$ORACLE_HOME/bin:/sbin
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" #此句设置oracle字符集 ,影响到安装后字符显示问题
umask 022
4.修改核心参数(编辑/etc/sysctl.conf,在该文件末尾加入如下内容:这部分设置我没有理会^-^)
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
编辑完之后,保存,执行 # /sbin/sysctl -p 命令操作来使我们所做的变更生效。
注意:核心参数配置可能需要根据实际环境进行适当的变动.
5.检查linux 的安装组件(在安装oracle期间,需要使用到GCC组件包,故须检查是否安装完整)
直接在linux图形界面中,选择主菜单->系统设置->添加/删除应用程序,选中"开发"部分的"开发工具",然后默认"更新"即可。
注:安装这部分程序需用到linux9的第二张光盘(这部分程序是linux9默认安装未包含的)。
如果没有安装这部分,在后面的oracle安装过程中,将出现一系列的调用错误。
另外,还需检查libaio的安装:在linux9的第二张光盘中有
ls -l libaio*.rpm
rpm - i libaio*.rpm
6.接下来,开始安装oracle
运行runInstaller,错误提示如下:
Checking requirements...
Checking operating system version: must be redhat-2.1,redhat-3,SuSE-9,SuSE-8,UnitedLinux-1.0
Failed<<<<
这是因为oracle10g所认可的linux发行套件没有包括linux9,所以需要降低linux核心
流行的解决方法有三种:
方法一:
在/etc下创建UnitedLinux-release文件
#cat > /etc/UnitedLinux-release << EOF
>UnitedLinux 1.0 (i586)
>VERSION=1.0
>EOF
然后就可以正常启动安装程序。注意不要使用vi编辑该文件,否则可能会引起ORA-12547: TNS: lost contact的错误。
方法二:
运行runInstaller -ignoreSysPrereqs,这样会跳过检查(呵呵,相信百分之99.9999999的人都会选择这种方法)
方法三:
修改Oracle 的/.../disk1/install/linux/oraparam.ini这个参数文件
7.如果接下来,安装遇到如下错误:
Xlib: connection to "localhost:0.0" refused by server
Xlib: No protocol specified
呵呵,你的oracle用户没有X window权限,解决办法:
使用root用户登录(必要时重新启动os),然后输入:
# xhost +localhost
如果x window设置成功,可以用oracle用户登录后,输入: $ xclock
是不是看到一个小闹钟,呵呵,恭喜你又解决一个问题!
8.当程序进行到,创建数据库时,建议先不要创建,等安装完系统后,通过dbca命令来创建,不要问我为什么,反正这样子会顺利不少。
否则下面这些问题,不幸的话,可能你都会遇到:
数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ORA-00371: not enougsh shared pool memory, should be atleast 52132659 bytes.
解决方法:
这个错误并非是内核参数设置的问题,也和系统的物理内存大小无关。编辑$ORACLE_HOME/dbs/init$GID.ora文件:
shared_pool_size = 52132659
数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ora-01102: cannot mount database in EXCLUSIVE mode
解决方法:
完全关闭数据库,更改$ORACLE_HOME/dbs/init.ora文件里的db_name为建库时定义的“全局数据库名”,然后再重新启动数据库
数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ora-00205:error in identifying conrolfile, check alert log for more info
解决方法:
SQL>show parameter control_files
SQL>CREATE CONTROLFILE
将$ORACLE_BASE/admin/$GID/pfile/init$SID.ora***************拷贝到$ORACLE_HOME/dbs下,命名为init$SID.ora,即可解决。
数据库启动:
$sqlplus /nolog
SQL>connect / as sysdba
SQL>startup
ORA-01990:error opening password file '$ORACLE_NAME/dbs/orapw'
ORA-27037:unable to obtain file status
Linux Error:2: No such file or directory
Additional information: 3
解决方法:
将$ORACLE_HOME/dbs下的orapw$db_name文件拷贝生成一个orapw文件。
建库的过程中或者连接数据库的时候提示:
ORA-12547: TNS: lost contact
引起该错误的环境比较复杂,原因可能是:
1、用vi编辑的/etc/UnitedLinux-release文件
2、内核参数设置不正确
3、察看一下listener是否正常启动: lsnrct1 status
4、机器负载过大
9、系统安装完毕,在oracle用户下,打开终端,运行dbca命令,后有一个向导出现,你可以按照提示创建数据库,至此安装大功告成。