安装数据库软件
在虚拟机rac1上,打开终端,输入以下命令,进入图形安装界面;
[root@rac1 ~]# export DISPLAY=:0.0
[root@rac1 ~]# xhost +
access control disabled, clients can connect from any host
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ cd /tmp/database
[oracle@rac1 database]$ ls
install response runInstaller stage
readme.html rpm sshsetup welcome.html
[oracle@rac1 database]$ ./runInstaller
Starting Oracle Universal Installer...
Checking Temp space: must be greater than 120 MB. Actual 27271 MB Passed
Checking swap space: must be greater than 150 MB. Actual 3931 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2019-08-13_12-58-53PM. Please wait ...[oracle@rac1 database]$
取消邮件支持;
点yes;
跳过软件升级;
只安装数据库软件;
默认会把rac1和rac2都选上,选择Oracle Real Application Clusters database installation,下一步;
增加简体中文,下一步;
默认;
还是默认;
选择oinstall,下一步;
开始检查配置环境;
这几个问题都可以忽略;
确认忽略;
开始安装 install;
弹出执行脚本,在rac1和rac2上以root用户执行,然回到图形界面点击OK;
[root@rac1 /]# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: //此处敲回车
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
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 script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
--------------------------------------------------------------------------
[root@rac2 /]# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: //此处敲回车
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.
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 script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
数据库软件已经安装完成,如下图。
测试安装结果
[root@rac1 /]# su - oracle
[oracle@rac1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 13 13:36:22 2019
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
[root@rac2 /]# su - oracle
[oracle@rac2 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 13 13:36:57 2019
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
asmca创建ASM磁盘组
在虚拟机rac1上,su - grid切换到grid用户,然后输入asmca命令,进入创建界面,创建FRA 和 DATA 磁盘组,
点击Create;
填写名称为FRA,选择External(None),勾选/dev/asm_diskk作为fra磁盘组,点击OK;
OK;
可以看到增加了FRA磁盘组,再点击Create;
填写名称为DATA,选择External(None),勾选/dev/asm_diskn作为data磁盘组,点击OK;
可看到3个磁盘组都是mounted状态;
在rac2上,你可以使用下面命令查看磁盘组状态。
[root@rac2 grid]# su - oracle
[oracle@rac2 ~]$ export ORACLE_SID=+ASM2
[oracle@rac2 ~]$ export ORACLE_HOME=/u01/app/11.2.0/grid
[oracle@rac2 ~]$ export PATH=$PATH:$ORACLE_HOME/bin
[oracle@rac2 ~]$ sqlplus sys as sysasm
SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 13 14:29:16 2019
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Real Application Clusters and Automatic Storage Management options
SQL> col name for a20
SQL> col path for a30
SQL> select name,path from v$asm_disk;
NAME PATH
-------------------- ------------------------------
OCR_0002 /dev/asm-diskh
DATA_0000 /dev/asm-diskn
OCR_0001 /dev/asm-diske
FRA_0000 /dev/asm-diskk
OCR_0000 /dev/asm-diskb
SQL> show parameter name
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
db_unique_name string
+ASM
instance_name string
+ASM2
lock_name_space string
service_names string
+ASM
SQL> desc v$asm_diskgroup;
Name Null? Type
----------------------------------------- -------- ----------------------------
GROUP_NUMBER NUMBER
NAME VARCHAR2(30)
SECTOR_SIZE NUMBER
BLOCK_SIZE NUMBER
ALLOCATION_UNIT_SIZE NUMBER
STATE VARCHAR2(11)
TYPE VARCHAR2(6)
TOTAL_MB NUMBER
FREE_MB NUMBER
HOT_USED_MB NUMBER
COLD_USED_MB NUMBER
REQUIRED_MIRROR_FREE_MB NUMBER
USABLE_FILE_MB NUMBER
OFFLINE_DISKS NUMBER
COMPATIBILITY VARCHAR2(60)
DATABASE_COMPATIBILITY VARCHAR2(60)
VOTING_FILES VARCHAR2(1)
SQL> select name,state,total_mb,free_mb from v$asm_diskgroup;
NAME STATE TOTAL_MB FREE_MB
-------------------- ---------------------- ---------- ----------
OCR MOUNTED 6144 5218
FRA MOUNTED 20480 20385
DATA MOUNTED 20480 20385
创建一个数据库
在 虚拟机rac1 上, su - oracle切换到oracle用户, 用命令 dbca 进入图形界面,创建 orcl 数据库。默认下一步;
默认;
还是默认;
写好你的全局数据库名称,点击Select All,把rac1和rac2都选上,下一步;
去掉Configure Enterprise Manager前面的勾,下一步;
设置sys和system密码,提示密码复杂度没达到推荐的复杂度,Yes, 下一步;
选择文件的安装区域,点击Browse;
选择DATA,点击OK,下一步;
选择快速闪回区的区域空间,点击Browse;
选择FRA,点击OK,下一步;
默认,下一步;
设置 SGA, 默认占内存的 40%,默认,下一步;
点击Sizing,设置连接数,我们默认;
点击Character Sets,设置字符集,我们本次选择UTF-8,这个选择以后不能更改,请根据你的数据库使用进行选择,然后下一步;
默认,下一步;
点击Finsih,开始安装;
点击OK;
开始漫长的安装;
弹出这个对话框,点击Password Management;
把scott用户的勾去掉,我们可以用来测试,安装结束;
查看安装结果;
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.FRA.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.LISTENER.lsnr
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.OCR.dg
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.asm
ONLINE ONLINE rac1 Started
ONLINE ONLINE rac2 Started
ora.gsd
OFFLINE OFFLINE rac1
OFFLINE OFFLINE rac2
ora.net1.network
ONLINE ONLINE rac1
ONLINE ONLINE rac2
ora.ons
ONLINE ONLINE rac1
ONLINE ONLINE rac2
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
1 ONLINE ONLINE rac1
ora.cvu
1 ONLINE ONLINE rac1
ora.oc4j
1 ONLINE ONLINE rac1
ora.orcl.db
1 ONLINE ONLINE rac1 Open
2 ONLINE ONLINE rac2 Open //可以看到orcl是open的
ora.rac1.vip
1 ONLINE ONLINE rac1
ora.rac2.vip
1 ONLINE ONLINE rac2
ora.scan1.vip
1 ONLINE ONLINE rac1
[oracle@rac1 ~]$ ps -ef | grep ora_
oracle 54022 1 0 15:13 ? 00:00:00 ora_pmon_orcl1
oracle 54024 1 0 15:13 ? 00:00:00 ora_psp0_orcl1
oracle 54031 1 0 15:13 ? 00:00:03 ora_vktm_orcl1
oracle 54035 1 0 15:13 ? 00:00:00 ora_gen0_orcl1
oracle 54037 1 0 15:13 ? 00:00:00 ora_diag_orcl1
oracle 54039 1 0 15:13 ? 00:00:00 ora_dbrm_orcl1
oracle 54041 1 0 15:13 ? 00:00:00 ora_ping_orcl1
oracle 54043 1 0 15:13 ? 00:00:00 ora_acms_orcl1
oracle 54045 1 0 15:13 ? 00:00:00 ora_dia0_orcl1
oracle 54047 1 0 15:13 ? 00:00:00 ora_lmon_orcl1
oracle 54049 1 0 15:13 ? 00:00:00 ora_lmd0_orcl1
oracle 54051 1 0 15:13 ? 00:00:01 ora_lms0_orcl1
oracle 54055 1 0 15:13 ? 00:00:00 ora_rms0_orcl1
oracle 54057 1 0 15:13 ? 00:00:00 ora_lmhb_orcl1
oracle 54059 1 0 15:13 ? 00:00:00 ora_mman_orcl1
oracle 54061 1 0 15:13 ? 00:00:00 ora_dbw0_orcl1
oracle 54063 1 0 15:13 ? 00:00:00 ora_lgwr_orcl1
oracle 54065 1 0 15:13 ? 00:00:00 ora_ckpt_orcl1
oracle 54067 1 0 15:13 ? 00:00:00 ora_smon_orcl1
oracle 54069 1 0 15:13 ? 00:00:00 ora_reco_orcl1
oracle 54071 1 0 15:13 ? 00:00:00 ora_rbal_orcl1
oracle 54073 1 0 15:13 ? 00:00:00 ora_asmb_orcl1
oracle 54075 1 0 15:13 ? 00:00:00 ora_mmon_orcl1
oracle 54079 1 0 15:13 ? 00:00:00 ora_mmnl_orcl1
oracle 54081 1 0 15:13 ? 00:00:00 ora_d000_orcl1
oracle 54083 1 0 15:13 ? 00:00:00 ora_mark_orcl1
oracle 54085 1 0 15:13 ? 00:00:00 ora_s000_orcl1
oracle 54091 1 0 15:13 ? 00:00:00 ora_lck0_orcl1
oracle 54093 1 0 15:13 ? 00:00:00 ora_rsmn_orcl1
oracle 54129 1 0 15:13 ? 00:00:00 ora_gtx0_orcl1
oracle 54131 1 0 15:13 ? 00:00:00 ora_rcbg_orcl1
oracle 54134 1 0 15:13 ? 00:00:00 ora_qmnc_orcl1
oracle 54155 1 0 15:13 ? 00:00:00 ora_cjq0_orcl1
oracle 54200 1 0 15:13 ? 00:00:00 ora_q000_orcl1
oracle 54202 1 0 15:13 ? 00:00:00 ora_q001_orcl1
oracle 54739 1 0 15:18 ? 00:00:00 ora_smco_orcl1
oracle 54744 1 0 15:18 ? 00:00:00 ora_w000_orcl1
oracle 55289 1 0 15:23 ? 00:00:00 ora_pz99_orcl1
oracle 55292 55105 0 15:23 pts/0 00:00:00 grep ora_
查看asm磁盘情况;
[root@rac1 ~]# su - grid
[grid@rac1 ~]$ export ORACLE_SID=+ASM1
[grid@rac1 ~]$ asmcmd
ASMCMD> lsdg
State Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 4096 1048576 20480 18770 0 18770 0 N DATA/
MOUNTED EXTERN N 512 4096 1048576 20480 20150 0 20150 0 N FRA/
MOUNTED NORMAL N 512 4096 1048576 6144 5218 2048 1585 0 Y OCR/
登录oracle orcl数据库,使用scott用户连接,会提示密码超期,需要重新设置;
[oracle@rac1 ~]$ export ORACLE_SID=orcl1
[oracle@rac1 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 13 15:31:18 2019
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> conn scott/tiger
ERROR:
ORA-28001: the password has expired
Changing password for scott
New password:
Retype new password:
Password changed
Connected.
//查看SCOTT用户有哪些表
SQL> select TABLE_NAME from all_tables where owner = 'SCOTT';
TABLE_NAME
------------------------------------------------------------
SALGRADE
BONUS
EMP
DEPT
//查看表结构
SQL> desc dept;
Name Null? Type
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
SQL> desc emp;
Name Null? Type
----------------------------------------- -------- ----------------------------
EMPNO NOT NULL NUMBER(4)
ENAME VARCHAR2(10)
JOB VARCHAR2(9)
MGR NUMBER(4)
HIREDATE DATE
SAL NUMBER(7,2)
COMM NUMBER(7,2)
DEPTNO NUMBER(2)
以上oracle rac的工作就全部安装完成了。