Oracle学习笔记之第三节之安装数据库
安装之前必须取消环境变量,免得麻烦。 unset ORACLE_HOME unset ORACLE_BASE unset ORACLE_SID unset TNS_ADMIN echo $ORACLE_HOME chown oracle:oinstall /u01 chown oracle:oinstall /u01/app chown oracle:oinstall /u01/app/oracle chown oracle:oinstall /u01/app/oraInventory fdisk -l /dev/sda查看磁盘大小 oracleasm init 加载内核模块 oracleasm configure -i 进行配置asm oracle asmadmin y y oracleasm createdisk ASMVOL01 /dev/sda5 oracleasm createdisk ASMVOL02 /dev/sda6 oracleasm createdisk ASMVOL03 /dev/sda7 oracleasm createdisk ASMVOL04 /dev/sda8 oracleasm createdisk ASMVOL05 /dev/sda3 oracleasm-discover service oracleasm restart 以oracle身份运行 cd /stage/grid/ ./runInstaller skip--standalone server--DATA-normal-勾选前4个盘--密码统一设置 oracle_4U--next--只看到SWAP报错后才算正常,继续运行,接着会弹出一个脚本要求执行,以ROOT身份去执行下才可继续运行。 ps -aux asm 安装为完后查看磁盘组 cd /u01/app/oracle/product/11.2.0/grid/bin/asmca 创建一个新的FRA磁盘组 create --name FRA-- External--ok 装数据库软件 unset ORACLE_HOME unset ORACLE_BASE unset ORACLE_SID unset TNS_ADMIN echo $ORACLE_HOME cd /stage/database/ ./runInstaller skip--install database--安装企业版--install--弹出一个脚本以root身份去执行(设置下一些文件目录权限) 安装数据库 /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbca 数据库配置助手 next--create--general.....--rcat.example.com--(图形页面)--ASM--数据区浏览选择+DATA盘组--要求输入ASM密码oracle_4U--specity(生产环境不勾选)--浏览选择+FRA盘组 大小跟真实大小尽量接近,设置6000会提示超出按提示设置最大即可--sample实例方案--字符集选AL32UT8--next general purpose or transcation processing 通用的,大部分选这个 custom database此选项建库是其他两个模板的3倍以上那么长 data warehouse 数据仓库,连接数少但是进去把杂乱无章的模型进行运算翻个底朝天(大数据分析) 小提示:如果有录制模板脚本,则脚本(包括默认3个模板)都是存放在 /u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates 管理数据库选项manager temptables可以录制已有的数据库模板或者模板+数据 装完数据库后设置环境变量 vim .bash_profile export PATH export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 export ORACLE_SID=rcat export PATH=$ORACLE_HOME/bin:$PATH:/u01/app/oracle/product/11.2.0/grid/bin export TNS_ADMIN=/u01/app/oracle/product/11.2.0/grid/network/admin export NLS_LANG="Simplified Chinese_china".AL32UTF8 然后注销当前oracle用户重新登陆使其生效。 如果有录制脚本的一些介绍: cd /u01/app/oracle/admin/rcat/scripts *rcat.sh 建一些目录,并调用脚本 *rcat.sql set verify off 进行替换变量时候是否提示 host ......./orapwrcat生成口令文件,是执行操作系统命令(除了sys所有用户的密码存在数据字典上,sys其实也是在字典里,但是如果没开库,则无法连上数据库) host ...../srvctl 注册集群站 *CloneRmanRestore.sql 没有参考价值的文件 *CloneDBCreation.sql 将来改数据库名的时候可以用到这个脚本来参考 定制建库的话有3个create脚本做完就基本可以了,后面不需要在做。 crs_stat -t 如果未启动则以下命令启动 crsctl start has crsctl start res ora.orcl.db 小提示: 1、netstat -ntpl 3938端口是代理功能,和图形页面1158是结合的,有了3938,图形页面才有数据。 2、数据库实例名区分大小写!!!! 3、文件系统的恢复区 {ORACLE_BASE}/flash_recovery_area 4、crsctl delete res ora.rcat.db 删除crs_stat -t中的东西 题外话:由于本人不小心建错ASM了,故需要重新配置ASM,附上步骤 Step 1: 保证使用ASM的数据库事先已经用RMAN做了备份 Step 2: 关闭ASM实例 Step3: 使用dd命令清除ASM磁盘上的元数据 Step 4: 重建ASM磁盘组 Step 5: 恢复数据库 [@more@] 这个事件中,不能mount ASM磁盘组,也就不能启动使用这些磁盘组的数据库,可能在mount ASM磁盘组的时候报下列错误: SQL> startup mount ORA-15032: not all alterations performed ORA-15063: diskgroup "" lacks quorum of 2 PST disks; 0 found 错误可能由于下列原因导致: a)操作系统不能访问ASM磁盘。 b) ASM实例上没有正确设置asm_diskstring参数。 c)磁盘上的 ASM元数据被覆盖或者崩溃了。 如果已经验证了操作系统可以使用正确的权限访问磁盘,asm_diskstring参数也是正确设置的,仍看到这个错误或者其他的错误,意味着ASM元数据崩溃了。那么就需要重建ASM实例和磁盘组: Step 1: 保证使用ASM的数据库事先已经用RMAN做了备份 Step 2: 关闭ASM实例 Step3: 使用dd命令清除ASM磁盘上的元数据 Step 4: 重建ASM磁盘组 Step 5: 恢复数据库 Step 1: 保证使用ASM的数据库事先已经用RMAN做了备份 RMAN备份的例子: 1). 连接到rman rman nocatalog target / 2). 备份数据库、归档日志和控制文件,例如: RMAN> backup device type disk format '/u03/backup/%U' database plus archivelog; RMAN> backup device type disk format '/u03/backup/ctrlf_%U' current controlfile; 3). 手动拷贝spfile,例如: CREATE PFILE='/u03/app/oracle/product/10.1.0/dbs/init.ora' FROM SPFILE='/+DATA/V10FJ/spfile.ora'; Step 2: 关闭ASM实例 使用sqlplus or srvctl (RAC)关闭数据库实例和ASM实例: SQLPLUS Example: export ORACLE_SID=+ASM sqlplus '/ as sysdba' SQL> shutdown immediate export ORACLE_SID=orcl sqlplus '/ as sysdba' SQL> shutdown immediate SRVCTL (RAC) Example: srvctl stop asm -n srvctl stop asm -n srvctl stop database -d Step3: 使用dd命令清除ASM磁盘上的元数据 在打算重建ASM实例和磁盘组之前,必须清除ASM的所有元数据,例如: dd if=/dev/zero of=/dev/rdsk/c1t4d0s4 bs=8192 count=12800 or dd if=/dev/zero of=/dev/rdsk/c1t4d0s4 bs=4096 count=12800 Step 4: 重建ASM磁盘组 例如: export ORACLE_SID=+ASM sqlplus '/ as sysdba' SQL> startup nomount SQL> create diskgroup data disk '/dev/rdsk/c1t4d0s4'; SQL> shutdown immediate SQL> startup mount Step 5: 恢复数据库 1). 使用step 1拷贝的pfile启动实例 export ORACLE_SID=orcl sqlplus '/ as sysdba' SQL> startup nomount pfile=init.ora 2). 使用RMAN还原控制文件和数据库,例如: $>rman target / RMAN> restore controlfile from '/u03/backup/ctrlf_'; -- where is the unique string generated by %U. RMAN> alter database mount; RMAN> restore database; RMAN> recover database; RMAN> alter database open resetlogs; 3). 连接到ASM实例,得到controlfile文件名,例如: export ORACLE_SID=+ASM sqlplus '/ as sysdba' SQL> select name,alias_directory from v$asm_alias; 4). 编辑 init.ora改变control_files参数指向 ASM v$asm_alias视图中的name标识。 5). 重建spfile,例如: SQL> create spfile='+DATA/V10FJ/spfileV10FJ.ora' from pfile='/u03/app/oracle/product/10.1.0/dbs/pfile.out'; 6).关闭、使用新创建的spfile重启实例。 7). 如果还有其他的数据库,重复STEP 5。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |