oracle10g+Dataguard配置文档格式.docx
- 文档编号:19421788
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:19
- 大小:37.66KB
oracle10g+Dataguard配置文档格式.docx
《oracle10g+Dataguard配置文档格式.docx》由会员分享,可在线阅读,更多相关《oracle10g+Dataguard配置文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
4、添加以下内容到/etc/pam.d/login
sessionrequired/lib/security/pam_limits.so
sessionrequiredpam_limits.so
5、添加以下内容到/etc/profile
if[$USER="
oracle"
];
then
if[$SHELL="
/bin/ksh"
ulimit-p16384
ulimit-n65536
else
ulimit-u16384-n65536
fi
6、创建安装目录
#mkdir-p/u01/app/oracle
#chown-Roracle:
oinstall/u01/app/oracle
#chmod-R775/u01/app/oracle
7、修改oracle环境变量,首先进入oracle用户模式,vi~/.bash_profile,在里面加入以下内容
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
exportORACLE_SID=DB99
exportPATH=$ORACLE_HOME/bin:
$PATH
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:
/usr/lib
exportLC_CTYPE=en_US.UTF-8
exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBK
exportLANG=AMERICAN_AMERICA.ZHS16GBK
exportLC_ALL=C
8、安装数据库
#gunzip10201_database_linux_x86_64.cpio.gz(64位)
#cpio-idmv<
10201_database_linux_x86_64.cpio
#vidatabase/install/oraparam.ini
[CertifiedVersions]
Linux=redhat-3,SuSE-9,redhat-4,redhat-5,UnitedLinux-1.0,asianux-1,asianux-2]
再添加:
[Linux-redhat-5.0-optional]
TEMP_SPACE=80
SWAP_SPACE=150
MIN_DISPLAY_COLORS=256
vi/etc/sysconfig/vncservers
添加
VNCSERVERS="
1:
VNCSERVERARGS[1]="
-geometry800x600-nolistentcp-nohttpd-localhost"
使用oracle用户(su–oracle)启动vnc服务(vncserver)
将.vnc/.xstart中的twm&
改成gnome-session&
然后用vncviewer连接服务器运行database目录下的runinstaller
第一个界面选择AdvancedInstallation
第三个界面需要在语言选项中添加中文支持
在提示是否创建新库时,选择installdatabasesoftwareonly
安装结束时注意安装程序会提示用root用户执行下面两条命令:
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/product/10.2.0/db_1/root.sh
主数据库(简称dbtest1)备用数据库(简称dbtest2)
在dbtest1上安装数据库环境并创建数据库(数据库sid为DB99,安装目录为/u01/app/)
在dbtest2上只安装数据库环境,不创建数据库
下面是dbtest1上的配置
首先用sqlplus/assysdba进入sql查询模式
主库启用FORCELOGGING
SQL>
ALTERDATABASEFORCELOGGING;
selectFORCE_LOGGINGfromv$database;
主库检查密码文件
这个默认安装完之后都有,文件在/u01/app/oracle/product/10.2.0/db_1/dbs/orapwDB99
文件名格式为orapw${sid}
主库添加standbyredolog
alterdatabaseaddstandbylogfilegroup4('
/u01/app/oracle/oradata/DB99/redo04.log'
)size50m;
alterdatabaseaddstandbylogfilegroup5('
/u01/app/oracle/oradata/DB99/redo05.log'
alterdatabaseaddstandbylogfilegroup6('
/u01/app/oracle/oradata/DB99/redo06.log'
alterdatabaseaddstandbylogfilegroup7('
/u01/app/oracle/oradata/DB99/redo07.log'
查看日志情况
sql>
select*fromv$logfile;
执行后应该能看到你新加的这四个日志相关信息
修改主数据库初始化参数
先执行SQL>
createpfilefromspfile;
这样就会有/u01/app/oracle/product/10.2.0/db_1/dbs/initDB99.ora文件
直接编辑这个文件
加入以下参数
*.db_unique_name=dbtest1
*.fal_server='
dbtest1'
*.fal_client='
dbtest2'
*.standby_file_management=auto
*.db_file_name_convert='
/u01/app/oracle/oradata/DB99/'
'
*.log_file_name_convert='
*.log_archive_config='
dg_config=(dbtest1,dbtest2)'
*.log_archive_dest_2='
service=dbtest2LGWRSYNCAFFIRMvalid_for=(online_logfiles,primary_role)db_unique_name=dbtest2'
*.log_archive_dest_state_2='
ENABLE'
这样初始化参数改好了
使用命令
Sql>
shutdownimmediate
createspfilefrompfile;
修改/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora下的监听文件
listener.ora文件如下
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=PLSExtProc)
(ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)
(PROGRAM=extproc)
)
(SID_NAME=DB99)
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC2))
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.21)(PORT=1521))
修改/u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora文件如下
DB99=
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=DB99)
#LISTENER_DB99=
#(ADDRESS=(PROTOCOL=TCP)(HOST=localhoenorthdb1)(PORT=1521))
DBTEST2=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.24)(PORT=1521))
DBTEST1=
)
EXTPROC_CONNECTION_DATA=
(SID=PLSExtProc)
(PRESENTATION=RO)
这样参数文件就改完了
主库启用归档日志
STARTUPMOUNT;
ALTERDATABASEARCHIVELOG;
ALTERDATABASEOPEN;
Alterdatabasesetstandbydatabasetomaximizeavailability;
注意执行过alterdatabasearchivelog;
后以后就不用再执行这个命令了,以后直接用startup启动数据库就可以了
用rman备份主库数据文件、归档日志、控制文件
在oracle用户环境下,执行
rmantarget/
然后执行
rman>
backupdatabaseplusarchivelog;
backupcurrentcontrolfileforstandby;
这样就会在/u01/app/oracle/flash_recovery_area/DB99下生成备份,包括数据文件,控制文件和归档日志
下面对备库进行操作
由于备库没有创建实例,所以缺少几个文件目录
用oracle用户添加
对应主库的目录结构添加
/u01/app/oracle/admin/DB99下的adump,bdump,cdump,udump
/u01/app/oracle/flash_recovery_area/
/u01/app/oracle/oradata/DB99
从主库dbtest1复制文件到备用库dbtest2上
需要复制/u01/app/oracle/flash_recovery_area/下的所有东西
还有/u01/app/oracle/product/10.2.0/db_1/dbs/下的所有东西
主库上的/u01/app/oracle/product/10.2.0/db_1/network/admin目录下的listener.ora和tnsnames.ora
备库修改如/u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora下
(SID_NAME=DB99)
注:
和主库相同只有ip不同
tnsnames.ora如下
和主库一样,只有ip不同
恢复备用库
在恢复备份库的时候先把主库和备库的监听程序重启一下
方法,在oracle用户模式下lsnrctlstop,然后lsnrctlstart
然后再回到备库
启动数据库到nomount阶段
sqlplus/assysdba
startupnomount
再回到oracle用户模式
从rman恢复
rmantargetsys/userjishubu@dbtest1auxiliary/
duplicatetargetdatabaseforstandbynofilenamecheck;
开始进行恢复数据库
修改备库的参数文件
直接编辑这个文件/u01/app/oracle/product/10.2.0/db_1/dbs/initDB99.ora
修改以下参数
*.db_unique_name=dbtest2
shutdownimmediate;
启动备用库
startupnomount;
alterdatabasemountstandbydatabase;
ALTERDATABASEADDSTANDBYLOGFILE;
alterdatabaserecovermanagedstandbydatabaseusingcurrentlogfiledisconnectfromsession;
这样Dataguard的最大可用模式实时备份就完成了
下面进行一下测试
在两边都执行
Archiveloglist
看看返回的结果
我的结果是
主库
archiveloglist
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
ArchivedestinationUSE_DB_RECOVERY_FILE_DEST
Oldestonlinelogsequence17
Nextlogsequencetoarchive19
Currentlogsequence19
备库
Oldestonlinelogsequence18
Nextlogsequencetoarchive0
如果没出现数字,在oracle用户模式下lsnrctlstop,然后lsnrctlstart
看我所标示的地方是否数字一致,说明已经同步了
然后看主库执行
select
protection_level,protection_mode
from
v$database;
结果为
selectprotection_level,protection_modefromv$database;
PROTECTION_LEVELPROTECTION_MODE
----------------------------------------
MAXIMUMAVAILABILITYMAXIMUMAVAILABILITY
如果是这样的结果.两个显示都是高可用模式,那么说明应该配置正确了
再做测试,再主库上插入用户并添加表
然后在备库上执行
alterdatabaserecovermanagedstandbydatabasecancel;
alterdatabaseopenreadonly;
连接备库看看有没有你新加的用户名和表,如果都同步过来了,说明配置正确,一切正常了
ALTERDATABASECOMMITTOSWITCHOVERTOPRIMARY;
select*fromv$archive_gap;
selectSEQUENCE#fromV$ARCHIVED_LOG;
补充知识,关于大于2TB的硬盘如何分区,fdisk已经不能用了,方法如下
假设要用parted对Linux下的/dev/sdb(大小为3000G)进行分区操作:
1、进入系统,在#提示符下执行:
parted/dev/sdb
2、建立磁盘label:
mklabelGPT
3、按p键,查看磁盘可用空间,显示单位为M。
3000G应该显示大致为:
/dev/sdb的磁盘几何结构:
0.000-3000000.000兆字节
4、创建分区:
在(parted)后输入:
mkpart并按照提示操作:
分区类型?
primary/主分区/extended/扩展分区?
p(如果要创建扩展分区此处输入e)。
文件系统类型?
[ext2]?
(这里直接回车,千万不要改成ext3,分区创建完毕后通过mkfs.ext3/dev/sdb*建立文件系统)
起始点?
0.000(加入要建立一个10G的分区)
结束点?
10240.000
5、按p键查看刚创建的分区是否已经成功。
6、如果成功,键入quit退出parted。
7、使用mkfs.ext3/dev/hdb*来创建文件系统
8、挂载并
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle10g Dataguard 配置
![提示](https://static.bdocx.com/images/bang_tan.gif)