linux oracle 冷备份恢复,unix下ORACLE冷备份恢复记录20110801

8月1日冷备份回复记录

备份脚本

PASSWD=sys/manager;       export PASSWD

BACKUP_DIR=/home6/backup; export BACKUP_DIR

ARCH_DIR=/home2/arch;     export ARCH_DIR

#

# Creating database file list in the file file_name.dat

#

echo

echo

echo

echo

echo

echo "get  Creating database file list in the file file_name.dat ..."

sqlplus -s $PASSWD >file_name.dat<

set heading off;

set pagesize 0

set linesize 2000

set feedback off;

REM

REM Listing datafiles

REM

select name from  V\$DATAFILE;

REM

REM Listing contolfiles

REM

select name from V\$CONTROLFILE;

REM

REM Listing online redo log files

REM

select member from V\$LOGFILE;

exit;

!

#

# Shutting down the database

#

echo

echo

echo

echo

echo

echo "Shutting down the database ..."

dbshut

lsnrctl stop tcp_listener

#

#

# Backing up the initialization parameter file

#

echo

echo

echo

echo

echo

echo "Backing up the initialization parameter file ... "

cp -f $ORACLE_HOME/dbs/init$ORACLE_SID.ora $BACKUP_DIR/datafiles

cp -f $ORACLE_HOME/dbs/config$ORACLE_SID.ora $BACKUP_DIR/datafiles

echo "Backing up the initialization parameter file ... OK!!! "

# Backing up the files

# to the file BKPFILE as defined above

#

echo

echo

echo

echo

echo

echo "Backing up the datafiles ..."

for i in `cat file_name.dat`

do

echo " Backing up the datafile $i ... "

cp -f $i $BACKUP_DIR/datafiles

echo " Backing up the datafile $i ... OK!!! "

done

echo

echo

echo

echo

echo

echo "Starting the database ... "

dbstart

lsnrctl start tcp_listener

echo "gzip the datafiles ..."

delete -f $BACKUP_DIR/datafiles/*.gz

chmod 777 $BACKUP_DIR/datafiles/*.*

gzip -f $BACKUP_DIR/datafiles/*.*

echo "gzip the datafiles ... finished"

1.拷贝  冷备份文件

清单

BSYS_DISK1.dbf       STORE_DATA_002.dbf   log4ora7.dbf

configora7.ora       log5ora7.dbf

LARGE_TRANS.dbf      ctrl1ora7.ctl        rbsora7.dbf

NEW.dbf              ctrl2ora7.ctl        store_data_003.dbf

STOCKINDEX_002.dbf   ctrl3ora7.ctl        storedisk03.dbf

STOCK_DATA.dbf       gunzip               storedisk_004.dbf

STOCK_INDEX.dbf      gzip                 systora7.dbf

STOCK_INDEX_002.dbf  initora7.ora         tempora7.dbf

STOREDISK.dbf        log01ora7.dbf        toolora7.dbf

STOREDISK_002.dbf    log02ora7.dbf        usrora7.dbf

STOREINDEX.dbf       log03ora7.dbf

oracle 用户登录

门店的脚本file_name.dat 是在原来的备份的时候有的

dbshut

#删除 FILE_NAME.DAT 的中文

for i in `cat file_name.dat`

do

echo " RM $i ... "

rm -f $i

echo " 删除数据库文件 $i ... OK!!! "

done

rm -f /home/oracle/dbs/initora7.ora

rm -f /home/oracle/dbs/configora7.ora

echo "覆盖原来的数据库文件..."

for i in `cat file_name.dat`

do

echo "解压缩 $i ... "

cd /home6/backup/datafiles/

gunzip ${i##*/}.gz

cp -f /home6/backup/datafiles/${i##*/} $i

echo " 覆盖数据库文件${i##*/}... OK!!! "

done

cp -f /home6/backup/datafiles/initora7.ora /home/oracle/dbs/initora7.ora

cp -f /home6/backup/datafiles/configora7.ora /home/oracle/dbs/configora7.ora

dbstart

结束后

ORA-07331: smsnsg: unable to allocate the variable portion of the SGA.

Additional information: 4

---上网查一查 发现 内核参数没有调账

命令行 / 参数 / 值 值 说明

# ../bin/idtune SHMMNI 200

# ../bin/idtune SEMMSL 150

# ../bin/idtune SCORLIM 0x7FFFFFFF

# ../bin/idtune HCORLIM 0x7FFFFFFF

# ../bin/idtune HFNOLIM 2048

# ../bin/idtune SFNOLIM 1024

# ../bin/idtune ARG_MAX 1048576

# ../bin/idtune NPBUF 100

# ../bin/idtune STRTHRESH 0x500000

有关内存的参数设置

# ../bin/idtune SHMMAX 536870912 物理内存的1/2 共享内存段最大尺寸

# ../bin/idtune SEMMNI 1024      系统共享内存段标识最大数目,默认autotune

# ../bin/idtune SHMSEG 15        每个进程所能使用最大共享内存段数目

# ../bin/idtune NPROC 1600

# ../bin/idtune MAXUP 1000

# ../bin/idtune SEMMNS 200

# ../bin/idtune SDATLIM 0x7FFFFFFF

# ../bin/idtune HDATLIM 0x7FFFFFFF

# ../bin/idtune SVMMLIM 0x7FFFFFFF

# ../bin/idtune HVMMLIM 0x7FFFFFFF

# ../bin/idtune SFSZLIM 0x7FFFFFFF

# ../bin/idtune HFSZLIM 0x7FFFFFFF

ORACLE需要的系统核心参数

# ../bin/idtune MSGMAX 8192   消息最大尺寸

# ../bin/idtune MSGMNB 81920   消息队列尺寸

# ../bin/idtune MSGMNI 2048   系统并存的最大消息队列数目,默认autotune

# ../bin/idtune MSGSSZ 16384

# ../bin/idtune MSGTQL 4096

/etc/conf/bin/idbuild

重启 出现这个问题

ORA-01157: cannot identify data file 20 - file not found

ORA-01110: data file 20: '/home/dbfiles/large_trans_002.dbf'

sqldba lmode=yes

connect internal

startup nomount;

alter database mount

alter database datafile '/home/dbfiles/large_trans_002.dbf' offline drop;

alter database open;

SQLDBA> alter database open;

ORA-01545: rollback segment 'LARGE_TRANS' specified not available

这个时候 直接去/home/oracle/dbs/initora7.ora 里面删除就可以了

重启数据库 解决问题了

rm -f $ORACLE_HOME/rdbms/log/*

su $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart"

su $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start tcp_listener"

删除不用的表空间

ALTER TABLESPACE "NEW" OFFLINE NORMAL;

drop tablespace "NEW" INCLUDING CONTENTS AND DATAFILES;

在数据库中删除用户使用以下语句,可释放表空间.

SQL> drop user ops$edpman cascade;

User dropped.

遇到数据库回滚段满后

回滚段表空间占100%

重新启动数据库

重启动后,

alter rollback segment LARGE_TRANS shrink;

alter rollback segment LARGE_TRANS offline;

drop rollback segment LARGE_TRANS;

然后重新create

CREATE PUBLIC ROLLBACK SEGMENT "LARGE_TRANS"

TABLESPACE "LARGE_TRANS"

STORAGE ( INITIAL 1024K NEXT 128K);

ALTER ROLLBACK SEGMENT "LARGE_TRANS" ONLINE;

数据库环境:oracle server 7.2.3

系统环境:UnixWare test05 5 7.1.3 i386 x86at SCO UNIX_SVR5 25

删除表空间

ALTER TABLESPACE LARGE_TRANS OFFLINE NORMAL;

drop tablespace LARGE_TRANS;

测试发现

UNIX下的物理文件不会自动删除哦

ORA7>rm LARGE_TRANS.dbf

ORA7>rm NEW.dbf

重新创建表空间

CREATE TABLESPACE "NEW" DATAFILE '/home/oracle/dbs/NEW.dbf' SIZE 5M;

CREATE TABLESPACE "LARGE_TRANS" DATAFILE '/home/oracle/dbs/LARGE_TRANS.dbf' SIZE 5M;

1、开启归档

a. 关闭数据库shutdown immediate

b. startup mount

c. alter database archivelog

d. alter database opne

2、禁止归档

a. 关闭数据库shutdown immediate

b. startup mount

c. alter database noarchivelog

d. alter database open

归档信息可以通过如下语句查看

SQL> archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination E:\oracle\ora92\database\archive

Oldest online log sequence 131

Next log sequence to archive 133

Current log sequence 133

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值