CentOS 6.3(x86_64)下安装Oracle 10g R2


美河学习在线 CentOS 6.3(x86_64)下安装 Oracle 10g R2 作者 David_Tang 目 录 一、硬件要求 二、软件 三、系统安装注意 四、安装 Oracle 前的系统准备工作 五、安装 Oracle,并进行相关设置 六、升级 Oracle 到 patchset 10.2.0.4 七、使用 rlwrap 调用 sqlplus 中历史命令 一、硬件要求 1、内存 & swap Minimum: 1 GB of RAM Recommended: 2 GB of RAM or more 检查内存情况 # grep MemTotal /proc/meminfo # grep SwapTotal /proc/meminfo 2、硬盘 由于 CentOS 安装后差不多有 4~5G,再加上 Oracle 等等的安装,所以请准备至少 10G 的硬盘空间。 检查磁盘情况 # df -h 美河学习在线 二、软件 系统平台:CentOS 6.3(x86_64) CentOS-6.3-x86_64-bin-DVD1.iso Oracle 版本:Oracle 10g R2 10201_database_linux_x86_64.cpio 补丁:p6810189_10204 p6810189_10204_Linux-x86-64.zip 三、系统安装注意 系统安装时一定要安装桌面模式,否则无法安装 oracle,另外请勿开启 SELinux, oracle 官方不建议使用 SELinux,CentOS 的防火墙也请暂时关闭,减少安装时的困 扰。为防止 Oracle 安装过程中出现乱码,建议使用英文作为系统语言,进行 Oracle 的安 装工作。 本文中所描述的系统命令,未经特殊标示,均为“#”代表 root 权限,“$”代表 oracle 权限。 四、安装 Oracle 前的系统准备工作 首先,请先以 root 账号登入作一些前置设定作业。 1、关闭防火墙、禁用 SELinux # setup 美河学习在线 # vi /etc/selinux/config 修改 SELINUX=disabled,然后重启。 如果不想重启系统,使用命令 setenforce 0 2、安装依赖包 Oracle 官方文档要求的安装包: 美河学习在线 www.eimhe.com 查看 Oracle 相关包是否已经安装: 用 yum 方式安装所需的包: # yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686 glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel make sysstat 美河学习在线 www.eimhe.com 最后还需要安装 libXp 这个 Library,这个一定要安装,否则安装 Oracle 时会出现 java Exception。 # yum install libXp 3、创建 Oracle 用户与组 在这里只讨论单主机环境,不考虑 RAC 环境的配置。 执行以下指令以新增 oracle 安装时所需要的使用者与群组。 (1) 建立群组 oinstall # groupadd oinstall (2) 建立群组 dba # groupadd dba (3) 新增使用者 oracle 并将其加入 oinstall 和 dba 群组 # useradd -m -g oinstall -G dba oracle (4) 测试 oracle 账号是否建立完成 # id oracle 美河学习在线 www.eimhe.com (5) 建立 oracle 的新密码 # passwd oracle 4、将 oracle 使用者加入到 sudo 群组中 # vi /etc/sudoers 找到 root ALL=(ALL) ALL 这行,并且在底下再加入 oracle ALL=(ALL) ALL 输入 wq!(由于这是一份只读文档所以需要再加上!)并且按下 Enter 5、配置系统内核参数 # vi /etc/sysctl.conf 修改和添加以下内容: kernel.shmall = 4294967296 //表示系统一次可以使用的共 享内存总量(以页为单位)。缺省值就是 2097152,通常不需要修改 kernel.shmmax = 68719476736 //定义了共享内存段的最大尺 美河学习在线 www.eimhe.com 寸(以字节为单位)。缺省为 32M,对于 oracle 来说,该缺省值太低了,通常将其设置 为 2G kernel.shmmni = 4096 //用于设置系统范围内共享内存段 的最大数量。该参数的默认值是 4096 。通常不需要更改 kernel.sem = 250 32000 100 128 //表示设置的信号量 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default=4194304 //默认的接收窗口大小 net.core.rmem_max=4194304 //接收窗口的最大大小 net.core.wmem_default=262144 //默认的发送窗口大小 net.core.wmem_max=262144 //发送窗口的最大大小 会有一些与目前的参数重复的,就修改成文件上提供的。 编辑完之后,储存,然后执行: # sysctl -p 启用刚刚所做的变更。 美河学习在线 www.eimhe.com 6、编辑/etc/security/limits.conf # vi /etc/security/limits.conf 添加以下四行 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 7、编辑/etc/pam.d/login # vi /etc/pam.d/login 添加以下两行 session required /lib64/security/pam_limits.so session required pam_limits.so 美河学习在线 www.eimhe.com 8、修改/etc/profile # vi /etc/profile 将以下代码新增到 profile 档案中。 if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi 美河学习在线 www.eimhe.com 9、修改 Linux 发行版本信息 由于 Oracle 10g 发行的时候,CentOS 6 没有发行,所以 Oracle 10g 并没有对 CentOS 6 确认支持,需要修改文件让 Oracle 10g 支持 CentOS 6。 我们需要手工修改 Linux 的发行注记,让 Oracle 10g 支持 CentOS 6。 编辑/etc/redhat-release 文件 # vi /etc/redhat-release 将其中的内容 CentOS release 6.3 (Final)修改为 redhat 4 10、创建 Oracle 安装文件夹以及数据存放文件夹 #mkdir /opt/oracle #mkdir /opt/oracle/102 #chown -R oracle:dba /opt/oracle 11、配置 Linux 主机 美河学习在线 www.eimhe.com 检查/etc/hosts 文件中是否有 localhost 的记录(指向 127.0.0.1 即可),若没有的 话,在后面配置 Oracle 监听的时候会出现一些问题,导致无法启动监听,在此手工添加 此记录即可。 第一阶段到此完毕,接下来,完成这些设定之后,请先注销 root 账号,并且以 oracle 账 号再次登入系统。 12、配置 oracle 用户环境变量 $ cd /home/oracle $ vi .bash_profile 修改并加入以下內容 ORACLE_BASE=/opt/oracle //上面创建的 Oracle 安装文件夹 ORACLE_HOME=$ORACLE_BASE/102 ORACLE_SID=orcl LD_LIBRARY_PATH=$ORACLE_HOME/lib PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH 保存后使用如下命令,使设置生效: $ source /home/oracle/.bash_profile 美河学习在线 www.eimhe.com 五、安装 Oracle,并进行相关设置 1、解压缩安装文件 将下载的 10201_database_linux_x86_64.cpio 放至即将安装 oracle 的文件夹 /opt/oracle 回到终端模式并且进入到 oracle 文件夹: $ cd /opt/oracle 解压缩 10201_database_linux_x86_64.cpio $ cpio -idmv < 10201_database_linux_x86_64.cpio 接着会看到一连串的解压缩动作。 解压缩完成会在同一个文件夹中看到 database 的文件夹,请进入到 database 文件夹 中: $ cd database 准备执行数据库安装,如果你的 centos 是中文环境,安装时会出现中文乱码,请下以下 指令 $ export LANG=en_US 接着执行 $ ./runInstaller 如果无法看到安装界面,请使用 root 帐户执行如下命令后再运行安装程序: 美河学习在线 www.eimhe.com # export DISPLAY=:0.0 # xhost + $ ./runInstaller 遇到错误:Exception in ...... /lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory 美河学习在线 www.eimhe.com 解决: # yum -y install libXp.i686 分析:看报错信息"/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory",libXp 需要安装 i386 的包,而不能安装 X64 的包。 上面认为 64 位的 linux 需要安装 64 位的 libXp 包,所以导致这个问题。 再次执行 $ ./runInstaller 遇到错误:Exception in ...... /lib/i386/libawt.so: libXt.so.6: cannot open shared object file: No such file or directory 美河学习在线 www.eimhe.com 解决: # yum -y install libXt.i686 再次执行 $ ./runInstaller 遇到错误:Exception in ...... /lib/i386/libawt.so: libXtst.so.6: cannot open shared object file: No such file or directory 美河学习在线 www.eimhe.com 解决: # yum -y install libXtst.i686 再次执行 $ ./runInstaller 开始执行安装程序。 美河学习在线 www.eimhe.com 由于相关的前置作业已经在之前做好了,在这个步骤只需要将 UNIX DBA Group 选择为 dba 以及输入 SYS, SYSTEM 等账号共享的 database Password 即可。然后选择 Next 即可。 美河学习在线 www.eimhe.com 同样的,将群组选择为 dba 群组,按 Next 在这个步骤中,请点选 Checking Network Configuration requirements 为 User Verified,接着按下 Next 美河学习在线 www.eimhe.com 最后出现 Install Summary 画面,此时只要按下 Install 按钮,系统即开始安装。 美河学习在线 www.eimhe.com 安装过程... 美河学习在线 www.eimhe.com 安装进度大约到 65%时会有错误提示: Error in invoking target 'collector' of makefile '/opt/oracle/102/sysman/lib/ins_emdb.mk'. 美河学习在线 www.eimhe.com 同时 oraInventory/logs/目录下的安装日志文件里面会有如下类似错误提示: 美河学习在线 www.eimhe.com 这是 oracle 安装程序的一个 bug,可以忽略此错误继续安装,对系统没什么影响。 在 Configuration Assistants 时会出现错误提示: OUI-25031:Some of the configuration assistants failed. 美河学习在线 www.eimhe.com 分析:主机名映射错误 解决:修改/etc/hosts 文件,增加 IP 地址与主机名的映射如下: 接着会遇到错误提示: ORA-27125:unable to create shared memory segment 美河学习在线 www.eimhe.com 解决: 1. 确定安装 oracle 所使用的用户组 # id oracle 可以看到 oracle 组 dba id 为 501。 2. 修改内核参数 echo "501" >/proc/sys/vm/hugetlb_shm_group 就可以了。 美河学习在线 www.eimhe.com 安装到数据库设置助理,可以在这边选取 password management 作密码的修改,如不 需要修改,只需要按下 ok 按钮即可。 安装完成前,出现以下的设置脚本: 美河学习在线 www.eimhe.com 开启一个新的终端,su 到 root。 将要求执行的两段 script 依序执行。 /opt/oracle/oraInventory/orainstRoot.sh /opt/oracle/102/root.sh 美河学习在线 www.eimhe.com 执行画面如上图。 执行完后,回到安装窗口按下 OK 完成所有的 oracle 安装。安装完成会出现以下画面。 美河学习在线 www.eimhe.com 此时,您可以以上述网址,作为测试,登入账号可以为 sys 或 system http://CentOS-Oracle:5560/isqlplus http://CentOS-Oracle:5560/isqlplus/dba http://CentOS-Oracle:1158/em 美河学习在线 www.eimhe.com 以上画面都成功代表 oracle 已经正常安装了。 六、升级 Oracle 到 patchset 10.2.0.4 1、升级软件 a. 关闭需要升级的实例 停止实例 SQL> SHUTDOWN IMMEDIATE 停止与该实例相关的所有后台进程 $ emctl stop dbconsole $ isqlplusctl stop $ lsnrctl stop 美河学习在线 www.eimhe.com b. 备份 Oracle 数据库 c. 运行升级包升级软件 将补丁包 p6810189_10204_Linux-x86-64.zip 解压;进入解压后的目录,执行安装命 令。 美河学习在线 www.eimhe.com 点击“Next” 美河学习在线 www.eimhe.com 指定 Oracle Home 目录详细,点击“Next” 美河学习在线 www.eimhe.com 点击“Next” 美河学习在线 www.eimhe.com 点击“Next” 美河学习在线 www.eimhe.com 点击“Install”,进行安装。 美河学习在线 www.eimhe.com 升级过程... 美河学习在线 www.eimhe.com 需要执行脚本/opt/oracle/102/root.sh 美河学习在线 www.eimhe.com 开一个新窗口,在 root 账户下执行脚本。 美河学习在线 www.eimhe.com 执行完后,回到安装窗口按下“OK”完成所有的 oracle 安装。安装完成会出现以下画面。 美河学习在线 www.eimhe.com 点击“Exit”,退出 Oracle 的升级。 如果此前并没有创建数据库,那么升级到 10.2.0.4 到此就结束了。然后可以去创建新的 数据库。 如果此前已经创建了数据库,那么按以下步骤升级数据库到 10.2.0.4 版本。 2、升级数据库 a. 更新数据字典 $ sqlplus / as sysdba; SQL> STARTUP UPGRADE SQL> SPOOL patch.log SQL> @?/rdbms/admin/catupgrd.sql 美河学习在线 www.eimhe.com 升级过程比较长,请耐心等待。 升级完毕,总耗时 38 分钟 26 秒。 SQL> SPOOL OFF 美河学习在线 www.eimhe.com b. 关闭并重启数据库 SQL> SHUTDOWN IMMEDIATE SQL> STARTUP c. 编译无效 PL/SQL 包 SQL> @?/rdbms/admin/utlrp.sql 美河学习在线 www.eimhe.com 编译成功。 d. 检查升级是否成功,如果所有组件的 status 都是 valid 表示升级成功。 SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY; 美河学习在线 www.eimhe.com e. 检查是否有升级错误 SQL> select * from utl_recomp_errors; f. 修改系统兼容性参数 SQL> alter system set compatible='10.2.0.4.0' scope=spfile; SQL> SHUTDOWN SQL> STARTUP 美河学习在线 www.eimhe.com 升级完成。 七、使用 rlwrap 调用 sqlplus 中历史命令 在 Linux 中运行 SQL*Plus,不能调用历史命令;输错字符后也不能按 Backspace 键或 Del 键删除,虽然可以通过 Ctrl+Backspace 组合键实现删除功能,但是严重影响使 用效率。使用第三方软件 rlwrap 可以实现以上功能。 rlwrap 提供了 readline 的封装(bash 下命令的输入都是通过 readline 这个库来处 理的。也就是说,上下箭头查看历史命令,Ctrl+r 反向查找匹配历史输入,以及 Ctrl+w, Ctrl+a 等等操作都是由 readline 提供的),也就是说 rlwrap 提供一个输入环境,在这 个输入环境下可以使用 readline 的各种功能。如果一个程序在命令行下接受输入,那么用 rlwrap 直接就可以得到像在 bash 下输入那样的效果。 7.1 安装 rlwrap rlwrap 封装了 readline,所以安装 rlwrap 之前需要安装 readline 库。可以通过 yum 方式安装,也可以下载源码包进行安装。官方网站: http://utopia.knoware.nl/~hlub/uck/rlwrap/ I. yum 方式安装 CentOS 系统默认的 yum 软件仓库中没有 rlwrap 这个包,需要通过第三方 yum 源安 装。 a. 安装第三方 yum 源 # rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel- release-6-8.noarch.rpm # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 // 导入 key 默认会在/etc/yum.repos.d/下创建 epel.repo 和 epel-testing.repo 两个配置文件。 b. 安装 rlwrap 和 readline # yum install rlwrap readline readline-devel II. 源码包安装 其他 Linux 发行版如果源里没有 rlwrap 和 readline 的(如 SUSE 企业版默认没有这两 个包),要分别下载这两个源码包编译安装一下。 a. 安装 readline 美河学习在线 www.eimhe.com # wget ftp://ftp.gnu.org/gnu/readline/readline-6.2.tar.gz # tar zxvf readline-6.2.tar.gz # cd readline-6.2/ # ./configure # make # make install b. 安装 rlwrap # wget http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz # tar zxvf rlwrap-0.37.tar.gz # cd rlwrap-0.37/ # ./configure # make # make install 7.2 设置 sqlplus 的系统别名 # vim /home/oracle/.bash_profile 在尾部添加: alias sqlplus='rlwrap sqlplus' alias rman='rlwrap rman' 退出 oracle 用户再重新登录就 OK 了。现在 Linux 下的 sqlplus 用起来就像 cmd 中一样 了。
还剩46页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 8 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

marstome

贡献于2015-11-25

下载需要 8 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf