oracle 之 安裝10.2.0.1 且 升級到 10.2.0.4

張衝andy發表於2017-09-21

一、 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

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2145301/,如需轉載,請註明出處,否則將追究法律責任。

相關文章