加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle学习笔记之第三节之安装数据库

发布时间:2020-12-12 16:03:43 所属栏目:百科 来源:网络整理
导读:安装之前必须取消环境变量,免得麻烦。 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:oinsta

安装之前必须取消环境变量,免得麻烦。

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。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读