drbd 설치

yum install drbd82 kmod-drbd82


modprobe drbd


/etc/hosts

119.207.76.23   node1

119.207.76.24   node2


fdisk 로 +500G 잡아서 파티션하고 리붓


vi /etc/drbd.conf   ( node1, node2 )

global {

        usage-count yes;

}


common {

        syncer { rate 50M; }

}


resource "r0" {

        protocol C;

                syncer {

                }


        on node1 {

                address 119.207.76.23:7791;

                device          /dev/drbd0;

                disk            /dev/cciss/c0d0p6;

                meta-disk       internal;

        }

        on node2 {

                address 119.207.76.24:7791;

                device          /dev/drbd0;

                disk            /dev/xvdb1;

                meta-disk       internal;

        }

}


drbdadm create-md all ( node1, node2 ) 

(dd if=/dev/zero of=/dev/sda9 bs=1M count=128)

 

/etc/rc.d/init.d/drbd start (node1, node2 )


drbdadm -- --overwrite-data-of-peer primary all (node1)


mkfs.ext3 /dev/drbd0 (node1)

mount /dev/drbd0 /data/ (node1)


# check

cat /proc/drbd


• cs — connection state

• st — node state (local/remote)

• ld — local data consistency

• ds — data consistency

• ns — network send

• nr — network receive

• dw — disk write

• dr — disk read

• pe — pending (waiting for ack)

• ua — unack'd (still need to send ack)

• al — access log write count


# 마스터장애시 수동 전환

umount /data (node1)

drbdadm secondary all (node1)

cat /proc/drbd (node1)


drbdadm primary all (node2)

mount /dev/drbd0 /data (node2)

'리눅스ETC' 카테고리의 다른 글

yum 속도 개선  (0) 2016.03.30
rsync 에러  (0) 2016.03.30
오라클 redo/archive 이중화  (0) 2016.03.30
오라클 커넥션 에러  (0) 2016.03.30
오라클 리스너 로그 로테이트 시키기  (0) 2016.03.30

리두/아카이브 로그 이중화


1. 리두로그 이중화 


select a.group#, a.member, b.bytes/1024/1024 mb, b.sequence#, b.archived, b.status

from v$logfile a, v$log b

where a.group#=b.group#

order by 1,2;


current -> active 

alter system switch logfile;


active -> inactive

alter system checkpoint;


#####################################################


리두로그 그룹추가

alter database add logfile group 그룹번호

   '리두로그파일명' size 크기;


alter database add logfile group 4

   '/home/oracle/oradata/testdb/redo04.log' size 10M;


리두로그 맴버추가

alter database add logfile member

   '리두로그파일명' to group 그룹번호;


alter database add logfile member

   '/home/oracle/oradata/testdb/redo04_b.log' to group 4;


리두로그 그룹 삭제

  - 해당 그룹에 멤버가 1개밖에 남지 않았다면 그룹삭제를 해야만 지울 수 있다.


  - 8i까지는 멤버가 2개 이상 들어있는 그룹을 한번에 삭제 불가능했다. 꼭 멤버 하나가 남게 한다음 그룹삭제가 가능했다. 

하지만 9i부터는 그룹에 멤버가 여러 개 있어도 그룹을 한방에 삭제 가능하다.

  

  - INACTIVE만 삭제 가능하다. 

  

  - 리두로그파일 상태 조회 쿼리를 날려서 리두로그파일의 상태를 확인 후 로그스위치를 날려서 CURRENT는 ACTIVE로 바꾼 후, 

체크포인트를 날려서 ACTIVE를 INACTIVE로 바꾼 후 삭제를 하면 된다.

  

  - OS명령어로 파일 먼저 삭제하고 alter명령을 날리면 에러가 나면서 안지워진다.

 왜냐하면 alter명령을 날리면 서버프로세스가 컨트롤파일 안에 있는 리두로그파일의 명단과 위치를 보고 찾아가서 있으면 지우는데, 

가보니 이미 OS명령어로 삭제했다면 해당 파일이 없다며 에러를 띄우게 된다.


alter database drop logfile group 그룹번호;

alter database drop logfile group 4;


리두로그 멤버 삭제

  - INACTIVE만 삭제 가능하다.

alter database drop logfile member

   '리두로그파일명';


alter database drop logfile member

   '/home/oracle/oradata/testdb/redo04_b.log';


#####################################################


운영중인 아카이브모드 서버에 이미 그룹 갯수가 충분하므로(현재 5개다) 각 그룹에 멤버들만 추가해주면 된다.


## 원래 위치는 /data1/oradata/ASPDB/redo1.log redo2.log ......


alter database add logfile member

   '/data1/Backup/redo/redo1-bkp.log' to group 1;


alter database add logfile member

   '/data1/Backup/redo/redo2-bkp.log' to group 2;


alter database add logfile member

   '/data1/Backup/redo/redo3-bkp.log' to group 3;


alter database add logfile member

   '/data1/Backup/redo/redo4-bkp.log' to group 4;


alter database add logfile member

   '/data1/Backup/redo/redo5-bkp.log' to group 5;



2. 아카이브로그 이중화

alter system set log_archive_dest_2='location=/data1/Backup/archive'

select * from v$archive_dest


alter system switch logfile 로 아카이브 생성 확인

'리눅스ETC' 카테고리의 다른 글

rsync 에러  (0) 2016.03.30
drbd 설치  (0) 2016.03.30
오라클 커넥션 에러  (0) 2016.03.30
오라클 리스너 로그 로테이트 시키기  (0) 2016.03.30
재설치를 위해 기존 오라클 삭제하기  (0) 2016.03.30

ORA-00020: maximum number of processes (150) exceeded



# 현재 프로세스 항목이 몇으로 잡혀있나보고.

SQL> show parameters

process = 150 



# 원하는 수치로 변경해준다.

SQL> ALTER SYSTEM SET processes = 200 scope=both;


만약 "SQL Error: ORA-02095: specified initialization parameter cannot be modified" 에러가 나면

scope 항목을 spfile 로 바꿔준다.


오라클 재시작


show parameters

process = 200 


vi /etc/logrotate.d/listener

/Oracle/orcl/network/log/listener.log {

    missingok                      # 파일이 없어도 에러토하지않음

    daily                                # 매일 로테이트

    rotate 30                        # 저장 30개

    compress                        # 압축해서 저장

    create 640 oracle dba  # 퍼미션/소유권 지정

    prerotate                        # 로테이트 전에 실행됨

        su - oracle -c "lsnrctl set Log_status off"

    endscript

    postrotate                       # 로테이트 하고나서 실행됨

        su - oracle -c "lsnrctl set Log_status on"

    endscript

}



1. 테이블스페이스 데이터 파일 위치 확인해 폴더째로 삭제


2. 오라클내리고 리스너 내리고


3. $ORACLE_BASE 안에 몽땅 삭제


4. /etc 안에 orainst.loc oratab 삭제


5. /usr/local/bin 안에 dbhome coraenv oraenv 삭제

undo 테이블스페이스 용량이 너무 커졌을 경우 디스크 부담이 있으므로 정리해줘야 할때가 있다.



# 임시로 새로운 빈 테이블스페이스 만들어주고

CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE 

  '/Oracle/oradata/orcl/undotbs02.dbf' SIZE 10M;


# 그걸로 사용하게 바꿔주고

ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;


# 기존 undo 테이블스페이스 지워주고

DROP TABLESPACE UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;


# 지운 기존 undo 테이블스페이스명으로 새로 하나 만들어주고

CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE 

  '/Oracle/oradata/orcl/undotbs01.dbf' SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED

ONLINE

RETENTION NOGUARANTEE

BLOCKSIZE 8K

FLASHBACK ON;


# 방금 새로 만든걸로 사용하게 바꿔주고

ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS1;


# 임시로 만들어준 테이블스페이스 날려준다.

DROP TABLESPACE UNDOTBS2 INCLUDING CONTENTS AND DATAFILES;

# temp를 어떤파일로 어떤티비이름으로 쓰는지 확인하고

select * from dba_temp_files;



# 임시로 템프티비 하나 생성하고

create temporary tablespace imsi_temp

tempfile '/opt/oracle/oradata/ORCL/imsi_temp.dbf' size 1024M reuse

autoextend on next 1M maxsize unlimited extent management local uniform size 1M;



# 기본 템프티비를 새로 생성한 임시템프로 지정

alter database default temporary tablespace imsi_temp;



# 기존 템프티비 삭제

### drop tablespace temp including contents and datafiles;




# 실제 사용할 템프티비 다시 생성하고

create temporary tablespace temp

tempfile '/opt/oracle/oradata/ORCL/temp01.dbf' size 1024M reuse

autoextend on next 1M maxsize unlimited extent management local uniform size 1M;



# 기본 템프티비를 다시 생성한 실제 티비로 지정

alter database default temporary tablespace temp;



# 임시로 생성했던 임시템프티비를 삭제

### drop tablespace imsi_temp including contents and datafiles;



# 잘되었나 확인하작

select * from dba_temp_files;

alter tablespace tablespace_name add

datafile '/경로/tablespace_name02.dbf' size 20M;



20메가짜리 02.dbf 하나더 만들어주면서 확장~

일단 로컬에서 작업이 가능하다는 전제하에...


sqlplus '/as sysdba' 로 들어가서


alter user sys identified by 암호;

alter user system identified by 암호;


일반계정수정과 별다를꺼....음따는

color        640 x 480        800 x 600      1024 x 768       1280 x 1024      1600 x 1200   

 8bit              769                  771                      773                   775                    797   

16bit             785                  788                      791                   794                    798   

24bit             786                  789                      792                   795                    799   




/boot/grub/grub.conf ( /etc/grub.conf ) 의 내용을 


kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/  vga=791 


vga 옵션을 추가해준다.


'리눅스ETC' 카테고리의 다른 글

오라클 테이블스페이스 용량 확장(데이타 파일추가)  (0) 2016.03.30
오라클 sys 계정 암호 분실시  (0) 2016.03.30
df 와 du 의 다른 결과  (0) 2016.03.30
Xen drbd + iscsi + hearbeat  (0) 2016.03.30
타임존 변경  (0) 2016.03.30

to Top