首页
随机
最近更改
特殊页面
社群首页
参数设置
关于WHY42
免责声明
WHY42
搜索
用户菜单
登录
欢迎来到Riguz的小站!这是一个私人wiki,用来记录一些我的笔记。
查看“︁CentOS:Oracle数据库安装”︁的源代码
←
CentOS:Oracle数据库安装
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
==准备工作== *安装JDK 在CentOS6下安装Oracle,首先确保已经[[CentOS:JDK安装|安装JDK]]。 *系统版本名称 Oracle不识别CentOS,因此改为RH <syntaxhighlight lang="bash"> vi /etc/redhat-release </syntaxhighlight> 将CentOS release 6.3 (Final)这行注释掉,加上下面的 <pre> Red Hat Enterprise Linux 6 </pre> *安装依赖项 <syntaxhighlight lang="bash"> yum install \ binutils \ compat-libcap1 \ compat-libstdc++-33 \ compat-libstdc++-33*.i686 \ elfutils-libelf-devel \ gcc \ gcc-c++ \ glibc*.i686 \ glibc \ glibc-devel \ glibc-devel*.i686 \ ksh \ libgcc*.i686 \ libgcc \ libstdc++ \ libstdc++*.i686 \ libstdc++-devel \ libstdc++-devel*.i686 \ libaio \ libaio*.i686 \ libaio-devel \ libaio-devel*.i686 \ make \ sysstat \ unixODBC \ unixODBC*.i686 \ unixODBC-devel \ unixODBC-devel*.i686\ libXp </syntaxhighlight> ==用户及目录== *建立用户和组 <syntaxhighlight lang="bash"> groupadd oinstall groupadd dba groupadd oper useradd -g oinstall -G dba,oper oracle echo "oracle" | passwd --stdin oracle </syntaxhighlight> 查看一下 <syntaxhighlight lang="bash"> id oracle </syntaxhighlight> 大致这样子: <pre> uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper) </pre> *建立安装目录(OFA结构) <syntaxhighlight lang="bash"> mkdir -p /u01/app/oracle/product/11.2.0/db_1 cd /u01/app mkdir oraInventory chown -R oracle:oinstall /u01/app/oracle(oraInventory) chmod -R 775 /u01/app/oracle(oraInventory) </syntaxhighlight> ==修改内核参数== <syntaxhighlight lang="bash"> vi /etc/sysctl.conf </syntaxhighlight> 改为以下值 <pre> fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 8388608 kernel.shmmax = 17179869184 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 </pre> 其中计算公式如下: Shmall(全部共享内存)=32*1024*1024/4=8388608(页)<br/> Shmmax(最大共享内存)=32/2*1024*1024*1024=17179869184<br/> 最需要注意的是shmmax 这个参数,最小500M,最大比内存少一个字节就可以了,推荐比内存的一半大一点点<br/> 还有特别注意sysctl.conf中shmmax ,shmall 已经有了,要注释掉<br/> 改好后,使之生效 <syntaxhighlight lang="bash"> sysctl -p </syntaxhighlight> ==修改用户配置== <syntaxhighlight lang="bash"> vim /etc/security/limits.conf </syntaxhighlight> 增加以下内容 <pre> oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 </pre> 编辑/etc/pam.d/login <syntaxhighlight lang="bash"> vi /etc/pam.d/login </syntaxhighlight> 将以下内容加到最后(注意64位系统为lib64) <pre> session required /lib64/security/pam_limits.so session required pam_limits.so </pre> 修改/etc/profile <syntaxhighlight lang="bash"> vi /etc/profile </syntaxhighlight> 将以下代码新增到profile档案中。在 pathmunge() {…}之后即可。 <pre> if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi </pre> 修改oracle用户环境变量 <syntaxhighlight lang="bash"> vi ~oracle/.bash_profile </syntaxhighlight> 修改以下内容 <pre> ORACLE_BASE=/u01/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 ORACLE_SID=ORCL export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin export PATH </pre> ==安装Oracle== 下载的oracle文件(已下载至附件/4-oracle)到/u01/app/oracle <syntaxhighlight lang="bash"> xhost + su - oracle cd /u01/app/oracle unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip unset LANG LANGUAGE cd /u01/app/oracle/databse ./runInstaller </syntaxhighlight> 后面的安装过程基本简单,按照向导即可,检测失败全部忽略掉<br/> 安装完成后,需要执行两个脚本(安装完后有提示) <pre> /u01/app/Oracle/oraInventory/orainstRoot.sh /u01/app/oracle/product/10.2.0/db_1/root.sh </pre> 注意需要以root身份执行<br/> 以上步骤后,以下命令启动数据库 <syntaxhighlight lang="bash"> lsnrctl start sqlplus /nolog conn / as sysdba startup </syntaxhighlight> 以上步骤启动通常会失败,大意是找不到initORCL.ora ,可以将默认的备份文件拷贝到提示目录即可。<br/> 备份文件位置: <pre> /u01/app/oracle/admin/orcl/pfile </pre> ==其他错误解决办法== [[Oracle:ORA-00845 | ORA-00845]] [[Category:Linux/Unix]]
返回
CentOS:Oracle数据库安装
。