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建立(一个):准备环境的更多相关文章

  1. linux下一个Oracle11g RAC建立(五岁以下儿童)

    linux下一个Oracle11g RAC建立(五岁以下儿童) 四.建立主机之间的信任关系(node1.node2) 建立节点之间oracle .grid 用户之间的信任(通过ssh 建立公钥和私钥) ...

  2. linux下一个Oracle11g RAC建立(四)

    linux下一个Oracle11g RAC建立(四) 三.配置共享存储 配置ASM管理准备 1)OCRDISK :存储CRS资源配置信息 2)VOTEDISK:仲裁盘.记录节点状态 3)DataDis ...

  3. linux下一个Oracle11g RAC建立(八)

    linux下一个Oracle11g RAC建立(八) 七.安装oracle软件   直接在图形界面里安装oracle.在node1操作 在虚拟机界面中,直接切换到oracle用户下: [grid@no ...

  4. Mac、Linux下两个Emacs共享一个配置文件

    Mac.Linux下两个Emacs共享一个配置文件 有些嵌入式的实验需要在Linux进行,就安装了RHEL6.4的虚拟机,下载并编译了Emacs. 在Linux的.emacs文件中加入以下语句,即可引 ...

  5. Linux下查看进程(程序)启动时的环境变量

    背景: 因最近试安装Linux下的jira,有一个中文插件安装后,一旦设置开机启动后,它是英文,而在终端再重新启动一次后呢,似乎插件生效,它又恢复为正常中文界面,我首先想这这涉及到一个环境变量的问题, ...

  6. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...

  7. linux下如何优雅的挂载一个外界设备(比如优盘)

    最近从事linux,实验室一个破服务器,能连上网,但是输入这样的命令:        yum -y install gcc yum -y install gcc-c++ ,居然说是没有这样的镜像,也罢 ...

  8. 在linux下,怎么去查看一个运行中的程序, 到底是占用了多少内存

    1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中  VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物 ...

  9. 记录Window系统下myeclipes连接linux下mysql所出现的一个bug

    记录myeclipes远程连接mysql所出现的一个bug 今天在玩框架hibernate时,出现一个非常费解的bug,话不多说,先看bug Access denied for user 'root' ...

随机推荐

  1. hdu1281+hdu2819(最大匹配数)

    分析:将行和列缩点,即行对应二分图的X部,列对应二分图的Y部,然后交点为连接该行和该列的一条边.匹配时每点都会把整行整列占了,因此就不会出现冲突了. 传送门:hdu1281 棋盘游戏 #include ...

  2. Android的编译系统

    一.Makefile的主要流程   以下主要流程都在build/core/main.mk里安排.   l  初始化相关的参数设置(buildspec.mk.envsetup.mk.config.mk) ...

  3. java中常用的字符串的截取方法

    java中常用的字符串的截取方法   1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int l ...

  4. LINUX设备驱动程序的注意事项(两)建设和执行模块

             <一>:设置測试系统 首先准备好一个内核源代码树,构造一个新内核,然后安装到自己的系统中.           <二>:HelloWorld模块 #inclu ...

  5. Mit 分布式系统导论,Distributed Systems ,lab1 -lab6 总结,实验一到实验六总结

    终于把Mit的分布式系统导论课的实验1-6写完了 做得有些痛苦,但是收获也很大 http://pdos.csail.mit.edu/6.824-2012/labs/index.html 把实验1-6用 ...

  6. 泛泰A850 (高通8064+720p)刷4.4专用中文recovery TWRP2.7.1.3版

    欢迎关注泛泰非盈利专业第三方开发团队 VegaDevTeam  (本team 由 syhost suky zhaochengw(z大) xuefy(大星星) tenfar(R大师) loogeo cr ...

  7. 堆栈帧的组织——C/C++内存管理必须掌握

    程序栈 说到堆栈帧,你得先说说程序栈. 记忆功能程序堆栈区是支持操作,通常共享堆. 程序栈通常占领内存区域的下部,而堆用的是上部. 程序栈存放栈帧,栈帧有时候也称为活跃记录或活跃帧.栈帧存放函数參数和 ...

  8. Java 里把 InputStream 转换成 String 的几种方法

    我们在 Java 中经常会碰到如何把 InputStream 转换成 String 的情形,比如从文件或网络得到一个 InputStream,需要转换成字符串输出或赋给别的变量. 未真正关注这个问题之 ...

  9. iOS 多线程开发之OperationQueue(二)NSOperation VS GCD

    原创Blog.转载请注明出处 blog.csdn.net/hello_hwc 欢迎关注我的iOS SDK具体解释专栏 http://blog.csdn.net/column/details/huang ...

  10. 该Tiled地图制作拿到项目~~这是偷懒,为了直接复制后写来

    1.现在,.h声明private: cocos2d::CCSprite* ninja; cocos2d::CCTMXTiledMap*  tileMap; 然后.cpp中增加tileMap = CCT ...