DataGuard for 10gR2 in Redhat 4.4

 技术学习  没有评论 »
272009
 

Primary: c01q62
Standby:c01q63

1, 建立 Primary DB

2, 确定 DB 使用 spfile
[CODE]show parameter spfile;
create spfile from pfile;
shutdown immediate;
startup[/CODE]
3, 开启 archive log 模式
[CODE]alter system set log_archive_dest=''
alter system set log_archive_dest_1='location=/oralog/SONIC/primary' scope=both;
shutdown immediate
startup mount
alter database archivelog
alter database open
archive log list[/CODE]
4, 开启 force logging 模式

alter database force logging;

5, 建立 Standby DB
确保 Standby Server 上已安装 DB 软件
在Primary DB关闭模式下将所有 datafile 跟 redo log file 拷贝到 Standby Server上
生成 standby control file,生成 standby pfile,并传输到 standby server 上,名字路径修改正确
[CODE]alter database create standby controlfile as '/tmp/standby.ctl';
create pfile='$ORACLE_HOME/dbs/standby.ora' from spfile;[/CODE]
6, 修改 Primary DB 的 pfile
[CODE]alter system set db_unique_name='C01Q62_SONIC' scope=spfile
alter system set fal_client='C01Q62_SONIC' scope=both;
alter system set fal_server='C01Q63_SONIC' scope=both;
alter system set log_archive_dest_2='SERVICE=C01Q63_SONIC OPTIONAL VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=C01Q63_SONIC LGWR ASYNC NOAFFIRM REOPEN=10';
alter system set service_names='C01Q62_SONIC' scope=both;
alter system set standby_archive_dest='/oralog/SONIC/standby' scope=both;
alter system set standby_file_management='AUTO' scope=both;
[/CODE]
7, 修改 Standby DB 的 pfile
[CODE]vi $ORACLE_HOME/dbs/initSONIC.ora
control_files=‘/orasys/SONIC/control01.ctl, /oradat/SONIC/control02.ctl, /oraidx/SONIC/control03.ctl’
background_dump_dest='/oracle/product/admin/SONIC/bdump'
core_dump_dest='/oracle/product/admin/SONIC/cdump'
user_dump_dest='/oracle/product/admin/SONIC/udump'
db_unique_name='C01Q63_SONIC'
log_archive_dest_1='location=/oralog/SONIC/primary'
fal_server='C01Q62_SONIC'
fal_client='C01Q63_SONIC'
standby_archive_dest='/oralog/SONIC/standby‘
standby_file_management=‘AUTO’
log_archive_dest_2='SERVICE=C01Q63_SONIC OPTIONAL VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=C01Q63_SONIC LGWR ASYNC NOAFFIRM REOPEN=10';
service_names='C01Q63_SONIC'[/CODE]
8, 修改 listener.ora, tnsnames.ora
Primary listener.ora
[CODE]
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/product/10.2.0)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = c01q62)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
[/CODE]
Primary tnsnames.ora
[CODE]
SONIC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = c01q62)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SONIC)
)
)
C01Q63_SONIC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = c01q63)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = C01Q63_SONIC)
)
)
C01Q62_SONIC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = c01q62)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = C01Q62_SONIC)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
[/CODE]
Standby listener.ora
[CODE]
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/product/10.2.0)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = c01q63)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
[/CODE]
Standby tnsname.ora
[CODE]
SONIC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = c01q63)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SONIC)
)
)
C01Q63_SONIC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = c01q63)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = C01Q63_SONIC)
)
)
C01Q62_SONIC =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = c01q62)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = C01Q62_SONIC)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
[/CODE]
9,分别在 Primary, Standby 上建立 standby redo log
[CODE]Alter DATABASE ADD STANDBY LOGFILE GROUP 4 ('/orasys/FDC/redo04.log') SIZE 50M;
Alter DATABASE ADD STANDBY LOGFILE GROUP 5 ('/oradat/FDC/redo05.log') SIZE 50M;
Alter DATABASE ADD STANDBY LOGFILE GROUP 6 ('/oraidx/FDC/redo06.log') SIZE 50M;[/CODE]
10, 开启 Standby DB
[CODE]startup nomount
create spfile from pfile;
alter database mount standby database;
alter database recover managed standby database disconnect from session;[/CODE]
11, 测试 Data Guard
Primary DB:
[CODE]archive log list
alter system switch logfile
archive log list[/CODE]
Standby DB:
[CODE]select sequence#, first_time, next_time from v$archived_log order by sequence#
select sequence#, applied from v$archived_log order by sequence#;[/CODE]

Linux 下 RCP 的使用实践

 技术学习  没有评论 »
242009
 

OS: Red Hat Enterprise 4.4

1, 将需要进行 rcp 的两台主机分别加入到 /etc/hosts 下面

vi /etc/hosts

2,在 root 目录下建立 .rhosts 文件,并将双方的 hostname 加进去

[code]
cd /root
touch .rhosts
vi .rhosts
-- 加入 "hostanme root"
[/code]

3,执行 ntsysv,将 rsh 服务启动

[code]
ntsysv
-- 将 rsh 选项前的用空格键选中,确定退出
service xinetd restart
[/code]

4,到 /etc/pam.d/ 目录下,把 rsh 文件中的 auth required /lib/security/pam_securetty.so 用 "#" 注释掉

5,使用 rcp 命令

[code]
rcp local_file remote_hostname:remote_file
rcp remote_hostname:remote_file local_file
[/code]

Linux 下 LVM 的使用

 技术学习  没有评论 »
172009
 

1、 创建分区
使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。

2、 创建物理卷
创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。将整个磁盘创建为物理卷的命令:
# pvcreate /dev/cciss/c1d0
将单个分区创建为物理卷的命令为:
# pvcreate /dev/cciss/c1d0p5

3、 创建卷组
创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷组:
# vgcreate vg00 -s 32M /dev/cciss/c1d0p5
vgcreate命令第一个参数是指定该卷组的逻辑名:vg00。后面参数是指定希望添加到该卷组的所有分区和磁盘。vgcreate在创建卷组 vg00 以外,还设置使用大小为 32 MB的PE(默认为4MB),这表示卷组上创建的所有逻辑卷都以 32 MB 为增量单位来进行扩充或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小,4 MB 的PE决定了单个逻辑卷最大容量为 256 GB,若希望使用大于256G的逻辑卷则创建卷组时指定更大的PE。PE大小范围为8 KB 到 512 MB,并且必须总是 2 的倍数(使用-s指定,具体请参考man vgcreate)。

4、 激活卷组
为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:
# vgchange -a y vg00

5、 添加新的物理卷到卷组中
当系统安装了新的磁盘并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:
# vgextend vg00 /dev/cciss/c1d1
这里/dev/cciss/c1d1是新的物理卷。

6、 从卷组中删除一个物理卷
要从一个卷组中删除一个物理卷,先要确认要删除的物理卷没有被任何逻辑卷在使用,用pvdisplay命令察看一个该物理卷信息:
如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令为vgreduce:
# vgreduce vg00 /dev/cciss/c1d1

7、 创建逻辑卷
创建逻辑卷的命令为lvcreate:
# lvcreate -L 70G -n stblog vg00
该命令就在卷组 vg00 上创建名字为 oracle ,大小为 70G 的逻辑卷,并且设备入口为/dev/vg00/stblog(vg00为卷组名,stblog为逻辑卷名)。如果希望创建一个使用全部卷组的逻辑卷,则需要首先察看该卷组的PE数,然后在创建逻辑卷时指定:
# vgdisplay vg00| grep "Total PE"
Total PE 8238
# lvcreate -l 8238 vg00 -n stblog

8、 创建文件系统
使用命令 mkfs.ext3

# mkfs.ext3 /dev/vg00/stblog
创建了文件系统以后,就可以加载并使用它:
# mkdir /stblog
# mount /dev/vg00/stblog /stblog
如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:
/dev/vg00/stblog /stblog ext3 defaults 1 2

9、 删除一个逻辑卷
删除逻辑卷以前首先需要将其卸载,然后删除:
[color=Red] # umount /stblog
# lvremove /dev/vg00/stblog[/color]

10、 扩展逻辑卷大小

调整逻辑卷容量的同时也要调整在该卷上的文件系统的大小,增大容量时,先调整容量,后调整文件系统,若要缩小容量则反之。
LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是 lvextend:
# lvextend -L 80G /dev/vg00/stblog

上面的命令就实现将逻辑卷www1的大小扩招为 80G。
# lvextend -L+10G /dev/vg00/stblog

上面的命令就实现将逻辑卷 stblog 的大小增加 10G。
增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。
# ext2online -f /dev/vg00/stblog
最好将文件系统卸载,调整大小,然后再加载:
[color=Red] # umount /dev/vg00/stblog
# ext2online /dev/vg00/stblog
# mount /dev/vg00/stblog /stblog[/color]
对于使用ext2或ext3文件系统的用户可以考虑使用工具
ext2resize。http://sourceforge.net/projects/ext2resize

西塘印象

 旅游摄影  2 条评论 »
142009
 

14人,四部车,自驾1小时,从苏州到达西塘,小河边的船上吃个中饭,路边的小摊上买个钥匙串,农家的胡同里煮壶咖啡,吃个西瓜,搭会积木,客栈的小屋里来几把“杀人”,小镇的桥中央拍几张照片,树荫下的躺椅上吹会凉风,路边的空地上搭顶帐篷,木头的屋檐下摆上酒菜,深夜的街道上拎着酒瓶唱歌。。。

ORA-04021(timeout occurred while waiting to lock)

 技术学习  没有评论 »
072009
 

某个应用正在锁定该表或者包

表:

[code]
select b.SID, b.SERIAL#, c.SQL_TEXT
from v$locked_object a, v$session b, v$sqlarea c
where a.SESSION_ID = b.SID
and b.SQL_ADDRESS = c.ADDRESS
and c.sql_text like '%table_name%'
[/code]

包:
[code]
select B.SID, b.USERNAME, b.MACHINE
FROM V$ACCESS A, V$SESSION B
Where A.SID = B.SID
and a.OBJECT = '%PACKAGE_name%'
and a.TYPE = 'PACKAGE'
[/code]

Powered by WordPress 3.3.1 CopyRight 2004~2012, Sonic Tang

虚拟主机赞助商:海波,苏ICP备11082989号

Suffusion theme by Sayontan Sinha