Linux下Oracle10.2.0.1升級到oracle10.2.0.4詳細操作記錄
提示:#後跟命令表示以root使用者操作,$後跟命令表示以oracle使用者操作。
首先到oracle網站下載安裝包和patch包。 1. 安裝前工作 1.1 刪除歷史資料庫和oracle軟體 確認例項並刪除資料庫: $ dbca 刪除oracle軟體: $ export ORACLE_HOME=/u01/app/oracle/product/1020/db_1 $ $ORACLE_HOME/bin/emctl stop dbconsole $ ps -ef | grep dbconsole | grep -v grep (檢查) $ $ORACLE_HOME/bin/lsnrctl stop $ ps -ef | grep tnslsnr | grep -v grep (檢查) $ $ORACLE_HOME/bin/isqlplusctl stop $ ps -ef | grep isqlplus | grep -v grep (檢查) $ $ORACLE_HOME/bin/searchctl stop $ ps -ef | grep ultrasearch | grep -v grep (檢查) $ $ORACLE_HOME/oui/bin/runInstaller 1.2 安裝前工作-硬體檢查 # xhost + (設定pc客戶端的ip,確保能顯示OUI介面) # cat /proc/meminfo | grep Mem (至少1g記憶體) # cat /proc/meminfo | grep Swap (參考如下) 1-2g記憶體 swap為記憶體的1.5倍 2-8g記憶體 swap大小等同記憶體 8g以上 swap為記憶體的0.75倍 # df -h /tmp (至少400m可用空間) # df -h /u01 (1.5-3.5g的磁碟空間,視安裝型別而異) # grep "model name" /proc/cpuinfo (確保安裝檔案是當前cpu型別的版本,安裝檔案是10201_database_linux32.zip) 1.3 安裝前工作-軟體檢查 # cat /etc/issue (檢視linux版本) # uname -r (檢視核心版本) # rpm -q package_name 對於RHEL5
對於RHEL4,以下packages或更高版本必須安裝:
1.4 安裝前工作-網路檢查 # cat /etc/nsswitch.conf | grep hosts (應包含hosts: files dns) # hostname (OUI需要主機名解析,確保能解析) # domainname (確保無資訊) # cat /etc/hosts | grep `eval hostname` (應有ip和主機名的對應,沒有則新增) $ export ORACLE_HOSTNAME=node1 (對於多網路卡主機,設定ORACLE_HOSTNAME變數,node1是通過hostname命令得到的主機名) 1.5 建作業系統組和使用者 # /usr/sbin/usermod -g oinstall -G dba[,oper] oracle (如果使用者存在需要修改的話,oper組可選) # id nobody (確保nobody使用者存在,是無許可權使用者,oracle安裝後需要用到) # /usr/sbin/useradd nobody (如果不存在就新建) # mkdir -p /u01/app
# groupadd -g 115 dba # groupadd -g 116 oinstall # useradd -u 116 -g 115 -d /u01/app/oracle -s /bin/bash -c "Oracle Software Owner" -p oracle oracle # chown -R oracle:dba /u01 # passwd oracle # su - oracle 1.6 配置核心引數 (oracle推薦參考,如果實際值高於推薦值則無需修改): Parameter Value File semmsl 250 /proc/sys/kernel/sem semmns 32000 /proc/sys/kernel/sem semopm 100 /proc/sys/kernel/sem semmni 128 /proc/sys/kernel/sem shmall 2097152 /proc/sys/kernel/shmall shmmax 1/2 Memory(bytes) /proc/sys/kernel/shmmax shmmni 4096 /proc/sys/kernel/shmmni file-max 65536 /proc/sys/fs/file-max ip_local_port_range Minimum:1024 /proc/sys/net/ipv4/ip_local_port_range Maximum: 65000 rmem_default 1048576 /proc/sys/net/core/rmem_default rmem_max 1048576 /proc/sys/net/core/rmem_max wmem_default 262144 /proc/sys/net/core/wmem_default wmem_max 262144 /proc/sys/net/core/wmem_max # /sbin/sysctl -a | grep sem (顯示訊號引數) # /sbin/sysctl -a | grep shm (顯示共享記憶體) # /sbin/sysctl -a | grep file-max (顯示檔案控制程式碼最大數) # /sbin/sysctl -a | grep ip_local_port_range (顯示顯示埠號範圍) # /sbin/sysctl -a | grep rmem_default # /sbin/sysctl -a | grep rmem_max # /sbin/sysctl -a | grep wmem_default # /sbin/sysctl -a | grep wmem_max 如果要修改以上資訊: # vi /etc/sysctl.conf kernel.shmall = 2097152 kernel.shmmax = 2147483648 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 65536 net.ipv4.ip_local_port_range = 1024 65000 net.core.rmem_default = 1048576 net.core.rmem_max = 1048576 net.core.wmem_default = 262144 net.core.wmem_max = 262144 # /sbin/sysctl -p (修改以後讓引數生效) 為了提升效能增加oracle使用者的shell限制: # vi /etc/security/limits.conf oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 # vi /etc/pam.d/login session required /lib/security/pam_limits.so session required pam_limits.so # vi /etc/profile or /etc/csh.login (65536為最大開啟檔案描述符的數目,16384為單使用者最大可用程式數) if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi # vi /etc/selinux/config (使安全linux標誌失效) SELINUX=disabled 1.7 建立軟體目錄 Oracle Base目錄:/mount_point/app/oracle_sw_owner Oracle Inventory目錄:oracle_base/oraInventory (OUI建立) Oracle Home目錄:oracle_base/product/10.2.0/db_1 (OUI建立) # more /var/opt/oracle/oraInst.loc (確認Oracle Inventory目錄是否存在) # more /etc/oratab (確認Oracle Home目錄是否存在) 如果Oracle Base目錄不存在則建立: # mkdir -p /u01/app/oracle # chown -R oracle:oinstall /u01/app/oracle # chmod -R 775 /u01/app/oracle 確認資料庫和恢復檔案的儲存: 檔案系統(RAID或LV且做了stripe-and-mirror-everything即SAME)、ASM、裸裝置(不支援存放恢復目錄),推薦ASM但本例使用檔案系統。 如果使用檔案系統,資料庫檔案和恢復檔案最好存放到不同的物理磁碟上; 建立資料庫檔案目錄: # mkdir /u01/oradata # chown oracle:oinstall /u01/oradata # chmod 775 /u01/oradata 建立恢復檔案目錄(快閃記憶體區): # mkdir /orahome/flash_recovery_area # chown oracle:oinstall /orahome/flash_recovery_area # chmod 775 /orahome/flash_recovery_area 1.8 配置oracle使用者環境 設定oracle使用者環境變數: $ vi .bash_profile TMP=/tmp; export TMP TMPDIR=$TMP; export TMPDIR ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME ORACLE_SID=ORCL; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"; export NLS_LANG umask 022 ##以下這段如果在/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 $ . .bash_profile 驗證環境變數設定: $ umask $ env | more 2 安裝過程 2.1 安裝unzip軟體並解壓oracle壓縮檔案 # uncompress unzip_lnx.Z 或者 gzip -d unzip_lnx.Z # mv unzip_lnx /usr/local/bin/ # chmod 751 unzip_lnx # su - oracle $ cd /orahome/wangnc (進入軟體存放目錄) $ unzip_lnx 10201_database_linux32.zip (解壓) 2.2 開始安裝 $ cd database $ DISPLAY=192.168.41.42:0.0; export DISPLAY (192.168.41.42是使用如xmanager之類模擬終端的PC客戶端的ip) $ ./runInstaller (安裝原則是:有高階或定製選項就點選進去自己設定,這樣加深對資料設定的理解) oracle記憶體:伺服器實體記憶體的50% oracle程式數:500 連線模式:共享伺服器模式 其它設定:預設 按照提示用root使用者執行$ORACLE_HOME/root.sh指令碼。 2.3 安裝後記住 幾個J2EE應用配置(node1是主機名): iSQL*Plus URL: http://node1:5560/isqlplus iSQL*Plus DBA URL: http://node1:5560/isqlplus/dba Enterprise Manager 10g Database Control URL: http://node1:1158/em 其中它們的埠資訊記錄在: $ more $ORACLE_HOME/install/portlist.ini 3 安裝後工作 3.1 打patches 到metalink上找該版本的patches並安裝。 後續介紹直接升級為10.2.0.4步驟,補丁一次性打齊。 3.2 其它工作(可以忽略) 備份root.sh: $ cd $ORACLE_HOME $ cp root.sh root.sh.enc 編譯失效物件: $ sqlplus "/as sysdba" SQL> @?/rdbms/admin/utlrp.sql 生成客戶端靜態庫libclntst10.a備用: $ $ORACLE_HOME/bin/genclntst 設定oracle啟動標誌為Y,這樣oracle自帶的dbstart和dbshut才能夠發揮作用: $ vi /etc/oratab orcl:/u01/app/oracle/product/10.2.0/db_1:Y 然後通過dbstart/dbshut啟停資料庫: $ dbstart (位於$ORACLE_HOME/bin下,日誌位於$ORACLE_HOME/startup.log) $ dbshut (位於$ORACLE_HOME/bin下,日誌位於$ORACLE_HOME/shutdown.log) 建議修改一下dbstart指令碼: $ vi dbstart (因為該指令碼預設監聽目錄不是oracle_home,所以沒法自動啟動監聽) ORACLE_HOME_LISTNER=$ORACLE_HOME (日誌位於$ORACLE_HOME/listener.log) 安裝Companion CD裡其它oracle產品: $ unzip_lnx 10201_companion_linux32.zip $ cd companion $ ./runInstaller 注意:HTML DB沒法安裝,不知道這個伴侶盤是咋做的,安裝了Oracle Database 10g Product 10.2.0.1。 Ultra Search URL: http://node1:5620/ultrasearch Ultra Search 管理工具 URL: http://node1:5620/ultrasearch/admin 4. 資料庫基本操作 用瀏覽器登陸企業管理器 http://IP:1158/em/ sys/oracle sysdba 登陸isqlplus http://172.16.1.171:5560/isqlplus system/oracle 登陸isqlplus dba:http://172.16.1.171:5560/isqlplus/dba 會提示登入框,注意這裡不是資料庫使用者,而是isqlplus應用伺服器要求的使用者和密碼。要以DBA身份登陸isqlplus,必須先配置好oc4j使用者。 oc4j可以使用兩種身份認證方式: 基於xml配置檔案(jazn-data.xml) 基於LDAP(Oracle Internet Directory) 本文只涉及第一種方式,也就是採用xml配置檔案認證的方式,該配置檔案位於$ORACLE_HOME/oc4j/j2ee/isqlplus /application-deployments/isqlplus/config。但是該配置檔案中的密碼是加密過的,所以我們不能手動修改該檔案,而是通過JAZN(Java AuthoriZatioN)來配置。JAZN是oracle提供的一個JASS(Java Authentication and Authorization Service)工具。 1).進入到目錄 $ cd $ORACLE_HOME/oc4j/j2ee/isqlplus/application-deployments/isqlplus/ 2).執行以下命令(telnet視窗裡,使用者名稱admin,密碼welcome): $ $ORACLE_HOME/jdk/bin/java -Djava.security.properties=$ORACLE_HOME/sqlplus/admin/iplus/provider -jar $ORACLE_HOME/oc4j/j2ee/home/jazn.jar -shell RealmLoginModule username: admin RealmLoginModule password:******** JAZN:> 3).新建使用者並授予isqlplus DBA的許可權 JAZN:> adduser "iSQL*Plus DBA" wangnc iamwangnc JAZN:> grantrole webDba "iSQL*Plus DBA" wangnc 4).其它可選操作 列出使用者: JAZN:> listusers iSQL*Plus DBA/admin iSQL*Plus DBA/wangnc 刪除使用者: JAZN:> remuser "iSQL*Plus DBA" wangnc 修改使用者密碼: JAZN:> setpasswd "iSQL*Plus DBA" wangnc iamwangnc newpasswd 撤銷使用者登陸isqlplus DBA的許可權 JAZN:> revokerole webDba "iSQL*Plus DBA" wangnc 5).退出JAZN命令環境 JAZN:> exit isqlplus服務在10gR2中無需重啟,再進入網址 http://ip:port/isqlplus/dba,在彈出的對話方塊中輸入wangnc和iamwangnc,就可以進入到資料庫登陸介面了,此時可以用資料庫使用者sys或system以sysdba或sysoper身份登陸了。而且以後也不會彈出那個isqlplus應用伺服器的使用者和密碼提示框了。 其實進去後發現和isqlplus普通介面差不多,另外又有個EM可以搞定DBA工作,不知道搞個isqlplus dba有什麼用,還不如直接sqlplus登陸管理呢。 5. 安裝10gR2(10.2.0.4) Patch Set 3 5.1 更新時區定義 如果當前資料物件裡含有TIMESTAMP WITH LOCAL TIME ZONE (TSLTZ) and TIMESTAMP WITH TIME ZONE (TSTZ)這兩種資料型別和TZ_OFFSET函式,則需要打此patch、 SQL> SELECT version FROM v$timezone_file; 只要結果不等於4即需要升級。 see OracleMetalink document 553812.1 "Actions for the DSTv4 update in the Release 10.2.0.4 patchset". 5.2 停止相關程式 $ emctl stop dbconsole $ isqlplusctl stop $ lsnrctl stop $ sqlplus '/as sysdba' SQL> shutdown immediate 5.3 備份資料庫(推薦) 5.4 開始打軟體的patch $ xhost + $ cd /u01
$ unzip_lnx p6810189_10204_Linux-x86.zip (解壓補丁包) $ cd Disk1/ $ ./runInstaller 如果ORACLE_HOME和ORACLE_SID設定沒問題,預設安裝即可。期間會要求以root身份執行$ORACLE_HOME/root.sh指令碼。 5.5 執行dbua升級oracle資料庫(xmanager模擬終端裡) $ lsnrctl start $ dbua (時間較長) 期間選擇備份資料庫,並可以修改flash_recovery_area的位置和大小。 5.6 其它升級後工作 如果用到了rman catalog,那麼得升級catalog: $ rman catalog username/password@alias RMAN> UPGRADE CATALOG; 執行changePerm.sh放寬新建目錄和檔案的許可權,使其它客戶端能訪問: $ cd $ORACLE_HOME/install $ ./changePerm.sh 5.7 最後驗證你的升級成果,是不是都是10.2.0.4了!
SQL> select comp_name, version, status from sys.dba_registry; |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8554499/viewspace-598176/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CentOS6.9下升級預設的OpenSSH操作記錄(升級到OpenSSH_7.6p1)CentOS
- CentOS 6下gcc升級的操作記錄(由預設的4.4.7升級到6.4.0版本)CentOSGC
- mysql之行(記錄)的詳細操作MySql
- Linux 目錄結構及詳細操作Linux
- 從10.2.0.1升級到10.2.0.5操作實驗(下)
- # Laravel 5.5 升級到 6.0 踩坑記錄Laravel
- linux操作記錄Linux
- windows10怎樣升級到10586_windows10電腦升級到10586詳細步驟Windows
- kali linux升級記Linux
- Laravel 5.5.* 升級到 5.7.* 問題記錄Laravel
- linux常用操作記錄Linux
- VMware下安裝centos7--詳細記錄CentOS
- Oracle從10g升級到11g詳細步驟Oracle
- 記錄從Winserver2012R2升級到Winserver2019Server
- Linux下使用script命令記錄終端操作顯示Linux
- Ctyun系統升級OpenSSH 9.3詳細教程
- 詳細瞭解 synchronized 鎖升級過程synchronized
- Linux 檔案屬性及詳細操作Linux
- linux系統下解除yozooffice2016提示升級正式版操作Linux
- vue-cli3.0 升級記錄Vue
- collection v1.3.1升級記錄
- docker Linux 各種操作記錄DockerLinux
- linux伺服器PHP升級到7Linux伺服器PHP
- Linux 核心準備升級到 Rust 1.77LinuxRust
- Linux環境下如何升級openssl?Linux
- macos11正式版升級詳細教程Mac
- 升級 PHP7 過程記錄PHP
- collection v1.3.1升級全記錄
- 使用DBUA升級 Oracle 11.2.0.4到Oracle 19C的問題記錄Oracle
- 【Calculate】Calculate Linux安裝操作記錄Linux
- Mac 下 Homestead 3.0.0 升級到 Homestead 6.3.0Mac
- Azkaban詳細操作
- confluence 4.2 升級至 6.10.x 記錄
- babel 升級 7.X 踩坑記錄Babel
- 詳細理解Linux虛擬記憶體Linux記憶體
- 技術分享 | tidb 2.1升級到4.0操作文件TiDB
- 記錄一次線上gitlab11.x升級gitlab14.x版本操作Gitlab
- OpenSSH升級(從OpenSSH_7.4p1升級到OpenSSH_8.4p1) [操作指令碼]指令碼
- Linux升級GCCLinuxGC