linux下一个oracle11G DG建立(一个):准备环境
linux下一个oracle11G DG建立(一个):准备环境
周围环境
名称 |
主库 |
备库 |
主机名 |
bjsrv |
shsrv |
软件版本号 |
RedHat Enterprise5.5、Oracle 11g 11.2.0.1 |
RedHat Enterprise5.5、Oracle 11g 11.2.0.1 |
一.环境准备:
1.vbox
导入虚拟机镜像(已安装oracle、已建库)
1、导入虚拟机(主库-北京,下面简称bj)
2、导入虚拟机(备库-上海,下面简称sh)
3、主库、备库分别加入一块磁盘
为主库和备库分别加入1块磁盘,大小为30g。
(1)、bj加入磁盘。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd5YW5sb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(2)、bj网卡设置
依实际须要进行设置host only或桥接,例如以下图:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd5YW5sb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(3)、sh加入磁盘、网卡设置
操作步骤同上(略)。
2.主机
1、rootpassword
(1)、改动bj的rootpassword
(2)、改动sh的rootpassword
略。
2、主机名
(1)、改动bj下主机名
vi /etc/sysconfig/network //改动主机名
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=bjsrv
#hostname bjsrv //使主机名生效或重新启动系统
(2)、改动sh下主机名
vi /etc/sysconfig/network //改动主机名
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=shsrv
#hostname shsrv //使主机名生效或重新启动系统
3、.bash_profile
此处为显示格式习惯的设置。可不做改动。
(1)、改动bj的.bash_profile
#vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
.~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
#PS1=`whoami`@`hostname`':${PWD}> '
PS1='[\u@\h \w]\$'
export PS1
[root@bjsrv ~]#source.bash_profile
(2)、改动sh的.bash_profile
#vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
.~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
unset USERNAME
#PS1=`whoami`@`hostname`':${PWD}> '
PS1='[\u@\h \w]\$'
export PS1
[root@shsrv ~]#source.bash_profile
4、网络配置
(1)、改动bj网络配置
#vi /etc/hosts
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd5YW5sb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
//改动IP地址
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.4.71
NETMASK=255.255.255.0
ONBOOT=yes
#service networkrestart
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd5YW5sb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
(2)、改动sh网络配置
#vi /etc/hosts
#vi /etc/sysconfig/network-scripts/ifcfg-eth0
//改动IP地址
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.4.72
NETMASK=255.255.255.0
ONBOOT=yes
#service networkrestart
3.安装数据库
因为导入虚拟机中已安装好oracle,此处不进行安装。安装详见“oracle安装”文档,此步骤略。
[root@bjsrv ~]#cat /etc/oratab
//验证库已经存在
注意:在主库安装oracle
软件和数据库,在备库仅仅要安装oracle软件。
4.磁盘
简单介绍:
使用逻辑卷作为物理卷使用。
分别在bj和sh新创建一块30G的硬盘,创建逻辑卷,aix的逻辑卷必须是一整块磁盘,linux下能够是磁盘的一个分区,逻辑卷组就是把好几块物理卷整合在一起,逻辑卷就是从逻辑组切割出来各种大小的分区。(需改动)
目的:虚拟出4块磁盘
1.对bj加入磁盘操作
1、分区→逻辑卷
为磁盘分区,分一个主分区。
然后再转换为逻辑卷。
[root@bjsrv ~]#fdisk –l //查看硬盘情况
[root@bjsrv ~]# fdisk /dev/sdb
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extrafunctionality (experts only)
Command (m forhelp): n
Command action
e extended
p primary partition (1-4) p
Partition number(1-4):
First cylinder(1-3916, default 1):
Using default value1
Last cylinder or+size or +sizeM or +sizeK (1-3916, default 3916):
Using default value3916
Command (m forhelp): p
Disk /dev/sdb: 32.2GB, 32212254720 bytes
255 heads, 63sectors/track, 3916 cylinders
Units = cylinders of16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 3916 31455238+ 83 Linux
Command (m forhelp): t //(change a partition'ssystem id)转换成逻辑卷格式
Selected partition 1
Hex code (type L tolist codes): L
8e Linux LVM
Hex code (type L tolist codes): 8e 创建逻辑卷格式
Changed system typeof partition 1 to 8e (Linux LVM)
Command (m forhelp): p
Disk /dev/sdb: 32.2GB, 32212254720 bytes
255 heads, 63sectors/track, 3916 cylinders
Units = cylinders of16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 3916 31455238+ 8e
Linux LVM
//查看可知转换逻辑卷格式成功,接下来就是创建逻辑卷
Command (m for help): w //保存退出
2、创建物理卷
创建物理卷(pv):
[root@bjsrv ~]# pvcreate /dev/sdb1 //把分区作为一个物理卷来使用
[root@bjsrv ~]#pvdisplay
//显示物理卷信息
3、建立卷组
将物理卷增加卷组(vg):
[root@bjsrv ~]#vgcreate datavg /dev/sdb1 //创建卷组
//格式:vgcreate datavg /dev/sdb1
//说明:建立卷组 逻辑卷组名 物理卷
[root@bjsrv ~]#vgdisplay
//查看卷组信息
4、创建逻辑卷
在卷组下创建逻辑卷:
lvcreate [-n取名] [-L 指定大小]
參考图例:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd5YW5sb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
操作:
# lvcreate-n lv_dsk1 -L 7g datavg
# lvcreate-n lv_dsk2 -L 7g datavg
# lvcreate-n lv_dsk3 -L 7g datavg
# lvcreate -n lv_dsk4 -L 8g datavg
//剩余一些空间给卷组头使用
# lvdisplay //查看逻辑卷信息
5、格式化逻辑卷
对逻辑卷进行格式化:
參考图例:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd5YW5sb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
操作例如以下:
#mkfs.ext3 /dev/datavg/lv_dsk1
#mkfs.ext3 /dev/datavg/lv_dsk2
#mkfs.ext3 /dev/datavg/lv_dsk3
#mkfs.ext3 /dev/datavg/lv_dsk4
6、建虚拟磁盘文件夹
为虚拟出的4块磁盘建立文件夹:
#mkdir /dsk1
#mkdir /dsk2
#mkdir /dsk3
#mkdir /dsk4
7、自己主动挂载
设置自己主动挂载,即将上几步所创建的文件夹设置为开机自己主动挂载
#vi /etc/fstab 设置自己主动挂载
參考图例:
操作加入:
/dev/datavg/lv_dsk1 /dsk1 ext3 defaults 0 0
/dev/datavg/lv_dsk2 /dsk2 ext3 defaults 0 0
/dev/datavg/lv_dsk3 /dsk3 ext3 defaults 0 0
/dev/datavg/lv_dsk4 /dsk4 ext3 defaults 0 0
挂载四块磁盘:
#mount /dsk1
#mount /dsk2
#mount /dsk3
#mount /dsk4
#df–h
//查看磁盘信息
8、赋权
把新建文件夹的全部者改为oracle。属组设为dba:
#chown -R oracle:dba /dsk1
#chown -R oracle:dba /dsk2
#chown -R oracle:dba /dsk3
#chown -R oracle:dba /dsk4
2.对sh加入磁盘操作
操作步骤參考“对bj磁盘操作”。
步骤(略)。
5.改造数据库
说明:完毕对数据库的改造,与DG无关。是为了设置一个模拟环境。
1、改动显示方式
bj改动
$vi $ORACLE_HOME/sqlplus/admin/glogin.sql
改动
setsqlprompt ‘_user@ _connect_identifier>’
settermout on;
set timeon
set timingon
參考下图:
sh改动
參考bj改动,略。
2、改造文件位置
目的:模拟redo日志、datafile不在同一磁盘下。
SQL>startup;
//启库
【补充】:报MEMORY_TARGETnot supported on this system
启库时报00845错误
查看告警日志:
$tail -f /u01/app/oracle/diag/rdbms/testdb12/TestDB12/alert/
log.xml
$df -h
内存超出了。须要改动初始化參数文件里的參数值:
SQL>create pfile fromspfile;
$vi$ORACLE_HOME/dbs/initTestDB12.ora;
对内存值进行改动。參考例如以下图:
SQL>create spfile from pfile;
SQL>startup;
补充结束
SQL>select name from v$controlfile;
//查看控制文件位置
SQL>select member from v$logfile;
//查看日志位置
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd5YW5sb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
SQL>select name from v$datafile; //查看数据文件位置
SQL>archive log list
//查看归档模式。DG必须是归档模式
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd5YW5sb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
以上查询得知:
控制文件、日志文件、数据文件在同一文件夹下,且未开归档。于是以下就要依据查询出的结果对数据库进行改造。模拟一个较复杂的环境。
创建文件放置位置所需文件夹:
规划:
redo日志放在dsk1、dsk2下
归档日志放在dsk4下
1、创建文件夹
bj创建文件夹
$mkdir -p /dsk1/oradata/bj
$mkdir -p /dsk2/oradata/bj
$mkdir -p /dsk3/oradata/bj
$mkdir -p /dsk4/oradata/bj
$mkdir -p /dsk4/arch_bj
sh创建文件夹
$mkdir -p /dsk1/oradata/sh
$mkdir -p /dsk2/oradata/sh
$mkdir -p /dsk3/oradata/sh
$mkdir -p /dsk4/oradata/sh
$mkdir -p /dsk4/arch_sh
补充:
查看告警日志
2、改造redo日志位置(bj)
SQL>selectmember from v$logfile;
SQL> selectgroup#,status,bytes from v$log;
SQL>alterdatabase add logfile member
‘/dsk2/oradata/bj/redo01b.log’to group 1,
‘/dsk2/oradata/bj/redo02b.log’to group 2,
‘/dsk2/oradata/bj/redo03b.log’to group 3;
SQL> selectmember from v$logfile;
迁移redo日志:(需在mount下进行)
SQL>shutdownimmediate;
$ cp/u01/app/oracle/oradata/TestDB12/redo03.log /dsk1/oradata/bj/redo03a.log;
$ cp/u01/app/oracle/oradata/TestDB12/redo02.log /dsk1/oradata/bj/redo02a.log;
$ cp/u01/app/oracle/oradata/TestDB12/redo01.log /dsk1/oradata/bj/redo01a.log;
$ls/dsk1/oradata/bj
SQL>startupmount;
SQL>alterdatabase rename file
‘/u01/app/oracle/oradata/TestDB12/redo03.log’to ‘/dsk1/oradata/bj/redo03a.log’;
SQL>alterdatabase rename file
‘/u01/app/oracle/oradata/TestDB12/redo02.log’to ‘/dsk1/oradata/bj/redo02a.log’;
SQL>alterdatabase rename file
‘/u01/app/oracle/oradata/TestDB12/redo01.log’to ‘/dsk1/oradata/bj/redo01a.log’;
SQL>selectmember from v$logfile;
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHVhbmd5YW5sb25n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
删除旧的redo日志文件:
$rm/u01/app/oracle/oradata/TestDB12/redo*;
$ls/u01/app/oracle/oradata/TestDB12/
至此,实现了日志文件与数据文件的文件夹分离(即模拟了文件不在同一个磁盘)。
3、设置归档(bj)
SQL>alterdatabase archivelog;
SQL>showparameter archive
SQL>altersystem set log_archive_dest_1='location=/dsk4/arch_bj';
SQL>altersystem set log_archive_format='arch_%t_%s_%r.log' scope=spfile;
SQL>startupforce;
SQL>archivelog list;
4、所有操作均生成redo设置(bj)
强制“全部操作”都生成redo日志:
SQL>alterdatabase force logging;
SQL>selectname from v$archived_log;
//再查看一下归档日志信息
********************未完待续**************************
声明:
原创作品。出自 “深蓝的blog” 博客,同意转载,转载时请务必注明出处(http://blog.csdn.net/huangyanlong)。
关于涉及版权问题。在追究法律责任的权利。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
linux下一个oracle11G DG建立(一个):准备环境的更多相关文章
- linux下一个Oracle11g RAC建立(五岁以下儿童)
linux下一个Oracle11g RAC建立(五岁以下儿童) 四.建立主机之间的信任关系(node1.node2) 建立节点之间oracle .grid 用户之间的信任(通过ssh 建立公钥和私钥) ...
- linux下一个Oracle11g RAC建立(四)
linux下一个Oracle11g RAC建立(四) 三.配置共享存储 配置ASM管理准备 1)OCRDISK :存储CRS资源配置信息 2)VOTEDISK:仲裁盘.记录节点状态 3)DataDis ...
- linux下一个Oracle11g RAC建立(八)
linux下一个Oracle11g RAC建立(八) 七.安装oracle软件 直接在图形界面里安装oracle.在node1操作 在虚拟机界面中,直接切换到oracle用户下: [grid@no ...
- Mac、Linux下两个Emacs共享一个配置文件
Mac.Linux下两个Emacs共享一个配置文件 有些嵌入式的实验需要在Linux进行,就安装了RHEL6.4的虚拟机,下载并编译了Emacs. 在Linux的.emacs文件中加入以下语句,即可引 ...
- Linux下查看进程(程序)启动时的环境变量
背景: 因最近试安装Linux下的jira,有一个中文插件安装后,一旦设置开机启动后,它是英文,而在终端再重新启动一次后呢,似乎插件生效,它又恢复为正常中文界面,我首先想这这涉及到一个环境变量的问题, ...
- Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】
jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...
- linux下如何优雅的挂载一个外界设备(比如优盘)
最近从事linux,实验室一个破服务器,能连上网,但是输入这样的命令: yum -y install gcc yum -y install gcc-c++ ,居然说是没有这样的镜像,也罢 ...
- 在linux下,怎么去查看一个运行中的程序, 到底是占用了多少内存
1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中 VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物 ...
- 记录Window系统下myeclipes连接linux下mysql所出现的一个bug
记录myeclipes远程连接mysql所出现的一个bug 今天在玩框架hibernate时,出现一个非常费解的bug,话不多说,先看bug Access denied for user 'root' ...
随机推荐
- pinyin4j的使用
pinyin4j的使用 pinyin4j是一个功能强悍的汉语拼音工具包,主要是从汉语获取各种格式和需求的拼音,功能强悍,下面看看如何使用pinyin4j. import net.sourc ...
- drupal form 中图片上传
1.创建url 链接到form $items['qianfeng/add'] = array( 'title' => t('加入信息'), 'page callback' =&g ...
- POJ 1300 Door Man - from lanshui_Yang
Description You are a butler in a large mansion. This mansion has so many rooms that they are merely ...
- IE, FireFox, Opera 浏览器支持CSS实现Alpha透明的方法 兼容问题
一:要解决的问题时:在ie6-ie11下兼容下面透明上传文件button的效果. 实现方式通过滤镜实现. 二:效果图例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3N ...
- 跨平台网络通信与server编程框架库(acl库)介绍
一.描写叙述 acl project是一个跨平台(支持LINUX,WIN32,Solaris,MacOS,FreeBSD)的网络通信库及server编程框架,同一时候提供很多其它的有用功能库.通过该库 ...
- android获取文件getMimeType的两种方法
方法1: import java.util.Locale; private static String getSuffix(File file) { if (file == null || !file ...
- hdu4578(线段树)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=4578 题意:n个数,初始值为0,4种操作: 1.将某个区间所有值加上另一个值: 2.将区间所有值都乘上 ...
- POJ2239_Selecting Courses(二分图最大匹配)
解题报告 http://blog.csdn.net/juncoder/article/details/38154699 题目传送门 题意: 每天有12节课.一周上7天,一门课在一周有多天上课. 求一周 ...
- 文件下载-SpringMVC中測试
直接改动文件路径就能够.其它都不须要改动,帮助类已经为大家写好,可直接使用 1.Scroller: /** * 下载文件 * @author liupeng * @param request * @p ...
- J2EE请求和响应—Servlet
一.什么是Servlet? Servlet是执行Webserver上的一个特殊Java类.其特殊用途是响应client请求并做出处理.使得client与server端进行交互. 二.生命周期 Ser ...