Pages: 2/10 First page Previous page 1 2 3 4 5 6 7 8 9 10 Next page Final page [ View by Articles | List ]
默认安装情况下,oracle归档路径可能只有一个,即$ORACLE_HOME/flash_recovery_area这个位置:

SQL> show parameter db_recovery_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /opt/oracle/oracle/product/10.
                                                 2.0/db_1/flash_recovery_area
db_recovery_file_dest_size           big integer 2G

而其他归档日志参数默认值都为空:
SQL> show parameter log_archive

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_config                   string
log_archive_dest                     string
log_archive_dest_1                   string
log_archive_dest_10                  string
log_archive_dest_2                   string
log_archive_dest_3                   string
log_archive_dest_4                   string
log_archive_dest_5                   string
log_archive_dest_6                   string
log_archive_dest_7                   string
log_archive_dest_8                   string

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_9                   string
log_archive_dest_state_1             string      enable
log_archive_dest_state_10            string      enable
log_archive_dest_state_2             string      enable
log_archive_dest_state_3             string      enable
log_archive_dest_state_4             string      enable
log_archive_dest_state_5             string      enable
log_archive_dest_state_6             string      enable
log_archive_dest_state_7             string      enable
log_archive_dest_state_8             string      enable
log_archive_dest_state_9             string      enable

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_duplex_dest              string
log_archive_format                   string      %t_%s_%r.dbf
log_archive_local_first              boolean     TRUE
log_archive_max_processes            integer     2
log_archive_min_succeed_dest         integer     1
log_archive_start                    boolean     FALSE
log_archive_trace                    integer     0


使用参数 log_archive_dest 修改归档日志路径
SQL> alter system set log_archive_dest='/opt/oracle/archive' scope=both;
alter system set log_archive_dest='/opt/oracle/archive' scope=both
*
ERROR at line 1:
ORA-02097: parameter cannot be modified because specified value is invalid
ORA-16018: cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n or
DB_RECOVERY_FILE_DEST

报db_recovery_file_dest参数不能和LOG_ARCHIVE_DEST还有 LOG_ARCHIVE_DEST_N同时使用,先将
db_recovery_file_dest参数置空:

SQL> alter system set db_recovery_file_dest='' scope=both;

System altered.


SQL> alter system set log_archive_dest='/opt/oracle/archive' scope=both;

System altered.

归档日志参数的格式:
SQL> show parameter log_archive_format;

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
log_archive_format                   string      %t_%s_%r.dbf

SQL> alter system switch logfile;

System altered.

查看归档日志:
SQL> host ls -al /opt/oracle/archive/
total 1156
drwxr-xr-x  2 oracle oinstall    4096 2010-03-02 11:28 .
drwxrwxr-x 25 oracle oinstall    4096 2010-03-02 11:14 ..
-rw-r-----  1 oracle oinstall 1170432 2010-03-02 11:28 1_34_708277817.dbf

oracle建议归档日志使用log_archive_dest_n代替log_archive_dest,故一般将log_archive_dest和db_recovery_file_dest置空,然后设置log_archive_dest_n .
VERSION:


SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit
PL/SQL Release 10.2.0.4.0 - Production
CORE    10.2.0.4.0      Production
TNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - Production


Check current database archive log mode

SQL> select dbid,name,log_mode from v$database;

      DBID NAME      LOG_MODE
---------- --------- ------------
2406511032 CAPITALV  NOARCHIVELOG


SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     32
Current log sequence           34


shutdown database clear

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.


startup database to mount status:
SQL> startup mount;
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  2083368 bytes
Variable Size             142607832 bytes
Database Buffers          134217728 bytes
Redo Buffers                6303744 bytes
Database mounted.



open database archive log mode :

SQL> alter database archivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     32
Next log sequence to archive   34
Current log sequence           34


stop archive log mode :

SQL> shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup mount;
ORACLE instance started.

Total System Global Area  285212672 bytes
Fixed Size                  2083368 bytes
Variable Size             142607832 bytes
Database Buffers          134217728 bytes
Redo Buffers                6303744 bytes
Database mounted.
SQL> alter database noarchivelog;

Database altered.

SQL> alter database open;

Database altered.

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     32
Current log sequence           34


OS:Debian Lenny 503 amd64
Oracle 10g R2

emctl stop dbconsole
isqlplusctl stop


Quotation
cd $ORACLE_HOME/jdk/jre/lib
mv font.properties font.properties_bak20091229
cp -frp font.properties.zh_CN.Redhat font.properties


vim font.properties
in the last line :
change
Quotation
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf

to
Quotation
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/simhei.ttf


simhei.ttf copied from windows (C:\WINDOWS\Fonts )

Quotation
cp -f font.properties $ORACLE_HOME/jre/1.4.2/lib
cp -f font.properties $ORACLE_HOME/javavm/lib/ojvmfonts


Quotation
rm -fr $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*.gif
rm -fr $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplus/isqlplus/cabo/images/cache/*.gif


emctl start dbconsole
isqlplusctl start


-------EOF--------

Postgresql Warm Standby Testing

[不指定 2009/12/03 11:24 | by askwan ]
OS: Debian5.0  lenny x86_64
Postgresql:8.3.8
Master :192.168.0.121
Warm  Standby:192.168.0.122

Open in new window
1.  install postgresql on both master and warm standby server.
#cd /usr/local/src/postgresql-8.3.8/
#./configure –prefix=/usr/local/pgsql
#make
#make install
#mkdir /usr/local/pgsql/data
#chown postgres /usr/local/pgsql/data
#su - postgres
$/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data



2.  Config passwordless ssh authentication use user postgres
Please refer to http://www.petefreitag.com/item/532.cfm

3.  Install pg_standby on both both master and warm standby server.


#cd /usr/local/src/postgresql-8.3.8/contrib/pg_standby
#make
#make install


4.  Config postgresql  

In master  server :
Quotation
archive_mode = on
archive_command = 'rsync -arv %p postgres@192.168.0.122:/wal_archives/%f'
archive_timeout = 1200


in warm standby server :
#mkdir /wal_archives
#chown postgres /wal_archives/


start  master server :
pg_ctl -D /usr/local/pgsql/data/ start -l /usr/local/pgsql/data/logfile




5.  Dump all production data to master server  .

You can check the warm standby server ‘s /wal_archives directory , whether there is archive logs  from master server located on .

6.  Login to master  server as postgres user.
Create a script to do a base backup:
Quotation
#!/bin/bash
PGDATA=/usr/local/pgsql/data
psql -c "CHECKPOINT;"
psql -c "SELECT pg_start_backup('BASEBACKUP');"
tar -C /usr/local/pgsql/ -zcf - data |ssh 192.168.0.122 "tar -C /usr/local/pgsql/ -zxf -"
psql -c "select pg_stop_backup();"
echo "BASEBACKUP compete!"

7.  Login to warm standby server as postgresql user.
Create a script to do some clean and configuration

Quotation
#!/bin/bash
PG_HOME=/usr/local/pgsql
PGDATA=/usr/local/pgsql/data
trigger_file=/tmp/pgsql.trigger
pg_standby=$PG_HOME/bin/pg_standby
PG_ARCHIVES=/wal_archives
  rm -f $PGDATA/recovery.*
  rm -f $PGDATA/logfile
  rm -f $PGDATA/postmaster.pid
  rm -f $PGDATA/pg_xlog/0*
  rm -f $PGDATA/pg_xlog/archive_status/0*
  sed -i '/^archive_/s/^/#/g' $PGDATA/postgresql.conf
  echo "restore_command = '$pg_standby -l -d -s 2 -t $trigger_file $PG_ARCHIVES %f %p %r 2>>/tmp/standby.log'" > $PGDATA/recovery.co
nf
  chown postgres.postgres $PGDATA/recovery.conf
  echo "Init completed! now start warm standby server."

              
Note:PostgreSQL 8.4 provides the recovery_end_command option.so,in recovery.conf add recovery_end_command=’rm –f /tmp/pgsql.trigger ’

pg_standby supports creation of a "warm standby" database server. It is designed to be a production-ready program, as well as a customizable template should you require specific modifications.
More about pg_standby,refer to http://www.postgresql.org/docs/current/static/pgstandby.html
http://www.enterprisedb.com/docs/en/8.4/pg/pgstandby.html



8.  Start  warm standby server
pg_ctl -D /usr/local/pgsql/data start -l /usr/local/pgsql/data/logfile


9.  check  warm standby postgresql  logfile:
Quotation
LOG:  database system was interrupted; last known up at 2009-12-03 11:44:37 CST
LOG:  starting archive recovery
LOG:  restore_command = '/usr/local/pgsql/bin/pg_standby -l -d -s 2 -t /tmp/pgsql.trigger /wal_archives %f %p %r 2>>/tmp/standby.log
'
LOG:  restored log file "000000010000000000000014.00000020.backup" from archive
LOG:  restored log file "000000010000000000000014" from archive
LOG:  automatic recovery in progress
LOG:  redo starts at 0/14000068
FATAL:  the database system is starting up
LOG:  restored log file "000000010000000000000015" from archive
LOG:  restored log file "000000010000000000000016" from archive
LOG:  restored log file "000000010000000000000017" from archive
LOG:  restored log file "000000010000000000000018" from archive
LOG:  restored log file "000000010000000000000019" from archive
LOG:  restored log file "00000001000000000000001A" from archive
LOG:  restored log file "00000001000000000000001B" from archive
LOG:  restored log file "00000001000000000000001C" from archive
LOG:  restored log file "00000001000000000000001D" from archive
LOG:  restored log file "00000001000000000000001E" from archive
LOG:  restored log file "00000001000000000000001F" from archive
LOG:  restored log file "000000010000000000000020" from archive
LOG:  restored log file "000000010000000000000021" from archive
……


Check standby logfile:
Quotation
Trigger file            : /tmp/pgsql.trigger
Waiting for WAL file    : 00000001.history
WAL file path           : /wal_archives/00000001.history
Restoring to...         : pg_xlog/RECOVERYHISTORY
Sleep interval          : 2 seconds
Max wait interval       : 0 forever
Command for restore     : ln -s -f "/wal_archives/00000001.history" "pg_xlog/RECOVERYHISTORY"
Keep archive history    : 000000000000000000000000 and later
running restore         : OK
Trigger file            : /tmp/pgsql.trigger
Waiting for WAL file    : 000000010000000000000014.00000020.backup
WAL file path           : /wal_archives/000000010000000000000014.00000020.backup
Restoring to...         : pg_xlog/RECOVERYHISTORY
Sleep interval          : 2 seconds
Max wait interval       : 0 forever
Command for restore     : ln -s -f "/wal_archives/000000010000000000000014.00000020.backup" "pg_xlog/RECOVERYHISTORY"
Keep archive history    : 000000000000000000000000 and later
running restore         : OK
Trigger file            : /tmp/pgsql.trigger
Waiting for WAL file    : 000000010000000000000014
WAL file path           : /wal_archives/000000010000000000000014
Restoring to...         : pg_xlog/RECOVERYXLOG
Sleep interval          : 2 seconds
Max wait interval       : 0 forever
Command for restore     : ln -s -f "/wal_archives/000000010000000000000014" "pg_xlog/RECOVERYXLOG"
Keep archive history    : 000000000000000000000000 and later
running restore         : OK

Trigger file            : /tmp/pgsql.trigger
Waiting for WAL file    : 000000010000000000000015
WAL file path           : /wal_archives/000000010000000000000015
Restoring to...         : pg_xlog/RECOVERYXLOG
Sleep interval          : 2 seconds
Max wait interval       : 0 forever
Command for restore     : ln -s -f "/wal_archives/000000010000000000000015" "pg_xlog/RECOVERYXLOG"
Keep archive history    : 000000010000000000000014 and later
WAL file not present yet. Checking for trigger file...
WAL file not present yet. Checking for trigger file...
WAL file not present yet. Checking for trigger file...
Trigger file            : /tmp/pgsql.trigger
Waiting for WAL file    : 000000010000000000000016
WAL file path           : /wal_archives/000000010000000000000016
Restoring to...         : pg_xlog/RECOVERYXLOG
Sleep interval          : 2 seconds
                                                                                                                  
Restoring to...         : pg_xlog/RECOVERYXLOG
Sleep interval          : 2 seconds
Max wait interval       : 0 forever
Command for restore     : ln -s -f "/wal_archives/000000010000000000000016" "pg_xlog/RECOVERYXLOG"
Keep archive history    : 000000010000000000000014 and later
running restore         : OK
......
WAL file not present yet. Checking for trigger file...
WAL file not present yet. Checking for trigger file...
......


10.  failover
In warm standby server
touch  /tmp/ pgsql.trigger
Tags: , , ,
Pages: 2/10 First page Previous page 1 2 3 4 5 6 7 8 9 10 Next page Final page [ View by Articles | List ]