- 论坛徽章:
- 0
|
于9月24日下午到房产市场办公楼机房做切换准备。
停到主备机数据库,做数据库的冷全备份。
Sql>shutdown immediate
一、9 月25日上午将备机原有LINUX系统全部删除重新分区格式化,将备机上原有六块磁盘取下三块留以后放在另一台主机上用,然后由泰豪人员将主机(原来备机)做好RID 后用RED HAT LINUX AS 3 系统安装盘安装系统,重新分区,改变以前所用的文件系统格式管理,用逻辑卷形式管理磁盘。开始在图形化安装时将外挂的盘阵划成逻辑卷,但是在安装完成的重启的时候报错,重装了几遍报同样的错误,后来怀疑是由于盘阵的原因,后在安装的时候不对盘阵做操做。安装成功。
安装好LINUX操做系统后,以ROOT用户进入终端运行以下命对盘阵进行操做,使之成为逻辑卷管理。
1. 对盘阵进行分区
#fdisk /dev/sdb
press p (to print the partition table)
and n (to create a new partition)
and t 8e
and w (save)
2. 创建一个物理卷
# pvcreate /dev/sdb1pvcreate -- -physical volume "/dev/sdb1" successfully created
3. 创建一个卷组
# vgcreate -s8 datavg /dev/sdb1 vgcreate- -- INFO: using default physical extent size 8 MB
vgcreate- -- INFO: maximum logical volume size is 800 Gigabyte
vgcreate- -- doing automatic backup of volume group "datavg"
vgcreate- -- volume group "datavg" successfully created and activated
4. 激活卷组
# vgchange -ay datavg
5. 显示卷组细节信息
# vgdisplay--- Volume group ---
VG Name datavg
VG Access read/write
VG Status available/resizable
VG # 0
MAX LV 256
Cur LV 1
Open LV 0
MAX LV Size 512 GB
Max PV 256
Cur PV 2
Act PV 2
VG Size 3.91 GB
PE Size 8 MB
Total PE 1000
Alloc PE / Size 256 / 1 GB
Free PE / Size 744 / 2.91 GB
VG UUID T34zIt-HDPs-uo6r-cBDT-UjEq-EEPB-GF435E
6. 创建逻辑卷datalv,backuplv
#lvcreate -L400G -ndatalv datavg
lvcreate -L400G -nbackuplv datavg
7. 创建文件系统
mkfs.ext3 /dev/datavg/datalv
mkfs.ext3 /dev/datavg/backuplv
8. 加载文件系统
mount –t ext3 /dev/datavg/datalv /oradata 在/etc/fstab和/etc/lilo.conf中添加一个入口。在/etc/fstab中加入以下入口,在启动时加载文件系统:
/dev/datavg/datalv /oradata ext3 default 1 1
至此,操做系统安装设置完成。
二、安装ORACLE数据库
安装补丁包
compat-db-4.0.14-5.i386
compat-gcc-7.3-2.96.122.i386
compat-gcc-c++-7.3-2.96.122.i386
compat-libstdc++-7.3-2.96.122.i386
compat-libstdc++-devel-7.3-2.96.122.i386
openmotif21-2.1.30-8.i386
setarch-1.3-1.i386
tcl-8.3.5-92.i386
一、修改内核参数修改/etc/sysctl.conf 并添加以下内容
kernel.core_uses_pid = 1
kernel.shmmax=1024000000
kernel.shmmin=1
kernel.shmmni=4096
kernel.shmseg=10
kernel.shmmsl=250
kernel.semmns=1000
kernel.semopm=100
kernel.shmall=2097152
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000
修改/etc/security/limits.conf 添加以下
Oracle hard nofile 65536
oracle soft nofile 65536
oracle hard nproc 16384
oracle soft nproc 16384
mkdir /u01/oracle/
mkdir /u01/oracle/app
mkdir /u01/oracle/app/product
mkdir /u01/oracle/app/product/920
chmod 775 /uo1/oracle/app/product/920
二、建立用户及组
groupadd oinstall
groupadd dba
usradd –g oinstall –G dba oracle
passwd oracle
环境变量:
重新以oracle 用户登录
[oracle@nod1 oracle]$ vi $HOME/.bash_profile 建立该文件,将之改成为以下:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
export DISPLAY=192.168.100.144:0.0
export ORACLE_BASE=/u01/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/920
export ORACLE_OWNER=oracle
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export PATH=$ORACLE_HOME/bin:$HOME/bin:/usr/bin:$PATH
umask 022
#gunzip ship_9204_linux_disk1
#gunzip ship_9204_linux_disk2
#gunzip ship_9204_linux_disk3
#cpio -idmv
#cpio -idmv #cpio -idmv
重启系统
#shutdown -ry now
6,打补丁p3006854_9204_LINUX.zip
#mv /usr/bin/gcc /usr/bin/gcc323
#ln –s /usr/bin/gcc296 /usr/bin/gcc
#mv /usr/bin/g++ /usr/bin/g++323
#ln –s /usr/bin/g++296 /usr/bin/g++
#unzip p3006854_9204_LINUX.zip
#cd 3006854
#sh rhel3_pre_install.sh
#xhost +
#su - test
$env (确认下oracle的环境变量设置情况)
$cd Disk1
$./run*
、安装p3238244_9204_LINUX.zip补丁 此补丁也是从http://metalink.oracle.com 下下载,同时要下载一个opatch软件包:p2617419_220_GENERIC.zip,它主要是用来修复agent服务不能启动的错误。 过程如下:
su - oracle
$ cp p2617419_210_GENERIC.zip /tmp
$ cd /tmp
$ unzip p2617419_210_GENERIC.zip
$ export PATH=$PATH:/tmp/OPatch
$ export PATH=$PATH:/sbin
$ unzip p3238244_9204_LINUX.zip
$ cd 3238244
$ opatch apply 补丁修复完成,需要relinked一个.mk文件。
$ cd $ORACLE_HOME/network/lib
$ make -f ins_oemagent.mk install
创建数据库
运行DBCA 创建orcl 为数据库名的库,在点完成时界面突然消失,
# vi $ORACLE_HOME/bin/dbca 找到如下段修改下面这段,只留下其中的第三行,如下
改成如下:
#if [ -f /etc/rac_on ]; then
# Run DBCA
$JRE_DIR/bin/jre
-native -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath
$CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
#else
# Run DBCA
#$JRE_DIR/bin/jre
-DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASSPATH
oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
#fi然后重新运行dbca 建库成功。
三、制定数据备份策略
设置成为以RMAN备份方式
一.创建成恢复目录数据库
如果不是在本地配置RMAN 恢复目录,
在一台WINDOW2000电脑上安装ORACLE数据库,最好保证数据库版本与目标数据库的版本想同。
二.建立RMAN 数据库用户及表空间:
RECOVER CATALOG 表空间(cattbs):1G
系统表空间: 100M
UNDO表空间: 100M
临时表空间(TEMP): 100M
用以下命令创建RMAN 用户并授予权限:
Create user rman identified rman default tablespace cattbs temporary tablespace temp;
授予权限:
Grant connect, resource to rman;
Grant recovery_catalog_owner to rman
创建恢复目录:
进入RMN 如果恢复目录与目标数据库不在同一台机子上,用以下:
Rman catalog rman/rman@192.168.100.144.
Rman> create catalog
Rman target
[email=sys/a123456@192.168.100.2]sys/a123456@192.168.100.2[/email]
catalog rman/rman
C:/rman target
[email=sys/a123456@192.168.100.2]sys/a123456@192.168.100.2[/email]
catalog rman /rman
Rman> register database;
如果想重新注册,查询数 据字典DB 得到DB_KEY与DB_ID 执行DBMS_RCVAT.UNREGISTERDATABASE 命令取消注册。重新注册。
Sql> conn rman/rman
Sql> select * from db;
Sql> exec dbms_rcvcat.unregisterdatabase(DB_KEY,DB_ID);
Rman> resync catalog;
每半年做一个数据库的全备份(包含只读表空间)
每个月做一次零级备份(不包含只读表空间)
每个星期做一次一级备份
每天做一个二级备份
数据库全备份脚本:
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup full tag 'dbfull' format '/backup/orcl/full%d_%p_%t' database ;
sql 'alter system archive log current' ;
backup format /backup/orcl/dbL0/dbL0%d_%p_%t.arc' filesperset 5 archivelog all delete input;
release channel c1;
release channel c2;
release channel c3;
}
零级备份脚本(只读表空间除外)
run {
allocate channel c1 type disk maxpiecesize =20G;
allocate channel c2 type disk maxpiecesize =20G;
allocate channel c3 type disk maxpiecesize =20G;
backup incremental level 0 filesperset 10 tag 'dbL0' format '/backup/orcl/dbL0/dbL0%u_%p_%c ' database skip readonly;
sql 'alter system archive log current' ;
backup format '/backup/orcl/dbL0/arch%u_%p_%c.arc' filesperset 5 archivelog from time "sysdate-1" all;
release channel c1;
release channel c2;
release channel c3;
}
一级备份脚本
run {
allocate channel c1 type disk maxpiecesize =20G;
allocate channel c2 type disk maxpiecesize =20G;
allocate channel c3 type disk maxpiecesize =20G;
backup incremental level 1 filesperset 5 tag 'dbL1' format '/backup/orcl/dbL1/dbL1%d_%p_%t ' ddatabase skip readonly;
sql 'alter system archive log current' ;
backup format '/backup/orcl/dbL1/dbL1%d_%p_%t.arc' filesperset 5 archivelog from time "sysdate-1" all;
release channel c1;
release channel c2;
release channel c3;
}
二级备份脚本
run {
allocate channel c1 type disk maxpiecesize =20G;
allocate channel c2 type disk maxpiecesize =20G;
allocate channel c3 type disk maxpiecesize =20G;
backup incremental level 2 filesperset 5 tag 'dbL2' format '/backup/orcl/dbL2/dbL2%u_%p_%c' ddatabase skip readonly;
sql 'alter system archive log current' ;
backup format '/backup/orcl/dbL2/dbL2%d_%p_%t.arc' filesperset 5 archivelog from time "sysdate-1" all;
release channel c1;
release channel c2;
release channel c3;
}
归档文件备份脚本
run {
allocate channel dev1 type disk maxpiecesize =20G;
allocate channel dev2 type disk maxpiecesize =20G;
allocate channel dev3 type disk maxpiecesize =20G;
sql 'alter system archive log current' ;
bac backup format '/backup/orcl/arc/arch%u_%p_%c ' archivelog from time "sysdate-1" all;
release channel dev1;
release channel dev2;
release channel dev3;
}
表空间备份脚本(以users表空间为例)
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
backup tag 'tabsp' format '/backup/orcl/tabsp/tabsp%u_%p_%c' tablespace users;
sql 'alter system archive log current' ;
backup format 'e:oradata%d_%p_%t.arc' filesperset 5 archivelog all delete input;
release channel c1;
release channel c2;
release channel c3;
}
则每天所需要备份的数据量只有一天的改变量。而做恢复时最多只要恢复当月的一个零级备份+三个一级备份+6个二级备份+当天的归档文件。如果不能接受这样的恢复时间,就只能够减少零级备份之间的时间间隔(如可以每个星期做一个零级备份,这样恢复时最多只需要恢复一个星期的数据量)。
备份CATALOG数据库(数据库逻辑输出)
exp pafile=exp.dat
其中exp.dat如下
userid=rman/rman
file=rmanexp.dmp
至此,工作完成!!!!
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18323/showart_416562.html |
|