安装Oracle软件
1) 安装前准备
安装必要的RPM包:
yum install -y binutils compat-libcap1
compat-libstdc++ gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++
libstdc++-devel libaio libaio-devel make sysstat
创建Oracle用户和组:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd oracle –g oinstall –G
oinstall,dba
修改内核参数:
/etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
设置系统限制:
/etc/security.h/limit.h
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
创建目录:
[root@adg database]# mkdir /oracle
[root@adg database]# mkdir -p
/oracle/product/11.2.0/dbhome_1
[root@adg database]# chown -R oracle:dba
/oracle/
[root@adg database]#
编辑环境变量:
.bash_profile
# User specific environment and startup
programs
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/product/11.2.0/dbhome_1
ORACLE_SID=adg
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export ORACLE_BASE ORACLE_HOME PATH
ORACLE_SID
[root@adg ~]#
2) 安装
在安装介质根目录下有个response文件夹,这个文件夹下有几个response文件,其中一个db_install.rsp可以用来进行Oracle数据库软件的静默安装,这个文件里包含有所有在你进行图形化安装时需要你输入或者选择的项,我们直接修改这个文件将我们的定制我们的安装选项即可,我的db_install.rsp内容为:
[root@adg ~]# grep -v ^# db_install.rsp
|grep -v ^$
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=adg
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/oraInventory
SELECTED_LANGUAGES=en
ORACLE_HOME=/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=false
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=
oracle.install.db.config.starterdb.SID=
oracle.install.db.config.starterdb.characterSet=ZHS16GBK
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=SKIP_UPDATES
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
编辑好了response文件之后,我们就可以进行安装了,安装时运行:
./runInstall -silent -responseFile /tmp/db_install.rsp
之后会自动将Oracle安装到指定目录。
安装grid
创建grid用户和组:
/usr/sbin/groupadd asmoper
/usr/sbin/groupadd asmadmin
/usr/sbin/groupadd asmdba
/usr/sbin/useradd grid –g oinstall –G
oinstall,dba, asmoper, asmadmin, asmdba
设置系统限制:
/etc/security.h/limit.h
grid soft nofile 1024
grid hard nofile 65536
grid soft nproc 2047
grid hard nproc 16384
grid soft stack 10240
grid hard stack 32768
创建目录:
[root@adg database]# mkdir /oracle
[root@adg database]# mkdir -p /oracle/ 11.2.0/
grid
[root@adg database]# chown -R grid:oinstall
/oracle/ 11.2.0/ grid
[root@adg database]#
编辑环境变量:
# User specific environment and startup
programs
ORACLE_HOME=/oracle/11.2.0/grid
ORACLE_SID=+ASM
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export ORACLE_SID ORACLE_HOME PATH
[grid@adg ~]$
对于grid安装介质,同样存在一个response文件grid_install.rsp,位于response文件夹下,我们可以把这个文件拷贝到/tmp下,再编辑/tmp/grid_install.rsp,我的grid_install.rsp内容是:
[root@adg ~]# grep -v ^# grid_install.rsp
|grep -v ^$
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0
ORACLE_HOSTNAME=adg
INVENTORY_LOCATION=/home/oracle/gridinven
SELECTED_LANGUAGES=en
oracle.install.option=HA_CONFIG
ORACLE_BASE=/oracle
ORACLE_HOME=/oracle/11.2.0/grid
oracle.install.asm.OSDBA=dba
oracle.install.asm.OSOPER=dba
oracle.install.asm.OSASM=dba
oracle.install.crs.config.gpnp.scanName=ascan
oracle.install.crs.config.gpnp.scanPort=9999
oracle.install.crs.config.clusterName=
oracle.install.crs.config.gpnp.configureGNS=false
oracle.install.crs.config.gpnp.gnsSubDomain=
oracle.install.crs.config.gpnp.gnsVIPAddress=
oracle.install.crs.config.autoConfigureClusterNodeVIP=
oracle.install.crs.config.clusterNodes=
oracle.install.crs.config.networkInterfaceList=
oracle.install.crs.config.storageOption=
oracle.install.crs.config.sharedFileSystemStorage.diskDriveMapping=
oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=
oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=NORMAL
oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=NORMAL
oracle.install.crs.config.useIPMI=false
oracle.install.crs.config.ipmi.bmcUsername=
oracle.install.crs.config.ipmi.bmcPassword=
oracle.install.asm.SYSASMPassword=www
oracle.install.asm.diskGroup.name=OCR
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.diskGroup.AUSize=1
oracle.install.asm.diskGroup.disks=/dev/raw/raw1
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/raw/raw*
oracle.install.asm.monitorPassword=www
oracle.install.crs.upgrade.clusterNodes=
oracle.install.asm.upgradeASM=false
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
[root@adg ~]#
这个文件里有很多项,每一项都有非常详细的注释。
接下来我们就可以创建一个ASM实例了,创建ASM实例之前的第一步是启动cssd:
crsctl start res cssd
再进行localconfig
编辑一个pfile文件/oracle/11.2.0/grid/dbs/init+ASM.ora:
#+ASM.asm_diskgroups=’UNDO’,’TEMP’#Manual
Mount
*.asm_diskstring=’/dev/asm*’
*.asm_power_limit=1
*.diagnostic_dest=’/u01/app/grid’
*.instance_type=’asm’
*.large_pool_size=12M
*.remote_login_passwordfile=’EXCLUSIVE’
以sysasm角色登陆:
[grid@adg ~]$ export ORACLE_HOME=/oracle/11.2.0/grid
[grid@adg ~]$ /oracle/11.2.0/grid/bin/sqlplus / as sysasm
SQL*Plus: Release 11.2.0.4.0 Production on
Sat Nov 1 22:13:30 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
(注意必须要将ORACLE_HOME设置为$GRIDHOME,否则报错:
ERROR:
ORA-01031: insufficient privileges
)
创建磁盘组:
create diskgroup ocr external redundancy
disk ‘/dev/raw/raw1’;
SQL>startup
ASM instance started
Total System Global Area 1135747072 bytes
Fixed Size 2260728 bytes
Variable Size 1108320520 bytes
ASM Cache 25165824 bytes
SQL> select name from v$asm_diskgroup;
no rows selected
此时还没有diskgroup
SQL> create diskgroup ocr external redundancy
disk ‘/dev/raw/raw1’;
Diskgroup created.
SQL>
SQL>
SQL> select name from v$asm_diskgroup;
NAME
——————————
OCR
SQL>
ASM实例和磁盘组已经创建好了。
搭建备库
修改主库的参数:
Node1:
log_archive_dest_1 location=+TEMP/
log_archive_dest_2
SERVICE=ADG ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) D B_UNIQUE_NAME=ADG
log_archive_dest_state_2 ENABLE
log_archive_config DG_CONFIG=(zgdb,zgdb1,zgdb2,ADG)
standby_file_management AUTO
remote_login_passwordfile EXCLUSIVE
db_name zgdb
node2:
log_archive_dest_1 location=+TEMP/
log_archive_dest_2
SERVICE=ADG ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ADG
log_archive_dest_state_2 ENABLE
log_archive_config DG_CONFIG=(zgdb,zgdb1,zgdb2,ADG)
standby_file_management AUTO
remote_login_passwordfile EXCLUSIVE
db_name zgdb
备库参数:
control_files /home/oracle/control.ctl
db_file_name_convert +OCR/zgdb/, +OCR/ADG/
log_file_name_convert +OCR/zgdb/, +OCR/ADG/
log_archive_dest_1 location=/home/oracle/oraarch
log_archive_dest_2
SERVICE=zgdb ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=zgdb
log_archive_dest_state_2 ENABLE
fal_client ADG
fal_server zgdb1,zgdb2
log_archive_config DG_CONFIG=(zgdb,zgdb1,zgdb2,ADG)
db_create_file_dest +OCR
standby_file_management AUTO
remote_login_passwordfile EXCLUSIVE
service_names ADG,stdby
db_name zgdb
db_unique_name ADG
在主备库上都配置好tnsnames.ora
zgdb =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scan-cluster)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = zgdb)
)
)
ADG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.154)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = adg)
)
)
zgdb1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.101)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = zgdb)
(INSTANCE_NAME = zgdb1)
)
)
zgdb2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.103)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = zgdb)
(INSTANCE_NAME = zgdb2)
)
)
将主库一个节点的的orapw文件拷贝到节点2及备库,并命名为orapwSID的形式,并用cksum检查确定文件在传输过程中没有发生损坏:
node1-> cksum orapwzgdb1
3568537300 2048 orapwzgdb1
node2-> cksum orapwzgdb2
3568537300 2048 orapwzgdb2
[oracle@adg
dbs]$ cksum orapwadg
3568537300 2048 orapwadg
[oracle@adg dbs]$
确保remote_login_passwordfile=EXCLUSIVE,并用sysdba远程连接确定密码文件可以进行认证:
在主库执行:
sqlplus sys/www@adg as sysdba
在备库执行:
sqlplus sys/www@sszgdb as sysdba
sqlplus sys/www@sszgdb1 as sysdba
sqlplus sys/www@sszgdb2 as sysdba
接下来从主库通过rman备份并将备份文件传输到备库。
Rman>backup dadabase including
controlfile plus archivelog delete all input;
在主库创建standby控制文件并传输到备库。
SQL>alter database create standby
controlfile as ‘/tmp/control.ctl’;
在备库利用standby控制文件进行恢复。
Rman>Restore database;
Rman>Restore archivelog all;
执行recover:
Sql>recover automatic standby database;
进入到管理恢复状态。
SQL>alter database recover managed
standby database disconnect from session;
此时默认以read only方式打开数据库,也就是11GR2的新特性Active DataGuard的概念。
未经允许不得转载:SRE空间 » 静默环境下配置DataGuard
评论前必须登录!
注册