oracle 之 安装10.2.0.1 且 升级到 10.2.0.4
一、 centos 6.5 安装 oracle 10.2.0.1
1.安装操作系统,选择桌面环境
2.配置本地yum源 , 可参考 http://blog.csdn.net/zhang123456456/article/details/56690945
3.补包
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
# yum install libXp
# yum -y install libXp.i686
# yum -y install libXt.i686
# yum -y install libXtst.i686
4. 修改 sysctl.conf 配置文件:
# vim /etc/sysctl.conf
在文件末尾添加一下内容:
#use for Oracle
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 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
5. 修改 limits.conf 配置文件. 此文件用于设置系统资源限制.
# vi /etc/security/limits.conf
在文件末尾加上以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
6. 编辑 /etc/pam.d/login 文件:
# vi /etc/pam.d/login
在文件末尾加上以下内容:
session required /lib/security/pam_limits.so
session required pam_limits.so
7. 创建相应的用户名和用户组:
#
groupadd -g 60001 oinstall
groupadd -g 60002 dba
useradd -g oinstall -G dba oracle
修改密码:
# passwd oracle
8. 修改 /etc/profile 限制其他用户使用:
# vim /etc/profile
在文件末尾加入以下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
注意: 如果文件是不能修改的. 保存时输入 :wq! 强制保存.
9. 修改Linux 发行版本. 因为Oracle10G发行的时候, Centos6.5还没有发行. 所以必须修改:
# vim /etc/redhat-release
删除文件本身内容, 重新录入以下内容:
CentOS release 4 (Final)
10. 创建oralce安装目录以及数据存放目录.
#
mkdir -p /u01/app/oracle/
chown -R oracle:oinstall /u01/app/oracle/
chmod -R 775 /u01/app/oracle/
-- 以后的配置都用oracle用户执行
11. 配置Oracle用户环境变量:
$ vi ~/.bash_profile
在文件末尾加入以下内容:
#Oracle Settings
export TMP=/tmp;
export TMPDIR=$TMP;
export ORACLE_BASE=/u01/app/oracle;
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
export ORACLE_SID=orcl;
export ORACLE_TERM=xterm;
export PATH=/usr/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH;
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
12. 使配置生效:
$ source /home/oracle/.bash_profile
13. 上传安装文件:
[root@oralce10g u01]# mv 10201_database_linux_x86_64.cpio.gz /u01/app/oracle/
14. 解压安装包:
首先解压gz包.
$ gzip -d 10201_database_linux_x86_64.cpio.gz
在使用cpio解压出文件.
$ cpio -idmv < 10201_database_linux_x86_64.cpio
15. 执行安装:
$ cd /u01/app/oracle/database/
$ ./runInstaller
-- 报错 , 安装到84%的时候会出现这个错误. 据了解是安装程序的一个BUG. 直接选Continue(继续安装)
--root , 跑两个脚本
最后点击exit, 退出 10.2.0.1 软件安装。
二、 oracle 10.2.0.1 升级到 oracle 10.2.0.4 (只安装了软件,升级之时,没有建库)
[oracle@oralce10g ora_psu]$ pwd
/tmp/ora_psu
[oracle@oralce10g ora_psu]$ ll
total 1167536
-rw-r--r--. 1 oracle oinstall 1195551830 Sep 22 03:15 p6810189_10204_Linux-x86-64.zip
[oracle@oralce10g ora_psu]$ unzip p6810189_10204_Linux-x86-64.zip
[oracle@oralce10g ora_psu]$ ls
Disk1 p6810189_10204_Linux-x86-64.zip README.html
[oracle@oralce10g ora_psu]$ cd Disk1/
[oracle@oralce10g Disk1]$ ls
10204_buglist.htm install patch_note.htm response runInstaller stage
[oracle@oralce10g Disk1]$ ./runInstaller
一路点击 next ,注意 指定Oracle Home 目录详细时,依然指定为旧路径 。 如:原 ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 ,则升级时依然指定为它。
-- root 用户,跑一个脚本
-- 脚本跑完之后,最后,点击exit ,退出
至此, 0racle 10.2.0.1 升级到 oracle 10.2.0.4 完毕 。
补充: 升级之时,已经建库。 (与上面的区别就是要停库、跑数据字典)
1.关闭需要升级的实例
停止实例
SQL> shutdown immediate
停止与该实例相关的所有后台进程
lsnrctl emctl
2.备份Oracle Home 目录及数据库
tar -cvf $ORACLE_BASE /orabak/ --确保Oracle相关的所有配置都位于$ORACLE_BASE目录,如监听等
cp *.dbf con*.ora redo*.log /orabak/ --对数据库实施冷备
3.升级软件
./runIstanller -->oracle 账户
root.sh -->root 账户
4.更新数据字典
SQL> startup upgrade
SQL> spool patch.log
SQL> @?/rdbms/admin/catupgrd.sql --注9i 使用catpatch.sql
SQL> spool off
5.重编译失效对象:
sql>shutdown immediate
sql>startup
SQL>@?/rdbms/admin/utlrp.sql
6.升级后的检测
SQL>select comp_name,version,status from sys.dba_registry;
检查组件的升级情况
SQL>select * from utl_recomp_errors;
7.修改兼容性参数
SQL> alter system set compatible='10.2.0.4.0' scope=spfile;
8.重新启动数据库:
SQL> SHUTDOWN
SQL> STARTUP
9.如果使用了恢复目录,则执行下面的命令
$ rman catalog username/password@alias
RMAN> UPGRADE CATALOG;
10.升级回退:
SQL> STARTUP DOWNGRADE
SQL> SPOOL downgrade.log
SQL> @catdwgrd.sql(10.2.10运行的是这个,而10.1降级用的是d92000.sql,即dold_release.sql)
Sql>spool off
Sql>shutdown immediate
12.检查升级后的情况
SQL> select comp_name,version,status from sys.dba_registry;
三、 DBCA 建库
-- 点击 finish
-- 点击 exit , 完成建库。
-- 验证一切操作是否成功!
[oracle@oralce10g Disk1]$ ps -ef|grep ora_mmon
oracle 5795 1 0 04:50 ? 00:00:00 ora_mmon_orcl
oracle 10458 51002 0 05:07 pts/3 00:00:00 grep ora_mmon
[oracle@oralce10g Disk1]$
[oracle@oralce10g Disk1]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Fri Sep 22 05:08:56 2017
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select count(*) from dba_objects where status<>'VALID';
COUNT(*)
----------
0