目錄css
1.安裝環境node
2.系統要求linux
2.檢查所需軟件包sql
3.配置host和主機名shell
1.建立相關用戶和組bash
2.建立數據庫軟件目錄和數據文件存放目錄session
Linux版本:
[oracle@yscsbfdb ~]$ uname -a
Linux yscsbfdb 4.1.12-61.1.28.el6uek.x86_64 #2 SMP Thu Feb 23 20:03:53 PST 2017 x86_64 x86_64 x86_64 GNU/Linux
[oracle@yscsbfdb ~]$ cat /proc/version
Linux version 4.1.12-61.1.28.el6uek.x86_64 (mockbuild@x86-ol6-builder-06) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #2 SMP Thu Feb 23 20:03:53 PST 2017
[oracle@yscsbfdb ~]$ cat /etc/issue
Oracle Linux Server release 6.9
Kernel \r on an \m
[oracle@yscsbfdb ~]$ lsb_release -a
LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: OracleServer
Description: Oracle Linux Server release 6.9
Release: 6.9
Codename: n/a
Oracle版本:Oracle 11.2.0.4.0
[root@yscsbfdb ~]# free -h
total used free shared buffers cached Mem: 251G 32G 219G 17G 337M 29G -/+ buffers/cache: 2.2G 249G Swap: 16G 0B 16G |
[root@yscsbfdb ~]# df -h
Filesystem Size Used Avail Use% Mounted on /dev/mapper/hbsw-hbsw 34G 24G 8.6G 73% / tmpfs 126G 18G 109G 15% /dev/shm /dev/sda1 477M 84M 364M 19% /boot /dev/mapper/hbsw-tmp 16G 50M 15G 1% /tmp /dev/mapper/hbsw-u01 197G 8.2G 179G 5% /u01 /dev/mapper/hbsw-goldengate 477G 70M 452G 1% /goldengate |
(這一步驟也能夠放到後面安裝oracle中安裝環境檢查的步驟中去作,以便更準確的肯定缺乏的軟件包)
檢查以下rpm包並安裝:
[root@yscsbfdb ~]#rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' binutils \
輸入下邊的東西
compat-libstdc++-33 \
elfutils-libelf \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc \
glibc-common \
glibc-devel \
glibc-headers \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ \
libstdc++-devel \
make \
sysstat \
unixODBC \
unixODBC-devel
系統會顯示哪些包安裝了,哪些沒有安裝。若是有的包沒有安裝,必須安裝。
#rpm -ivh package-name-major-version*
[root@yscsbfdb ~]#vi /etc/hosts
127.0.0.1 yscsbfdb ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.100 yscsbfdb |
[root@yscsbfdb ~]#vi /etc/sysconfig/network
NETWORKING=yes HOSTNAME=yscsbfdb |
/usr/sbin/groupadd -g 501 oinstall /usr/sbin/groupadd -g 502 dba /usr/sbin/groupadd -g 504 asmadmin /usr/sbin/groupadd -g 506 asmdba /usr/sbin/groupadd -g 507 asmoper /usr/sbin/groupadd -g 508 oper /usr/sbin/useradd -g oinstall -G dba,asmdba,asmoper oracle /usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper grid |
mkdir -p /oracle/app/oraInventory mkdir -p /u01/app/oracle mkdir /u01/app/oracle/cfgtoollogs chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01/app/oracle mkdir -p /u01/app/oraInventory chown -R grid:oinstall /u01/app/oraInventory chmod -R 775 /u01/app/oraInventory mkdir -p /u01/11.2.0/grid chown -R grid:oinstall /u01/11.2.0/grid chmod -R 775 /u01/11.2.0 mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1 chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/dbhome_1 chmod -R 775 /u01/app/oracle/product/11.2.0/dbhome_1 |
[oracle@yscsbfdb ~]$ pwd
/home/oracle
[oracle@yscsbfdb ~]$ vi .bash_profile
export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 export ORACLE_SID=yscsbfjx 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 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 umask 022 |
[oracle@localhost ~]$ source .bash_profile --使環境變量生效
[grid@yscsbfdb ~]$ pwd
/home/grid
[grid@yscsbfdb ~]$ vi .bash_profile
export ORACLE_BASE=/u01/app/grid export ORACLE_HOME=/u01/11.2.0/grid export PATH=/usr/sbin:$PATH export PATH=$ORACLE_HOME/bin:$PATH export TMP=/tmp export TMPDIR=$TMP export ORACLE_SID=+ASM export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib umask 022 |
[grid@localhost ~]$ source .bash_profile --使環境變量生效
修改/etc/security/limits.conf文件,Oracle 要求的用戶進程數必須大於2047(默認是1047)
[root@yscsbfdb ~]# vi /etc/security/limits.conf
grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
[root@yscsbfdb ~]# vi /etc/pam.d/login
session required /lib/security/pam_limits.so |
[root@yscsbfdb ~]# vi /etc/sysctl.conf (這裏若是設置的不合適,在安裝oracle的時候,最後檢測會有腳本修復)
# Controls the maximum shared segment size, in bytes kernel.shmmax = 68719476736 # Controls the maximum number of shared memory segments, in pages kernel.shmall = 4294967296 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 fs.file-max = 6815744 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.wmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_max = 1048576 fs.aio-max-nr = 1048576 |
要使 /etc/sysctl.conf 更改當即生效,執行如下命令。 輸入:sysctl -p
[root@yscsbfdb ~]# vi /etc/profile (Root用戶操做。注意在 = 號兩邊有空格,若是沒有可能出錯)
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi |
[root@yscsbfdb grid]# rpm -qa | grep asm
這三個包得裝上,安裝過程不贅述。
oracleasm-2.6.18-194.el5-2.0.5-1.el5.x86_64 libatasmart-0.17-4.el6_2.x86_64 objectweb-asm-3.2-2.1.el6.noarch oracleasmlib-2.0.4-1.el6.x86_64 kdeplasma-addons-libs-4.3.4-5.el6.x86_64 oracleasm-support-2.1.8-1.el6.x86_64 kdeplasma-addons-4.3.4-5.el6.x86_64 |
在配置asm以前,必須運行配置腳本準備驅動程序。
[root@yscsbfdb grid]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver. This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting <ENTER> without typing an answer will keep that current value. Ctrl-C will abort. Default user to own the driver interface []: grid Default group to own the driver interface []: asmadmin Start Oracle ASM library driver on boot (y/n) [n]: y Scan for Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: done Initializing the Oracle ASMLib driver: [ OK ] Scanning the system for Oracle ASMLib disks: [ OK ] |
[root@yscsbfdb grid]# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration: done Initializing the Oracle ASMLib driver: [ OK ] Scanning the system for Oracle ASMLib disks: [ OK ] |
在配置asm硬盤前,先使用fdisk /dev/sd?命令格式化硬盤(本次使用了sdc、sdd、sde、sdf)
[root@yscsbfdb dev]# fdisk /dev/sdc
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0xecfd8d30. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-200512, default 1): 1 Last cylinder, +cylinders or +size{K,M,G} (1-200512, default 200512): 200512 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. |
建立asm硬盤
/usr/sbin/oracleasm createdisk DATA01 /dev/sdc1 /usr/sbin/oracleasm createdisk DATA02 /dev/sdd1 /usr/sbin/oracleasm createdisk DATA03 /dev/sde1 /usr/sbin/oracleasm createdisk RECAREA01 /dev/sdf1 |
檢查ASM磁盤是否建立
[root@yscsbfdb dev]# ls -l /dev/oracleasm/disks/
total 0 brw-rw----. 1 grid asmadmin 8, 33 Oct 23 15:17 DATA01 brw-rw----. 1 grid asmadmin 8, 49 Oct 23 15:17 DATA02 brw-rw----. 1 grid asmadmin 8, 65 Oct 23 15:17 DATA03 brw-rw----. 1 grid asmadmin 8, 81 Oct 23 15:17 RECAREA01 |
修改磁盤權限
chown grid:asmadmin /dev/sdc1 chown grid:asmadmin /dev/sdd1 chown grid:asmadmin /dev/sde1 chown grid:asmadmin /dev/sdf1 |
使用命令掃描、列出
/usr/sbin/oracleasm scandisks /usr/sbin/oracleasm listdisks |
Grid安裝須要使用圖形界面,本次使用xmanager軟件,設DISPLAY環境變量,使圖形界面遠程傳輸到本地。
[grid@yscsbfdb grid]$ export DISPLAY=192.168.1.99(本地ip):0.0
使用grid用戶解壓grid安裝包,造成grid目錄,進入grid目錄,執行./runInstaller,進行安裝
[grid@yscsbfdb grid]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 15114 MB Passed
Checking swap space: must be greater than 150 MB. Actual 16999 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-10-23_03-27-03PM. Please wait ...[grid@yscsbfdb grid]$
1>不更新
2>只安裝asm,不安裝grid
3>選擇語言
4>此處沒有帶出asm能識別的磁盤,是由於目錄不對,點擊Change Discovery Path,輸入/dev/oracleasm/disk/*便可找到已經分配的asm磁盤。
5>下邊就沒圖了。從網上拿來的圖
6>設置密碼
7>用戶組
8>檢查環境是否經過
[grid@yscsbfdb grid]$ asmca
點擊Create,便可添加新的磁盤組,按照上邊配置asm磁盤的方式,增長asm磁盤,這裏就可以選到,創建新組。
oracle安裝須要使用圖形界面,本次使用xmanager軟件,設DISPLAY環境變量,使圖形界面遠程傳輸到本地。
[grid@yscsbfdb grid]$ export DISPLAY=192.168.1.99:0.0
使用oracle用戶解壓grid安裝包,造成oracle目錄,進入database目錄,執行./runInstaller,進行安裝
[oracle@yscsbfdb grid]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 15114 MB Passed
Checking swap space: must be greater than 150 MB. Actual 16999 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2018-10-23_04-05-23PM. Please wait ...[oracle@yscsbfdb database]$
1> 不勾選
2> 不更新
3> 只安裝軟件,一下子使用dbca命令建實例
4> 單節點數據庫
5> 選擇語言
6> 選擇企業版
7> 選擇目錄,這都是以前設置好的
8> 組
9> 系統在檢查
這裏的圖是我已經裝完後的,正常來講這裏會顯示沒有經過的項。若是有rpm包沒有,咱們能夠使用rpm -ivh xxx.rpm --nodeps -- force (其中加上--nodeps -- force 表明強制安裝,是在直接使用rpm –ivh xxx.rpm安裝不成功的狀況下用的)若是此處有參數沒有設置正確,oracle會給出修復腳本,使用root用戶執行,會自動設置2.2.6中的/etc/sysctl.conf文件
安裝完成後,系統會提示須要用root權限執行2個shell腳本。執行便可
使用oracle用戶,執行命令dbca,建實例。
不安裝OEM
輸入統一密碼(也能夠分別設置其密碼)
數據庫存放位置,這裏使用ASM管理
這裏能夠設置redo和control
開啓閃回和歸檔
不安裝示例數據
內存分配,選擇oracle本身管理
選擇Character Sets選項卡,設置數據庫字符集,AL32UTF8
點擊next,會顯示剛纔對數據庫選的配置項,點擊OK,會彈出建立數據庫的界面
通過漫長的等待,當看到此界面,說明oracle建庫完成(別人的圖)
最後這個能夠改密碼或者不改。
[grid@ogg1 ~]$ crsctl check css
[grid@ogg1 ~]$ ps -ef|grep cssd
[grid@ogg1 ~]$ crsctl check has
[grid@ogg1 ~]$ ps -ef|grep d.bin
發現HAS服務啓動了,而ora.cssd和ora.diskmon這2個服務是依賴於HAS維護的.
[grid@ogg1 ~]$ crs_stat -t
[grid@ogg1 ~]$ crsctl status resource -t
[grid@ogg1 ~]$ crs_stat -p ora.cssd
。。。。。
AUTO_START=never
。。。。。
[grid@ogg1 ~]$ crs_stat -p ora.diskmon
。。。。。。
AUTO_START=never
。。。。。。
能夠看到這兩個資源的AUTO_START屬性默認都設置爲never,
也就是說他們不會隨着HAS服務的啓動而自動啓動的,儘管默認狀況下HAS服務是開機自動啓動的.
[grid@ogg1 ~]$ crsctl start resource ora.cssd
注:ora.cssd和ora.diskmon這兩個服務是有依賴關係的,啓動哪一個都會把兩個都起來.
1)默認狀況下HAS(High Availability Service)是自動啓動的.
經過以下命令能夠取消和啓用自動啓動
取消自啓動:crsctl disable has
啓用自啓動:crsctl enable has
2)HAS手動啓動和中止
crsctl start has
crsctl stop has
3)查看HAS的狀態
crsctl check has
4)若是想讓ora.css和ora.diskmon服務隨着HAS的啓動而自動啓動,能夠這兩個服務的AUTO_START屬性
crsctl modify resource "ora.cssd" -attr "AUTO_START=1"
or
crsctl modify resource "ora.diskmon" -attr "AUTO_START=1"
5)若是想取消ora.css和ora.diskmon的Auto start
crsctl modify resource "ora.cssd" -attr "AUTO_START=never"
crsctl modify resource "ora.diskmon" -attr "AUTO_START=never"
二 啓動ASM實例
[grid@ogg1 ~]$ sqlplus / as sysasm
SQL> startup
SQL> col instance_name for a15
SQL> col status for a15
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
--------------- ---------------
+ASM STARTED
三 啓動數據庫
[oracle@ogg1 ~]$ sqlplus / as sysdba
SQL> startup
SQL> col instance_name for a15
SQL> col status for a15
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
--------------- ---------------
prod1 OPEN
一 關閉應該先關閉數據庫,在關閉ASM
若是順序反了會報錯
例如:
[root@ogg1 ~]# su - grid
[grid@ogg1 ~]$ sqlplus / as sysasm
SQL> shutdown immediate
ORA-15097: cannot SHUTDOWN ASM instance with connected client (process 7322)
正確的順序是:
一 關閉數據庫
[oracle@ogg1 ~]$ sqlplus / as sysdba
SQL> shutdown immediate
二 關閉ASM
[root@ogg1 ~]# su - grid
[grid@ogg1 ~]$ sqlplus / as sysasm
SQL> shutdown immediate
ASM diskgroups dismounted
ASM instance shutdown