目录
Oracle安装包
登陆Oracle账户(无须服务号)方可下载。
Oracle官方文档
Blog
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
[root@rhel750 ~]# cat /etc/grouproot:x:0:......jn:x:1000:oinstall:x:500:dba:x:501:oracle,gridasmadmin:x:502:oracle,gridasmdba:x:503:oracle,grid[root@rhel750 ~]# cat /etc/passwdroot:x:0:0:root:/root:/bin/bash......jn:x:1000:1000:jn:/home/jn:/bin/bashoracle:x:500:500::/home/oracle:/bin/bashgrid:x:501:500::/home/grid:/bin/bash[root@rhel750 ~]#
Oracleasm 创建 ASM 磁盘
[root@rhel750 ~]# yum list installed | grep oraclekmod-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 [root@rhel750 ~]# fdisk /dev/sd/dev/sda /dev/sdb /dev/sdc[root@rhel750 ~]# fdisk -l | grep dev | grep -v mapperDisk /dev/sda: 42.9 GB, 42949672960 bytes, 83886080 sectors/dev/sda1 * 2048 2099199 1048576 83 Linux/dev/sda2 2099200 83886079 40893440 8e Linux LVMDisk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsDisk /dev/sdc: 21.5 GB, 21474836480 bytes, 41943040 sectors[root@rhel750 ~]# fdisk /dev/sdbWelcome 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 tableBuilding a new DOS disklabel with disk identifier 0x9c36ed90.Command (m for help): mCommand 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): nPartition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): pPartition number (1-4, default 1): First sector (2048-41943039, default 2048): Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 6GValue out of range.Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): +5GPartition 1 of type Linux and of size 5 GiB is setCommand (m for help): nPartition type: p primary (1 primary, 0 extended, 3 free) e extendedSelect (default p): pPartition number (2-4, default 2): First sector (10487808-41943039, default 10487808): Using default value 10487808Last sector, +sectors or +size{K,M,G} (10487808-41943039, default 41943039): +5GPartition 2 of type Linux and of size 5 GiB is setCommand (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.Syncing disks.[root@rhel750 ~]# /sbin/partprobe [root@rhel750 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 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
[root@rhel750 opt]# oracleasm configure -iConfiguring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM librarydriver. The following questions will determine whether the driver isloaded on boot and what permissions it will have. The current valueswill be shown in brackets ('[]'). Hittingwithout typing ananswer will keep that current value. Ctrl-C will abort.Default user to own the driver interface []: oracleDefault group to own the driver interface []: dbaStart Oracle ASM library driver on boot (y/n) [n]: yScan for Oracle ASM disks on boot (y/n) [y]: yWriting Oracle ASM library driver configuration: done[root@rhel750 opt]# [root@rhel750 ~]# oracleasm --helpUsage: oracleasm [--exec-path= ] [ ] oracleasm --exec-path oracleasm -h oracleasm -VThe 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[root@rhel750 ~]# oracleasm createdisk data01 /dev/sdb1Writing disk header: doneInstantiating disk: done[root@rhel750 ~]# oracleasm createdisk data02 /dev/sdb2Writing disk header: doneInstantiating disk: done[root@rhel750 dev]# ls -ld oracleasm/drwxr-xr-x. 4 root root 0 May 1 20:04 oracleasm/[root@rhel750 dev]# ls -l oracleasm/total 0drwxr-xr-x. 1 root root 0 May 1 20:04 disksdrwxrwx---. 1 root root 0 May 1 20:04 iid[root@rhel750 dev]# ls -l /dev/oracleasm/disks/total 0brw-rw----. 1 oracle dba 8, 17 May 1 20:10 DATA01brw-rw----. 1 oracle dba 8, 18 May 1 20:10 DATA02[root@rhel750 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"[root@rhel750 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.[root@rhel750 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/gridEnter 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 byDatabase Configuration Assistant when a database is createdFinished 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 privileges2019-05-01 22:03:10: User has super user privileges2019-05-01 22:03:10: Parsing the host nameUsing configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_paramsCreating trace directoryLOCAL ADD MODE Creating OCR keys for user 'grid', privgrp 'oinstall'..Operation successful.CRS-4664: Node rhel750 successfully pinned.Adding daemon to inittabCRS-4124: Oracle High Availability Services startup failed.CRS-4000: Command Start failed, or completed with errors.ohasd failed to start: Inappropriate ioctl for deviceohasd failed to start: Inappropriate ioctl for device at /u01/app/11.2.0/grid/crs/install/roothas.pl line 296.
发生失败现象。
第一种解决办法:
删除配置:[root@rhel750]$ /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force-verbose更改文件权限:[root@rhel750]$ chown root:oinstall /var/tmp/.oracle/npohasd
第二种解决办法:
[root@rhel750]$ /u01/app/11.2.0/grid/crs/install/roothas.pl一般出现Adding daemon to inittab这条信息的时候(或执行roothas.pl的同时)另开一个terminal执行dd命令[root@rhel750]$ /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 的时候文件还没生成就继续执行,直到能执行为止
[root@rhel750 grid]# /u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbosedefined(@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 privileges2019-05-01 22:10:59: User has super user privileges2019-05-01 22:10:59: Parsing the host nameUsing configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_paramsCRS-4639: Could not contact Oracle High Availability ServicesCRS-4000: Command Stop failed, or completed with errors.CRS-4639: Could not contact Oracle High Availability ServicesCRS-4000: Command Delete failed, or completed with errors.CRS-4544: Unable to connect to OHASCRS-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 directorySuccessfully deconfigured Oracle Restart stack[root@rhel750 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/gridEnter 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 byDatabase Configuration Assistant when a database is createdFinished 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 privileges2019-05-01 22:13:16: User has super user privileges2019-05-01 22:13:16: Parsing the host nameUsing configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_paramsLOCAL ADD MODE Creating OCR keys for user 'grid', privgrp 'oinstall'..Operation successful.CRS-4664: Node rhel750 successfully pinned.Adding daemon to inittabCRS-4123: Oracle High Availability Services has been started.ohasd is startingADVM/ACFS is not supported on redhat-release-server-7.5-8.el7.x86_64rhel750 2019/05/01 22:13:37 /u01/app/11.2.0/grid/cdata/rhel750/backup_20190501_221337.olrSuccessfully configured Oracle Grid Infrastructure for a Standalone ServerUpdating inventory properties for clusterwareStarting Oracle Universal Installer...Checking swap space: must be greater than 500 MB. Actual 2024 MB PassedThe inventory pointer is located at /etc/oraInst.locThe inventory is located at /u01/app/oraInventory'UpdateNodeList' was successful.[root@rhel750 grid]#
Database Software Installation Process
数据库软件的安装过程,较为平稳,一般无问题发生。
dbca建库语句
$ su - oracle$ cd /u01/app/oracle/product/11.2.0/dbhome_1/bin$ ./dbca