天天看點

Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句

目錄

  • Oracle安裝包
  • Oracle官方文檔
    • Blog
  • Oracle Grid Installation Process
    • 使用者、組、目錄
    • Oracleasm 建立 ASM 磁盤
  • Database Software Installation Process
  • dbca建庫語句

Oracle安裝包

  • Oracle Enterprise Edition
登陸Oracle賬戶(無須服務号)方可下載下傳。

Oracle官方文檔

  • Typical Installation for Oracle Grid Infrastructure for a Cluster
  • Advanced Installation Oracle Grid Infrastructure for a Cluster Preinstallation Tasks
  • Getting Oracle ASMLib via the Unbreakable Linux Network
  • Oracle ASMLib
  • Oracle ASMLib Downloads for Red Hat Enterprise Linux 7

Blog

  • Oracle安裝與作業系統使用者組
  • Oracle 11gR2 RAC ohasd failed to start 解決方法

Oracle Grid Installation Process

使用者、組、目錄

# groupadd -r -g 500 oinstall
# groupadd -r -g 501 dba
# groupadd -r -g 502 asmadmin
# groupadd -r -g 503 asmdba
# useradd -r -u 500 -g oinstall -G dba,asmadmin,asmdba -m -d /home/oracle oracle
# useradd -r -u 501 -g oinstall -G dba,asmadmin,asmdba -m -d /home/grid grid

# mkdir -p  /u01/app/oraInventory
# mkdir -p  /u01/app/grid
# mkdir -p  /u01/app/11.2.0/grid
# mkdir -p  /u01/app/oracle

# chown -R grid:oinstall /u01
# chown grid:oinstall /u01/app/oraInventory
# chown grid:oinstall /u01/app/grid
# chown grid:oinstall /u01/app/11.2.0/grid
# chown oracle:oinstall /u01/app/oracle

# chmod -R 775 /u01/
# chmod -R 775 /u01/app/oraInventory
# chmod -R 775 /u01/app/grid 
# chmod -R 775 /u01/app/11.2.0
# chmod -R 775 /u01/app/oracle
           
[[email protected] ~]# cat /etc/group
root:x:0:
......
jn:x:1000:
oinstall:x:500:
dba:x:501:oracle,grid
asmadmin:x:502:oracle,grid
asmdba:x:503:oracle,grid

[[email protected] ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
......
jn:x:1000:1000:jn:/home/jn:/bin/bash
oracle:x:500:500::/home/oracle:/bin/bash
grid:x:501:500::/home/grid:/bin/bash
[[email protected] ~]#
           

Oracleasm 建立 ASM 磁盤

[[email protected] ~]# yum list installed | grep oracle
kmod-oracleasm.x86_64                     2.0.8-21.el7             @rhel750DVD  
oracleasm-support.x86_64                  2.1.11-2.el7             installed    
oracleasmlib.x86_64                       2.0.12-1.el7             installed    


[[email protected] ~]# fdisk /dev/sd
/dev/sda  /dev/sdb  /dev/sdc

[[email protected] ~]# fdisk -l | grep dev | grep -v mapper
Disk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    83886079    40893440   8e  Linux LVM
Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
Disk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors

[[email protected] ~]# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x9c36ed90.

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 6G
Value out of range.
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +5G
Partition 1 of type Linux and of size 5 GiB is set

Command (m for help): n
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): p
Partition number (2-4, default 2): 
First sector (10487808-41943039, default 10487808): 
Using default value 10487808
Last sector, +sectors or +size{K,M,G} (10487808-41943039, default 41943039): +5G
Partition 2 of type Linux and of size 5 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

[[email protected] ~]# /sbin/partprobe 

[[email protected] ~]# lsblk 
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   40G  0 disk 
├─sda1          8:1    0    1G  0 part /boot
└─sda2          8:2    0   39G  0 part 
  ├─rhel-root 253:0    0   37G  0 lvm  /
  └─rhel-swap 253:1    0    2G  0 lvm  [SWAP]
sdb             8:16   0   20G  0 disk 
├─sdb1          8:17   0    5G  0 part 
└─sdb2          8:18   0    5G  0 part 
sdc             8:32   0   20G  0 disk 
sr0            11:0    1  4.3G  0 rom  /mnt/iso
           
配置oracleasm
[[email protected] opt]# oracleasm configure -i
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 []: oracle
Default group to own the driver interface []: dba
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

[[email protected] opt]# 

[[email protected] ~]# oracleasm --help
Usage: oracleasm [--exec-path=<exec_path>] <command> [ <args> ]
       oracleasm --exec-path
       oracleasm -h
       oracleasm -V

The basic oracleasm commands are:
    configure        Configure the Oracle Linux ASMLib driver
    init             Load and initialize the ASMLib driver
    exit             Stop the ASMLib driver
    scandisks        Scan the system for Oracle ASMLib disks
    status           Display the status of the Oracle ASMLib driver
    listdisks        List known Oracle ASMLib disks
    listiids         List the iid files
    deleteiids       Delete the unused iid files
    querydisk        Determine if a disk belongs to Oracle ASMlib
    createdisk       Allocate a device for Oracle ASMLib use
    deletedisk       Return a device to the operating system
    renamedisk       Change the label of an Oracle ASMlib disk
    update-driver    Download the latest ASMLib driver

[[email protected] ~]# oracleasm createdisk data01 /dev/sdb1
Writing disk header: done
Instantiating disk: done

[[email protected] ~]# oracleasm createdisk data02 /dev/sdb2
Writing disk header: done
Instantiating disk: done


[[email protected] dev]# ls -ld oracleasm/
drwxr-xr-x. 4 root root 0 May  1 20:04 oracleasm/

[[email protected] dev]# ls -l oracleasm/
total 0
drwxr-xr-x. 1 root root 0 May  1 20:04 disks
drwxrwx---. 1 root root 0 May  1 20:04 iid
[[email protected] dev]# ls -l /dev/oracleasm/disks/
total 0
brw-rw----. 1 oracle dba 8, 17 May  1 20:10 DATA01
brw-rw----. 1 oracle dba 8, 18 May  1 20:10 DATA02
[[email protected] dev]# 
           

ERROR:ASM磁盤的權限(使用者:使用者組)要留意,可能造成後續asmcmd(或 [grid @rhel750] $ sqlplus / as sysasm)管理磁盤時無法發現ASM磁盤或是asmca建立磁盤組時無法發現asm磁盤或是dbca建庫時選擇資料檔案存放位置時無法發現ASM磁盤組。

目前的 brw-rw----. 1 oracle dba 8, 17 May 1 20:10 DATA01 權限似乎是不對的,或許是 brw-rw----. 1 grid asmadmin 8, 18 May 6 12:32 DATA01,後續再行研究(目前grid:asmadmin工作正常)

Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
# xhost +
# su - grid
$ export DISPLAY=192.168.1.1:0.0
$./runInstaller

或者

以Xmanager連接配接主機,解壓軟體
# su – grid
$ unzip linuxx64_12201_grid_home.zip –d $HOME
$ export DISPLAY=本地hostname:0.0
$ cd ¥HOME/grid
$ ./gridSetup.sh
           
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句

Click "Fix & Check Again"

Run "runfixup.sh"

以 ' root' 身份執行缺失安裝包的安裝
yum install -y binutils-* compat-libstdc++-*  elfutils-libelf-*  elfutils-libelf-devel-static-0.125  gcc-4.1.2 gcc-c++-4.1.2  glibc-2.5-24 glibc-common-2.5  glibc-devel-2.5  glibc-headers-2.5  ksh-20060214  libaio-0.3.106  libaio-devel-0.3.106   libgcc-4.1.2  libgomp-4.1.2  libstdc++-4.1.2  libstdc++-devel-4.1.2  make-3.81   sysstat-7.0.2
           
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句
Oracle Grid,ASM,Database on Redhat 7.5Oracle安裝包Oracle官方文檔Oracle Grid Installation ProcessDatabase Software Installation Processdbca建庫語句

Run "/u01/app/oraInventory/orainstRoot.sh"

Run "/u01/app/11.2.0/grid/root.sh"

[[email protected] oraInventory]# ./orainstRoot.sh 
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.

[[email protected] grid]# ./root.sh 
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2019-05-01 22:03:10: Checking for super user privileges
2019-05-01 22:03:10: User has super user privileges
2019-05-01 22:03:10: Parsing the host name
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
Creating trace directory
LOCAL ADD MODE 
Creating OCR keys for user 'grid', privgrp 'oinstall'..
Operation successful.
CRS-4664: Node rhel750 successfully pinned.
Adding daemon to inittab
CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.
ohasd failed to start: Inappropriate ioctl for device
ohasd failed to start: Inappropriate ioctl for device at /u01/app/11.2.0/grid/crs/install/roothas.pl line 296.

           

發生失敗現象。

第一種解決辦法:

删除配置:[[email protected]]$ /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force-verbose
更改檔案權限:[[email protected]]$ chown root:oinstall /var/tmp/.oracle/npohasd
           

第二種解決辦法:

[[email protected]]$ /u01/app/11.2.0/grid/crs/install/roothas.pl
一般出現Adding daemon to inittab這條資訊的時候(或執行roothas.pl的同時)另開一個terminal執行dd指令
[[email protected]]$ /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1
如果出現 /bin/dd: opening`/var/tmp/.oracle/npohasd': No such file or directory 的時候檔案還沒生成就繼續執行,直到能執行為止
           
[[email protected] grid]# /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose
defined(@array) is deprecated at /u01/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 1702.
    (Maybe you should just omit the defined()?)
defined(@array) is deprecated at /u01/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 1702.
    (Maybe you should just omit the defined()?)
defined(@array) is deprecated at /u01/app/11.2.0/grid/crs/install/crsconfig_lib.pm line 1780.
    (Maybe you should just omit the defined()?)
2019-05-01 22:10:59: Checking for super user privileges
2019-05-01 22:10:59: User has super user privileges
2019-05-01 22:10:59: Parsing the host name
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
CRS-4639: Could not contact Oracle High Availability Services
CRS-4000: Command Stop failed, or completed with errors.
CRS-4639: Could not contact Oracle High Availability Services
CRS-4000: Command Delete failed, or completed with errors.
CRS-4544: Unable to connect to OHAS
CRS-4000: Command Stop failed, or completed with errors.
/u01/app/11.2.0/grid/bin/acfsdriverstate: line 51: /lib/acfstoolsdriver.sh: No such file or directory
Successfully deconfigured Oracle Restart stack


[[email protected] grid]# ./root.sh 
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n) 
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2019-05-01 22:13:16: Checking for super user privileges
2019-05-01 22:13:16: User has super user privileges
2019-05-01 22:13:16: Parsing the host name
Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
LOCAL ADD MODE 
Creating OCR keys for user 'grid', privgrp 'oinstall'..
Operation successful.
CRS-4664: Node rhel750 successfully pinned.
Adding daemon to inittab
CRS-4123: Oracle High Availability Services has been started.
ohasd is starting
ADVM/ACFS is not supported on redhat-release-server-7.5-8.el7.x86_64

rhel750     2019/05/01 22:13:37     /u01/app/11.2.0/grid/cdata/rhel750/backup_20190501_221337.olr
Successfully configured Oracle Grid Infrastructure for a Standalone Server
Updating inventory properties for clusterware
Starting Oracle Universal Installer...

Checking swap space: must be greater than 500 MB.   Actual 2024 MB    Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/app/oraInventory
'UpdateNodeList' was successful.
[[email protected] grid]# 
           

Database Software Installation Process

資料庫軟體的安裝過程,較為平穩,一般無問題發生。

dbca建庫語句

$ su - oracle
$ cd /u01/app/oracle/product/11.2.0/dbhome_1/bin
$ ./dbca
           

轉載于:https://www.cnblogs.com/MimiSnowing/p/10801042.html

繼續閱讀