轉載自:http://www.cnblogs.com/andy6/p/7571359.html
一、 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