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 指定大小]
参考图例:

操作:
# 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、格式化逻辑卷
对逻辑卷进行格式化:
参考图例:

操作如下:
#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; //查看日志位置

SQL>select name from v$datafile; //查看数据文件位置

SQL>archive log list //查看归档模式,DG必须是归档模式

以上查询得知:
控制文件、日志文件、数据文件在同一目录下,且未开归档。于是下面就要根据查询出的结果对数据库进行改造,模拟一个较复杂的环境。
创建文件放置位置所需目录:
规划:
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/red