目錄
- 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工作正常)
# 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
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
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