目前機器上,oracle都是安裝好的,那么我們怎么知道,之前的安裝過程大概是什么樣子呢?
大致安裝oracle集群的內容: 一、准備和配置: 1、網卡 2、ip資源 3、scanip 4、hosts 5、dns配置 6、准備rac節點,配置節點要互通 首先要保證網絡的正常 二、創建用戶(grid和oracle用戶) 1、配置系統內核參數 2、配置這兩個用戶的環境變量 三、配置ASM磁盤 1、fdisk 格式化磁盤 2、oracleasm 3、udev配置磁盤 三、安裝相關依賴軟件包 四、安裝grid(rac) 1、[oracle@shdb02 grid]$su - grid [oracle@shdb02 grid]$cd /orasoft/ora11g/grid [oracle@shdb02 grid]$./runinstaller 2、配置scan 3、配置hosts 4、利用asmca靜默方式或圖形方式配置磁盤組
5、安裝集群管理工具
五、安裝Oracle軟件 1、用DBCA創建數據庫或靜默方式(即命令行下安裝)
查看當前linux的模式,命令 runlevel
[oracle@shdb02 grid]$ runlevel
N 3
直接輸入init + 你想要的模式 即可切換模式。
比如輸入: init 0 就是關機
init 3 就是切換到多用戶-命令行模式
init 5 就是切換到圖形化界面
init 6 就是重啟
1、關於創建用戶
1、oinstall -G dba oracle 什么意思? -g是組,-G是其他組,最后是用戶名-g 表示為用戶指定一個主group -G 表示為用戶指定一個group //這樣oracle既屬於oinstall組也屬於dba組。平時主要是oinstall組發生作用。 //創建一個用戶組oinstall: [root@shdb02 ~]# groupadd oinstall //創建一個用戶組dba: [root@shdb02 ~]# groupadd dba //創建一個用戶主目錄/u01/app/oracle: [root@shdb02 ~]# mkdir -p /u01/app/oracle //創建用戶oracle 到主組oinstall,副組dba,主目錄/u01//oracle: [root@shdb02 ~]# useradd -g oinstall -G dba -d /u01/app/oracle oracle //如果oracle用戶已經存在則: [root@shdb02 ~]# usermod -g oinstall -G dba -d /u01/app/oracle oracle //查看用戶oracle的添加情況 [grid@shdb02 app]$ id oracle uid=1100(oracle) gid=1100(oinstall) groups=1100(oinstall),1101(dba),1102(oper),1201(asmdba) //查看oracle所屬的組: [grid@shdb02 app]$ groups oracle oracle : oinstall dba oper asmdba [grid@shdb02 app]$ ll -l /u01/app/ total 16 drwxr-xr-x 3 root oinstall 4096 May 10 2018 11.2.0 drwxr-xr-x 7 grid oinstall 4096 Apr 3 2020 grid drwxr-xr-x 6 oracle oinstall 4096 Apr 28 2019 oracle drwxrwx--- 5 grid oinstall 4096 May 10 2018 oraInventory 2、Oracle install 為什么需要oinstall ,dba 兩個組,一個是控制軟件安裝,補丁安裝等的;另一個是控制數據庫創建,數據庫管理等的。 你可以將兩個權限都授權給dba組,只創建dba一個組就可以了。角色細化而已,另外oracle還要求redo日志、控制文件分不同盤放,數據安全要求而已 3、如果安裝單實例,創建一個oracle 用戶就可以了 如果是安裝RAC,則需要在創建一個集群的用戶,在安裝grid 4、如果將grid 和 oracle 用同一個用戶來安裝,那么必須改變ORACLE_HOME變量的值。 這里用grid用戶創建磁盤組,管理asm,oracle建庫即可
2、創建用戶及安裝目錄
//建組 /usr/sbin/groupadd -g 1000 oinstall /usr/sbin/groupadd -g 1020 asmadmin /usr/sbin/groupadd -g 1021 asmdba /usr/sbin/groupadd -g 1022 asmoper /usr/sbin/groupadd -g 1031 dba /usr/sbin/groupadd -g 1032 oper //用戶 useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,grid useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle //建目錄 mkdir -p /u01/app/11.2.0/grid mkdir -p /u01/app/grid mkdir /u01/app/oracle //創建所屬組權限
chown -R grid:oinstall /u01 chown oracle:oinstall /u01/app/oracle chmod -R 775 /u01/
3、/etc/group,查看已安裝系統的用戶組情況
[oracle@shdb02 app]$ cat /etc/group oinstall:x:1100:grid asmadmin:x:1200:grid dba:x:1101:oracle,grid oper:x:1102:oracle asmdba:x:1201:grid,oracle asmoper:x:1202:grid
。。。。
4、/etc/passwd,查看已安裝的用戶情況
[oracle@shdb02 app]$ cat /etc/group oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin grid:x:1200:1100::/home/grid:/bin/bash oracle:x:1100:1100::/home/oracle:/bin/bash
。。。。
5、查看/app目錄即已安裝的安裝目錄的一些信息
[root@shdb02 ~]# su - oracle [oracle@shdb02 ~]$ cd /u01/app/ [oracle@shdb02 app]$ ll total 16 drwxr-xr-x 3 root oinstall 4096 May 10 2018 11.2.0 drwxr-xr-x 7 grid oinstall 4096 Apr 3 2020 grid drwxr-xr-x 6 oracle oinstall 4096 Apr 28 2019 oracle drwxrwx--- 5 grid oinstall 4096 May 10 2018 oraInventory
6、 給oracle用戶和grid用戶配置環境變量
1、oracle用戶,配置oracle的環境變量 [root@shdb02 ~]# su - oracle [oracle@shdb02 ~]$ cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=ht2 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss" export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin export ORACLE_TERM=xterm export TNS_ADMIN=$ORACLE_HOME/network/admin export LD_LIBRARY_PATH=$ORACLE_HOME/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=$ORACLE_HOME/JRE export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export THREADS_FLAG=native export TEMP=/tmp export TMPDIR=/tmp export PATH=$PATH:$ORACLE_HOME/bin umask 022 2、grid用戶,配置GRID的環境變量 [root@shb02 ~]# su - grid [grid@shdb02 ~]$ cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH ORACLE_BASE=/u01/app/grid; export ORACLE_BASE ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME ORACLE_SID=+ASM2; export ORACLE_SID TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN PATH=${PATH}:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export CLASSPATH THREADS_FLAG=native; export THREADS_FLAG export TEMP=/tmp export TMPDIR=/tmp export NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"
通過命令查看grid和oracle用戶相關環境變量
//grid用戶 [root@shdb02 app]# su - grid [grid@shdb02 app]$ echo $ORACLE_HOME /u01/app/11.2.0/grid [grid@shdb02 app]$ echo $ORACLE_BASE /u01/app/grid //oracle用戶 [root@shdb02 app]# su - oracle [oracle@shdb02 ~]$ echo $ORACLE_HOME /u01/app/oracle/product/11.2.0/db_1 [oracle@shdb02 ~]$ echo $ORACLE_BASE /u01/app/oracle
oracle的三個安裝包的情況:
/orasoft/ora11g
[root@shdb02 ora11g]# ll
total 3664216
-rwxrwxrwx 1 grid oinstall 1395582860 Dec 26 2015 p13390677_112040_Linux-x86-64_1of7.zip -rwxrwxrwx 1 grid oinstall 1151304589 Dec 26 2015 p13390677_112040_Linux-x86-64_2of7.zip -rwxrwxrwx 1 grid oinstall 1205251894 Dec 26 2015 p13390677_112040_Linux-x86-64_3of7.zip
[root@shdb02 ora11g]# du -sh
3.5G
1、p13390677_112040_Linux-x86-64_1of7.zip解壓,大部分都在這里
[oracle@shdb02 database]$ unzip p13390677_112040_Linux-x86-64_1of7.zip
[oracle@shdb02 database]$ cd database
total 60
drwxr-xr-x 4 oracle oinstall 4096 Aug 27 2013 install
-rw-r--r-- 1 oracle oinstall 30016 Aug 27 2013 readme.html
drwxr-xr-x 2 oracle oinstall 4096 Aug 27 2013 response
drwxr-xr-x 2 oracle oinstall 4096 Aug 27 2013 rpm
-rwxr-xr-x 1 oracle oinstall 3267 Aug 27 2013 runInstaller //安裝文件
drwxr-xr-x 2 oracle oinstall 4096 Aug 27 2013 sshsetup
drwxr-xr-x 14 oracle oinstall 4096 Aug 27 2013 stage
2、p13390677_112040_Linux-x86-64_2of7.zip ,大部分是解壓到stage下的Components
3、p13390677_112040_Linux-x86-64_3of7.zip, 這個里面是grid內容,解壓后會生成單獨一個目錄
drwxr-xr-x 7 oracle oinstall 4096 Aug 27 2013 database
drwxr-xr-x 7 root root 4096 Aug 27 2013 grid
-rwxrwxrwx 1 grid oinstall 1395582860 Dec 26 2015 p13390677_112040_Linux-x86-64_1of7.zip
-rwxrwxrwx 1 grid oinstall 1151304589 Dec 26 2015 p13390677_112040_Linux-x86-64_2of7.zip
-rwxrwxrwx 1 grid oinstall 1205251894 Dec 26 2015 p13390677_112040_Linux-x86-64_3of7.zip
grid內的一些重要內容
/orasoft/ora11g/grid/stage/cvu/cv/remenv/cvuqdisk-1.0.9-1.rpm /orasoft/ora11g/grid/rpm/cvuqdisk-1.0.9-1.rpm
[oracle@sh02 grid]$ ll
total 68
drwxr-xr-x 4 root root 4096 Aug 26 2013 install
-rw-r--r-- 1 root root 30016 Aug 27 2013 readme.html
drwxr-xr-x 2 root root 4096 Aug 26 2013 response
drwxr-xr-x 2 root root 4096 Aug 26 2013 rpm
-rwxr-xr-x 1 root root 4878 Aug 26 2013 runcluvfy.sh
-rwxr-xr-x 1 root root 3268 Aug 26 2013 runInstaller
drwxr-xr-x 2 root root 4096 Aug 26 2013 sshsetup
drwxr-xr-x 14 root root 4096 Aug 26 2013 stage
-rw-r--r-- 1 root root 500 Aug 27 2013 welcome.html
內核配置
[root@shdb02 ora11g]# cat /etc/sysctl.conf
net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 net.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 kernel.shmmax = 4398046511104 kernel.shmall = 1073741824 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 fs.file-max = 6815744 vm.nr_hugepages = 66696
安裝過程猜想
一、實際安裝步驟1,修改配置
[oracle@sh02 ora11g]$ cd database/response/
[oracle@shdb02 response]$ ll
total 80
//安裝應答配置文件
-rw-r--r-- 1 oracle oinstall 25116 Aug 27 2013 db_install.rsp
//創建數據庫應答
-rwxr-xr-x 1 oracle oinstall 44533 Aug 27 2013 dbca.rsp
//建立監聽、本地服務名等網絡設置應答
-rwxr-xr-x 1 oracle oinstall 5871 Aug 27 2013 netca.rsp
修改配置文件db_install.rsp,並安裝
下面把主要修改的地方貼出來,具體詳細文件
oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=shdb02 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/u01/app/oraInventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/u01/app/oracle oracle.install.db.InstallEdition=EE oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=oinstall oracle.install.db.config.starterdb.characterSet=AL32UTF8 oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=/u01/app/oracle/oradata #oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=/u01/app/oracle/recovery_data DECLINE_SECURITY_UPDATES=true //一定要設為true
實際步驟2:初始化安裝
登錄oracle用戶,執行安裝 [oracle@shdb02 database]$ cd /orasoft/ora11g/database [oracle@shdb02 database]$./runInstaller-silent -responseFile
[oracle@shdb02 database]$/orasoft/ora11g/database/response/db_install.rsp //安裝過程中,如果提示[WARNING]不必理會,此時安裝程序仍在進行,如果出現[FATAL],則安裝程序已經停止了。 //打開另一個終端,執行命令 #tail -100 f /u01/app/oracle/oraInventory/logs/installActions......log //可以實時跟蹤查看安裝日志,了解安裝的進度。 //當出現 以下配置腳本需要以 "root" 用戶的身份執行。 #!/bin/sh #要運行的 Root 腳本 /u01/app/oracle/oraInventory/orainstRoot.sh /u01/app/oracle/product/11.2.0/db_1/root.sh 要執行配置腳本, 請執行以下操作: 1. 打開一個終端窗口 2. 以 "root" 身份登錄 3. 運行腳本 4. 返回此窗口並按 "Enter" 鍵繼續 Successfully Setup Software. //出現這個的話,說明已安裝成功,則需要按提示操作,操作完返回Enter成功
實際步驟3,配置監聽
配置監聽配置文件模板/orasoft/ora11g/database/response/netca.rsp 1、/orasoft/ora11g/database //安裝文件放置目錄 2、/u01/app/oracle/product/11.2.0/db_1 //oracle主目錄 [oracle@shdb02 bin]$ /u01/app/oracle/product/11.2.0/db_1/bin/netca -silent -responsefile /orasoft/ora11g/database/response/netca.rsp 正在對命令行參數進行語法分析: 參數"silent" = true 參數"responsefile" = /orasoft/ora11g/database/response/netca.rsp 完成對命令行參數進行語法分析。 Oracle Net Services 配置: 完成概要文件配置。 Oracle Net 監聽程序啟動: 正在運行監聽程序控制:
/u01/app/oracle/product/11.2.0/db_1/bin/lsnrctl start LISTENER 監聽程序控制完成。 監聽程序已成功啟動。 監聽程序配置完成。 成功完成 Oracle Net Services 配置 //成功運行后,在/opt/oracle/11.2.0/network/admin目錄下生成sqlnet.ora和listener.ora兩個文件。 //完成后通過命令“netstat -tlnp”可以查看到1521端口已開 tcp 0 0 :::1521 :::* LISTEN 5477/tnslsnr
4、安裝新庫
修改配置文件 /orasoft/ora11g/database/response/dbca.rsp #靜默建立新庫模板 RESPONSEFILE_VERSION = "11.2.0" //不能更改 OPERATION_TYPE = "createDatabase" GDBNAME = "fp" //全局數據庫的名字=SID+主機域名 SID = "fp1" //對應的實例名字 TEMPLATENAME = "General_Purpose.dbc" //建庫用的模板文件 DATAFILEDESTINATION = /u01/app/oracle/oradata //數據文件存放目錄 RECOVERYAREADESTINATION=/u01/app/oracle/recovery_data //恢復數據存放目錄 CHARACTERSET = "AL32UTF8" //字符集,重要!!! 建庫后一般不能更改,所以建庫前要確定清楚。(ZHS16GBK) TOTALMEMORY = "5120" //oracle內存5120MB 10.配置完之后,執行命令 /u01/app/oracle/product/11.2.0/db_1/dbca -silent -responseFile /orasoft/ora11g/database/response/dbca.rsp1% 已完成 3% 已完成 11% 已完成 18% 已完成 26% 已完成 37% 已完成 正在創建並啟動 Oracle 實例 40% 已完成 45% 已完成 50% 已完成 55% 已完成 56% 已完成 60% 已完成 62% 已完成 正在進行數據庫創建 66% 已完成 70% 已完成 73% 已完成 85% 已完成 96% 已完成 100% 已完成