среда, 2 февраля 2011 г.

EM Grid Control


 Установка агентов для мониторинга

Setup/Extensibility/Self Update
установим в offline

Выгружаем каталог em_catalog.zip по ссылке
Выбираем: Browse
Устанавливаем: Upload



Setup/Extensibility/Self Update

Нажимаем: Check Updates

Выгружаем по ссылке файл:
https://updates.oracle.com/Orion/Download/download_patch/p9348486_112000_Generic.zip

Переносим этот файл на сервер с OMS

cd $OMS_HOME/bin

./emcli login -username=sysman

./emctl status oms -details

./emctl synchronize

./emcli import_update_catalog -omslocal -file='/u01/app/oraagent/agentshared/p9348486_112000_Generic.zip'


На странице Self Update для Agent Software  в столбце Available Updates будет уже не 0

Заходим в  Agent Software
Выбираем необходимый дистрибутив
И скачиваем его : Download
по полученной ссылке

Выгрузив всех нужных агентов, копируем их на OMS хост
и выполним импорт с помощью утилиты emcli:


cd $OMS_HOME/bin

./emcli login -username=sysman

./emcli import_update -omslocal -file='/u01/app/oraagent/agentshared/p17014943_112000_Generic.zip'
./emcli import_update -omslocal -file='/u01/app/oraagent/agentshared/p17014940_112000_Generic.zip'
....

Далее заходим в Agent Software
Выбираем необходимый дистрибутив
И применяем изменения: Apply


Начиная с версии 12с агенты не могут быть выгружены без наличия OMS

Установка агента на целевой хост
Setup/Add Target/Add Targets Manually

Выбрать: Install Agent on Host
Выбрать: + Add

Введите имя хоста и платформу 
Next


Введите информацию для установки :

Installation Base Directory  : /u01/app/oraagent
Instance Directory           : /u01/app/oraagent/agent_inst (default)
Named Credential         : (click the "+" button and add the credentials of the "oracle" user)
Privileged Delegation Setting: (leave blank)
Port                         : 3872

Next
Deploy Agent
Continue, All hosts
Done

Проверим статус агента на удаленном хосте

cd  /u01/app/oraagent/agent_inst/bin
./emctl status agent

Выполним от root скрипт
/u01/app/oraagent/core/13.1.0.0.0/root.sh


Заходим  Targets/Hosts
И видим этот хост


Чтобы агент автоматически обнаружил все цели на хосте, которые он может мониторить
необходимо перейти


Setup/Add Target/Add Targets Manually

Выбрать: Add Using Guided Process

Выбрать типы целей для обнаружения:
(например: Oracle Database, Listener and Automatic Storage Manager) 
Add

Выбрать имя хоста. 
Next

Сконфигурировать каждую найденную цель. 
Configure

Next
Save
Close

Заходим  Targets > Databases
И видим эту БД








Версия 11

1. После инсталляции Grid Control server 11.1.0.1.0 создайте директорию в $OMS_HOME/sysman/agent_download:
cd /app/oracle/product/Middleware/oms11g/sysman/agent_download
mkdir 11.1.0.1.0

Для Linux:

Download the Linux_x86_64_Grid_Control_agent_download_11_1_0_1_0.zip file from OTN:
http://www.oracle.com/technology/software/products/oem/htdocs/agentsoft.html

Copy the downloaded file to the /sysman/agent_download/11.1.0.1.0 directory.

Go to this directory by executing the following:

cd /sysman/agent_download/11.1.0.1.0

When you are here, confirm that the size and checksum calculation of the downloaded file match the information specified on the OTN download page.

Unzip this file by executing the following:

unzip Linux_x86_64_Grid_Control_agent_download_11_1_0_1_0.zip


Для Solaris:

Download the Solaris_Grid_Control_agent_download_11_1_0_1_0.zip file from OTN:
http://www.oracle.com/technology/software/products/oem/htdocs/agentsoft.html

Copy the downloaded file to the /sysman/agent_download/11.1.0.1.0 directory.

Go to this directory by executing the following:

cd /sysman/agent_download/11.1.0.1.0

When you are here, confirm that the size and checksum calculation of the downloaded file match the information specified on the OTN download page.

Unzip this file by executing the following:

unzip Solaris_Grid_Control_agent_download_11_1_0_1_0.zip



Для Windows:

Download the Win32_Grid_Control_agent_download_11.1.0.1.0.zip file from OTN:
http://www.oracle.com/technology/software/products/oem/htdocs/agentsoft.html

Copy the downloaded file to the /sysman/agent_download/11.1.0.1.0 directory.

Go to this directory by executing the following:

cd /sysman/agent_download/11.1.0.1.0

When you are here, confirm that the size and checksum calculation of the downloaded file match the information specified on the OTN download page.

Unzip this file by executing the following:

unzip Win32_Grid_Control_agent_download_11.1.0.1.0.zip

After unzipping, the agentdownload.vbs will be available at /sysman/agent_download/11.1.0.1.0/win32/agentdownload.vbs.

Download the agentDownload.vbs by using cp, rcp, scp, FTP, or wget utility on the machine where you want to install the Management Agent.


.
.
.

$ vi /app/oracle/product/Middleware/oms11g/sysman/agent_download/11.1.0.1.0/agent_download.rsp

s_OMSHost="oragrid.sun.ru"
s_OMSPort="4889"
### s_encrSecurePwd=""

$ vi /app/oracle/product/Middleware/oms11g/sysman/agent_download/11.1.0.1.0/linux_x64/agentDownload.linux_x64

s_OMSHost="oragrid.sun.ru"
s_OMSPort="4889"



1. Установка на Linux

# su -

#useradd -u 703 -g oinstall -G dba oraagent
#passwd oraagent
#mkdir -p /u01/app/oraagent
#chown oraagent:oinstall /u01/app/oraagent



# vi .bash_profile

### Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

### User specific environment and startup programs
AGENT_HOME=/u01/app/oraagent/product/11.1.0/agent11g
export AGENT_HOME
PATH=/u01/app/oraagent/product/11.1.0/agent11g/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
export PATH


# vi /etc/oratab

*:/u01/app/oraagent/product/11.1.0/agent11g:N
+ASM:/u01/app/oragrid/product/11.2.0/grid:N
testasm:/u01/app/oradb/product/10.2.0/db_1:N
oradb1:/u01/app/oracle/product/10.2.0/db_2:N
oradb2:/u01/app/oracle/product/10.2.0/db_2:N
oradb3:/u01/app/oracle/product/10.2.0/db_2:N

# su - oraagent

$ cd /tmp
$ wget --no-check-certificate https://oragrid.sun.ru:1159/agent_download/11.1.0.1.0/linux_x64/agentDownload.linux_x64
$ chmod +x agentDownload.linux_x64
$ ./agentDownload.linux_x64 -b /u01/app/oraagent/product/11.1.0 -m oragrid.sun.ru -r 1159 -y


# su -
# /u01/app/oraagent/product/11.1.0/agent11g/root.sh


# su - oraagent

$ emctl stop agent
$ emctl start agent
$ emctl status agent

Конфигурацию изменяем так:
$ emctl stop agent
$ vi /u01/app/oraagent/product/11.1.0/agent11g/sysman/emd/targets.xml
$ emctl start agent
$ emctl status agent

2. Установка на Solaris 10

#useradd -c '' -d /export/home/oraagent -g oinstall -m -u 1300 -s /usr/bin/bash oraagent
#passwd oraagent


#mkdir –p /u01/app/oraagent
#chown -R oraagent:oinstall /u01/app/oraagent
#chmod -R 775 /u01/app/oraagent


# vi .bash_profile

### User specific environment and startup programs
AGENT_HOME=/u01/app/oraagent/product/11.1.0/agent11g
export AGENT_HOME
PATH=/u01/app/oraagent/product/11.1.0/agent11g/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/bin
export PATH

# vi /etc/oratab

*:/u01/app/oraagent/product/11.1.0/agent11g:N
+ASM:/u01/app/oragrid/product/11.2.0/grid:N
testasm:/u01/app/oradb/product/10.2.0/db_1:N
oradb1:/u01/app/oracle/product/10.2.0/db_2:N
oradb2:/u01/app/oracle/product/10.2.0/db_2:N
oradb3:/u01/app/oracle/product/10.2.0/db_2:N

# su - oraagent

$ cd /tmp
$ wget --no-check-certificate https://oragrid.sun.ru:1159/agent_download/11.1.0.1.0/solaris/agentDownload.solaris
$ chmod +x agentDownload.solaris
$ ./agentDownload.solaris -b /u01/app/oraagent/product/11.1.0 -m oragrid.sun.ru -r 1159 -y

# su -
# /u01/app/oraagent/product/11.1.0/agent11g/root.sh


# su - oraagent

$ emctl stop agent
$ emctl start agent
$ emctl status agent

Для версии агента 11g, версии листенера 10.2 и ОС Solaris SPARC обнаружен баг.
Bug 10070623: STATUS DOWN FOR LISTENER 10.2 MANAGED BY AGENT 11G

Временно эту проблему можно обойти так:

$ emctl stop agent
$ vi /u01/app/oraagent/product/11.1.0/agent11g/bin/emctl

и закомментируем следующие строки:

#if [ "$LD_LIBRARY_PATH_64" = "" ] ; then
#LD_LIBRARY_PATH_64=$ORACLE_HOME/lib:$ORACLE_HOME/perl/lib:$OUILOC/lib/solaris
#else LD_LIBRARY_PATH_64=$ORACLE_HOME/lib:$ORACLE_HOME/perl/lib:$OUILOC/lib/solaris:$LD_LIBRARY_PATH_64
#fi

$ emctl start agent


Установка на Windows:

Создаем директорию:
/u01/app/oraagent/product/11.1.0

Run agentDownload.vbs by executing the following:
cscript.exe agentDownload.vbs -b /u01/app/oraagent/product/11.1.0 -m oragrid.sun.ru -r 1159


Клонирование агента (agent cloning - поддерживается с версии 10.2.0.5)

1.Zip an already installed agent home.(I personally used tar and gzip)

2.Scp or ftp to standalone host you want it installed on,
uncompress in the same location. (at this point I uninstalled the older agent,
removed any leftover files, unzipped, untarred new agent in the same directory).

3.$AGENT_HOME/oui/bin/runInstaller -clone -forceClone ORACLE_HOME= ORACLE_HOME_NAME= -noconfig -silent

например так:
$AGENT_HOME/oui/bin/runInstaller -clone -forceClone ORACLE_HOME=/u01/app/oraagent/product/11.1.0/agent11g ORACLE_HOME_NAME=agent11g1 -noconfig -silent

4.$AGENT_ORACLE_HOME/bin/agentca -f (configures the agent)

5.$AGENT_ORACLE_HOME/root.sh (as root) 



6. Установка DST для агента:

для Linux:

cd /tmp

unzip p12949905_111070_Linux-x86-64.zip
unzip p7695070_111070_Linux-x86-64.zip

cd /tmp/7695070
$AGENT_HOME/OPatch/opatch apply
cd /tmp/12949905
$AGENT_HOME/OPatch/opatch apply


для Solaris:

cd /tmp

unzip p12949905_112030_SOLARIS64.zip
unzip p7695070_11107_Solaris-64.zip

cd /tmp/7695070
$AGENT_HOME/OPatch/opatch apply
cd /tmp/12949905
$AGENT_HOME/OPatch/opatch apply





 Проверяем проходит ли upload:

-bash-3.00$ emctl status agent
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
---------------------------------------------------------------
Agent Version : 11.1.0.1.0
OMS Version : 11.1.0.1.0
Protocol Version : 11.1.0.0.0
Agent Home : /u01/app/oraagent/product/11.1.0/agent11g
Agent binaries : /u01/app/oraagent/product/11.1.0/agent11g
Agent Process ID : 13449
Parent Process ID : 13440
Agent URL : http://sf480.domain.ru:3872/emd/main/
Repository URL : https://oragrid.domain.ru:1159/em/upload/
Started at : 2011-02-18 15:22:26
Started by user : oraagent
Last Reload : 2011-02-18 15:22:26
Last successful upload : (none)
Last attempted upload : (none)
Total Megabytes of XML files uploaded so far : 0.00
Number of XML files pending upload : 27
Size of XML files pending upload(MB) : 2.47
Available disk space on upload filesystem : 91.75%
Last attempted heartbeat to OMS : 2011-02-18 15:26:42
Last successful heartbeat to OMS : unknown
---------------------------------------------------------------
Agent is Running and Ready
-bash-3.00$ emctl upload agent
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
---------------------------------------------------------------
EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet. If this issue persists check trace files for ping to OMS related errors.

Если upload не прошел, то запускаем его вручную:

-bash-3.00$ emctl upload
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
---------------------------------------------------------------
EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet. If this issue persists check trace files for ping to OMS related errors.

Если получим такое сообщение, то попытаемся это вылечить примерно так :

-bash-3.00$ emctl stop agent
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
Stopping agent ... stopped.

-bash-3.00$ emctl unsecure agent
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
Checking Agent for HTTP... Done.
Agent is already unsecured.

-bash-3.00$ emctl secure agent
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
Agent is already stopped... Done.
Securing agent... Started.
Enter Agent Registration Password :
Securing agent... Successful.

-bash-3.00$ emctl start agent
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
Starting agent .............. started.

-bash-3.00$ emctl status agent
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
---------------------------------------------------------------
Agent Version : 11.1.0.1.0
OMS Version : 11.1.0.1.0
Protocol Version : 11.1.0.0.0
Agent Home : /u01/app/oraagent/product/11.1.0/agent11g
Agent binaries : /u01/app/oraagent/product/11.1.0/agent11g
Agent Process ID : 13830
Parent Process ID : 13821
Agent URL : https://sf480.domain.ru:3872/emd/main/
Repository URL : https://oragrid.domain.ru:1159/em/upload
Started at : 2011-02-18 15:33:29
Started by user : oraagent
Last Reload : 2011-02-18 15:33:29
Last successful upload : (none)
Last attempted upload : (none)
Total Megabytes of XML files uploaded so far : 0.00
Number of XML files pending upload : 35
Size of XML files pending upload(MB) : 3.19
Available disk space on upload filesystem : 91.75%
Last successful heartbeat to OMS : 2011-02-18 15:33:42
---------------------------------------------------------------
Agent is Running and Ready

-bash-3.00$ emctl upload
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
---------------------------------------------------------------
EMD upload completed successfully

-bash-3.00$
-bash-3.00$ emctl status agent
Oracle Enterprise Manager 11g Release 1 Grid Control 11.1.0.1.0
Copyright (c) 1996, 2010 Oracle Corporation. All rights reserved.
---------------------------------------------------------------
Agent Version : 11.1.0.1.0
OMS Version : 11.1.0.1.0
Protocol Version : 11.1.0.0.0
Agent Home : /u01/app/oraagent/product/11.1.0/agent11g
Agent binaries : /u01/app/oraagent/product/11.1.0/agent11g
Agent Process ID : 13830
Parent Process ID : 13821
Agent URL : https://sf480.domain.ru:3872/emd/main/
Repository URL : https://oragrid.domain.ru:1159/em/upload
Started at : 2011-02-18 15:33:29
Started by user : oraagent
Last Reload : 2011-02-18 15:33:29
Last successful upload : 2011-02-18 15:34:32
Total Megabytes of XML files uploaded so far : 3.18
Number of XML files pending upload : 2
Size of XML files pending upload(MB) : 1.38
Available disk space on upload filesystem : 91.75%
Last successful heartbeat to OMS : 2011-02-18 15:33:42
---------------------------------------------------------------
Agent is Running and Ready
-bash-3.00$

Cleanup the agent

1. Stop the agent on the target node
$AGENT_HOME/bin/emctl stop agent

2. Delete any pending upload files from the agent home

$AGENT_HOME/sysman/emd/state/*
$AGENT_HOME/sysman/emd/collection/*
$AGENT_HOME/sysman/emd/upload/*
$AGENT_HOME/sysman/emd/lastupld.xml
$AGENT_HOME/sysman/emd/agntstmp.txt
$AGENT_HOME/sysman/emd/blackouts.xml
$AGENT_HOME/sysman/emd/protocol.ini

3. Issue an agent clearstate from the agent home
$AGENT_HOME/bin/emctl clearstate agent

4. Secure (if necessary) and Start the agent
$AGENT_HOME/bin/emctl secure agent
$AGENT_HOME/bin/emctl start agent

5. force an upload
$AGENT_HOME/bin/emctl upload agent


Deinstall the agent.

$ cd $AGENT_HOME/oui/bin

If using the agent install guide on this site, then the $AGENT_HOME will be /u01/app/oracle/agent11g

$ ./runInstaller -deinstall -silent REMOVE_HOMES={$AGENT_HOME} -removeallfiles

NB The {} are part of the command and do need to be specified.
If using the agent install guide on this site, then the $AGENT_HOME will be /u01/app/oracle/agent11g

$ cd /u01/app/oraagent/product/11.1.0
$ rm -rf .gcinstall_temp
$ rm agentDownload*.log

Remove the targets from the Grid Control frontend:

Select the Targets tab in the Grid Control frontend.
Select Hosts from the breadcrumb menu.
Click on the host where the agent has been deinstalled.
In the host window, click Targets
Click the Select All link to select all targets on the host.
Click Remove
On the Confirmation screen, review the targets to be removed and if happy, click Yes
When returned to the Targets screen for the host, click on the agent to be removed.
On the Agent screen select the tick box for the host and click remove
Click on the Targets tab.
Select All Targets from the breadcrumb menu.
Ensure the radial button for the agent to be removed is selected and click remove




Инсталляция WGET на Solaris 10 Sparc

Для установки агента Oracle Enterprise Manager Grid Control на сервера с OC SOLARIS SPARC oracle рекомендует обновить утилиту WGET.
С wget версии меньшей чем 1.10 инсталляция прерывается сообщением:
(wget installed on this box does not support https port, either use wget 1.10 version or higher)

Oracle рекомендует взять последнюю версию wget с сайта:

GNU wget is available for most platforms and can be downloaded from the following location:
http://www.gnu.org/software/wget/wget.html

Инсталляция:

Скачал файл wget-1.12.tar.gz
Скопировал его на сервер в директорию /tmp

Дальнейшие шаги такие:

root@m5k2a # cd /tmp
root@m5k2a # ls -l
root@m5k2a wget-1.12.tar.gz

root@m5k2a # gunzip -c wget-1.12.tar.gz | tar xvf -
root@m5k2a #
root@m5k2a #
root@m5k2a # ls -l
drwxrwxrwx 13 root root 1988 Sep 22 2009 wget-1.12
-rwxr-xr-x 1 root root 9861120 Feb 2 14:33 wget-1.12.tar

root@m5k2a # cd wget-1.12
root@m5k2a # ls -l
total 2832
-rw-r--r-- 1 root root 76502 Sep 3 2009 ABOUT-NLS
-rw-r--r-- 1 root root 2104 Sep 2 2009 AUTHORS
-rw-r--r-- 1 root root 35147 Sep 2 2009 COPYING
-rw-r--r-- 1 root root 68739 Sep 22 2009 ChangeLog
-rw-r--r-- 1 root root 651 Sep 22 2009 ChangeLog.README
-rw-r--r-- 1 root root 4702 Sep 4 2009 GNUmakefile
-rw-r--r-- 1 root root 9044 Sep 21 2009 INSTALL
-rw-r--r-- 1 root root 1958 Sep 2 2009 MAILING-LIST
-rw-r--r-- 1 root root 2039 Sep 8 2009 Makefile.am
-rw-r--r-- 1 root root 36382 Sep 22 2009 Makefile.in
-rw-r--r-- 1 root root 28397 Sep 22 2009 NEWS
-rw-r--r-- 1 root root 4108 Sep 21 2009 README
-rw-r--r-- 1 root root 37999 Sep 22 2009 aclocal.m4
-rwxr-xr-x 1 root root 30 Sep 2 2009 autogen.sh
drwxrwxrwx 2 root root 1344 Sep 22 2009 build-aux
-rwxr-xr-x 1 root root 917259 Sep 22 2009 configure
-rw-r--r-- 1 root root 16245 Sep 22 2009 configure.ac
-rwxr-xr-x 1 root root 2394 Sep 4 2009 configure.bat
drwxrwxrwx 2 root root 885 Sep 22 2009 doc
drwxrwxrwx 2 root root 4151 Sep 22 2009 lib
drwxrwxrwx 2 root root 4028 Sep 22 2009 m4
-rw-r--r-- 1 root root 28604 Sep 4 2009 maint.mk
drwxrwxrwx 3 root root 703 Sep 22 2009 md5
drwxrwxrwx 2 root root 384 Sep 22 2009 msdos
drwxrwxrwx 2 root root 6256 Sep 22 2009 po
drwxrwxrwx 2 root root 5053 Sep 22 2009 src
drwxrwxrwx 3 root root 6008 Sep 22 2009 tests
drwxrwxrwx 2 root root 445 Sep 22 2009 util
drwxrwxrwx 2 root root 1024 Sep 22 2009 windows

root@m5k2a # ./configure --prefix=/usr/local/ CC=/usr/sfw/bin/gcc
configure: configuring for GNU Wget 1.12
checking for a BSD-compatible install... build-aux/install-sh -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... build-aux/install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking whether make sets $(MAKE)... yes
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking for gcc... /usr/sfw/bin/gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/sfw/bin/gcc accepts -g... yes
checking for /usr/sfw/bin/gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of /usr/sfw/bin/gcc... gcc3
checking whether /usr/sfw/bin/gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... /usr/sfw/bin/gcc -E
checking for grep that handles long lines and -e... /usr/xpg4/bin/grep
checking for egrep... /usr/xpg4/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for ranlib... ranlib
checking for _LARGEFILE_SOURCE value needed for large files... no
checking whether NLS is requested... yes
checking for msgfmt... :
checking for gmsgfmt... :
checking for xgettext... :
checking for msgmerge... :
checking for ld used by GCC... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... no
checking for iconv... yes
checking for working iconv... yes
checking for GNU gettext in libintl... no
checking whether to use NLS... no
checking for ranlib... (cached) ranlib
checking for flex... no
checking for lex... lex
checking lex output file root... lex.yy
checking lex library... -ll
checking whether yytext is a pointer... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for working volatile... yes
checking for ANSI C header files... (cached) yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... 64
checking size of off_t... 8
checking for stdbool.h that conforms to C99... no
checking for _Bool... yes
checking for unistd.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/select.h usability... yes
checking sys/select.h presence... yes
checking for sys/select.h... yes
checking utime.h usability... yes
checking utime.h presence... yes
checking for utime.h... yes
checking sys/utime.h usability... yes
checking sys/utime.h presence... yes
checking for sys/utime.h... yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking wchar.h usability... yes
checking wchar.h presence... yes
checking for wchar.h... yes
checking whether h_errno is declared... yes
checking size of short... 2
checking size of int... 4
checking size of long... 4
checking size of long long... 8
checking size of void *... 4
checking for size_t... yes
checking for pid_t... yes
checking for uint32_t... yes
checking for uintptr_t... yes
checking for intptr_t... yes
checking for int64_t... yes
checking for sig_atomic_t... yes
checking for working alloca.h... yes
checking for alloca... yes
checking whether the preprocessor supports include_next... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking stdio_ext.h usability... yes
checking stdio_ext.h presence... yes
checking for stdio_ext.h... yes
checking for termios.h... (cached) yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdint.h... (cached) yes
checking for wchar.h... (cached) yes
checking stdio.h usability... yes
checking stdio.h presence... yes
checking for stdio.h... yes
checking for stdlib.h... (cached) yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking for string.h... (cached) yes
checking for strings.h... (cached) yes
checking for unistd.h... (cached) yes
checking wctype.h usability... yes
checking wctype.h presence... yes
checking for wctype.h... yes
checking for complete errno.h... yes
checking whether strerror_r is declared... yes
checking for strerror_r... yes
checking whether strerror_r returns char *... no
checking whether stdin defaults to large file offsets... yes
checking whether getdelim is declared... no
checking whether getline is declared... no
checking getopt.h usability... yes
checking getopt.h presence... yes
checking for getopt.h... yes
checking for getopt_long_only... yes
checking whether getopt is POSIX compatible... yes
checking for working GNU getopt function... no
checking whether getenv is declared... yes
checking whether getpass is declared... yes
checking for __fsetlocking... yes
checking for tcgetattr... yes
checking for tcsetattr... yes
checking for mbsinit... yes
checking for mbrtowc... yes
checking for mprotect... yes
checking for iswcntrl... yes
checking whether fflush_unlocked is declared... no
checking whether flockfile is declared... yes
checking whether fputs_unlocked is declared... no
checking whether funlockfile is declared... yes
checking whether putc_unlocked is declared... yes
checking for nl_langinfo and CODESET... yes
checking whether getc_unlocked is declared... yes
checking whether we are using the GNU C Library 2.1 or newer... no
checking for mbstate_t... yes
checking for a traditional japanese locale... ja_JP.eucJP
checking for a transitional chinese locale... zh_CN.GB18030
checking for a french Unicode locale... fr_FR.UTF-8
checking for mmap... yes
checking for MAP_ANONYMOUS... yes
checking for memchr... yes
checking whether memchr works... yes
checking whether malloc, realloc, calloc are POSIX compliant... yes
checking for wchar_t... yes
checking for long long int... yes
checking for unsigned long long int... yes
checking for strcasestr... no
checking for working strerror function... yes
checking for C/C++ restrict keyword... __restrict
checking for wint_t... yes
checking for alloca as a compiler built-in... yes
checking for error_at_line... no
checking for fseeko... yes
checking for getdelim... no
checking for flockfile... yes
checking for funlockfile... yes
checking whether getc_unlocked is declared... (cached) yes
checking for getline... no
checking for getdelim... (cached) no
checking for flockfile... (cached) yes
checking for funlockfile... (cached) yes
checking whether getc_unlocked is declared... (cached) yes
checking for getpagesize... yes
checking whether __fsetlocking is declared... yes
checking whether the compiler generally respects inline... yes
checking whether lseek detects pipes... yes
checking whether mbrtowc handles incomplete characters... yes
checking whether mbrtowc works as well as mbtowc... yes
checking whether mbrtowc handles a NULL string argument... yes
checking whether mbrtowc has a correct return value... no
checking whether mbrtowc returns 0 when parsing a NUL character... yes
checking whether mbrtowc handles incomplete characters... (cached) yes
checking whether mbrtowc works as well as mbtowc... (cached) yes
checking whether NULL can be used in arbitrary expressions... yes
checking whether stdint.h conforms to C99... no
checking sys/inttypes.h usability... yes
checking sys/inttypes.h presence... yes
checking for sys/inttypes.h... yes
checking sys/bitypes.h usability... no
checking sys/bitypes.h presence... no
checking for sys/bitypes.h... no
checking for bit size of ptrdiff_t... 32
checking for bit size of size_t... 32
checking for bit size of sig_atomic_t... 32
checking for bit size of wchar_t... 32
checking for bit size of wint_t... 32
checking whether sig_atomic_t is signed... yes
checking whether wchar_t is signed... yes
checking whether wint_t is signed... yes
checking for ptrdiff_t integer literal suffix...
checking for size_t integer literal suffix... u
checking for sig_atomic_t integer literal suffix...
checking for wchar_t integer literal suffix... l
checking for wint_t integer literal suffix... l
checking for random.h... no
checking for struct random_data... no
checking for strcasecmp... yes
checking for strncasecmp... yes
checking whether strncasecmp is declared... yes
checking for strcasestr... (cached) no
checking whether is standalone... yes
checking whether iswcntrl works... yes
checking for stdlib.h... (cached) yes
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... yes
checking for _LARGEFILE_SOURCE value needed for large files... (cached) no
checking for strptime... yes
checking for timegm... no
checking for snprintf... yes
checking for vsnprintf... yes
checking for vasprintf... no
checking for drand48... yes
checking for strtoll... yes
checking for usleep... yes
checking for ftello... yes
checking for sigblock... no
checking for sigsetjmp... yes
checking for memrchr... no
checking for wcwidth... yes
checking for mbtowc... yes
checking for struct utimbuf... yes
checking for socklen_t... socklen_t
checking for working fnmatch.h... yes
checking for nanosleep... no
checking for nanosleep in -lrt... yes
checking for clock_gettime... yes
checking for gethostbyname... no
checking for inet_ntoa... no
checking for inet_ntoa in -lnsl... yes
checking for socket in -lsocket... yes
checking for dlopen in -ldl... yes
checking for libssl... yes
checking how to link with libssl... -lssl -lcrypto
configure: compiling in support for SSL via OpenSSL
checking for md5_calc in -lmd5... yes
checking for working md5.h... yes
configure: using the Solaris MD5 implementation
checking for getaddrinfo... yes
checking for INET6 protocol support... yes
checking for struct sockaddr_in6... yes
checking for struct sockaddr_storage... yes
checking for struct sockaddr_in6.sin6_scope_id... yes
configure: Enabling support for IPv6.
checking for makeinfo... ${SHELL} /tmp/wget-1.12/build-aux/missing --run makeinfo
checking for perl5... no
checking for perl... /usr/bin/perl
checking for pod2man... no
checking for iconv... (cached) yes
checking for working iconv... (cached) yes
checking for iconv declaration...
extern size_t iconv (iconv_t cd, const char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
checking idna.h usability... no
checking idna.h presence... no
checking for idna.h... no
checking idn/idn-int.h usability... no
checking idn/idn-int.h presence... no
checking for idn/idn-int.h... no
configure: WARNING: Libidn not found
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating doc/Makefile
config.status: creating util/Makefile
config.status: creating po/Makefile.in
config.status: creating tests/Makefile
config.status: creating tests/WgetTest.pm
config.status: creating lib/Makefile
config.status: creating md5/Makefile
config.status: creating windows/Makefile
config.status: creating src/config.h
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile



root@m5k2a # make install
Making install in lib
rm -f alloca.h-t alloca.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
cat ./alloca.in.h; \
} > alloca.h-t && \
mv -f alloca.h-t alloca.h
rm -f configmake.h-t && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
echo '#define PREFIX "/usr/local"'; \
echo '#define EXEC_PREFIX "/usr/local"'; \
echo '#define BINDIR "/usr/local/bin"'; \
echo '#define SBINDIR "/usr/local/sbin"'; \
echo '#define LIBEXECDIR "/usr/local/libexec"'; \
echo '#define DATAROOTDIR "/usr/local/share"'; \
echo '#define DATADIR "/usr/local/share"'; \
echo '#define SYSCONFDIR "/usr/local/etc"'; \
echo '#define SHAREDSTATEDIR "/usr/local/com"'; \
echo '#define LOCALSTATEDIR "/usr/local/var"'; \
echo '#define INCLUDEDIR "/usr/local/include"'; \
echo '#define OLDINCLUDEDIR "/usr/include"'; \
echo '#define DOCDIR "/usr/local/share/doc/wget"'; \
echo '#define INFODIR "/usr/local/share/info"'; \
echo '#define HTMLDIR "/usr/local/share/doc/wget"'; \
echo '#define DVIDIR "/usr/local/share/doc/wget"'; \
echo '#define PDFDIR "/usr/local/share/doc/wget"'; \
echo '#define PSDIR "/usr/local/share/doc/wget"'; \
echo '#define LIBDIR "/usr/local/lib"'; \
echo '#define LISPDIR ""'; \
echo '#define LOCALEDIR "/usr/local/share/locale"'; \
echo '#define MANDIR "/usr/local/share/man"'; \
echo '#define MANEXT ""'; \
echo '#define PKGDATADIR "/usr/local/share/wget"'; \
echo '#define PKGINCLUDEDIR "/usr/local/include/wget"'; \
echo '#define PKGLIBDIR "/usr/local/lib/wget"'; \
echo '#define PKGLIBEXECDIR ""'; \
} | sed '/""/d' > configmake.h-t && \
if test -f configmake.h && cmp configmake.h-t configmake.h > /dev/null; then \
rm -f configmake.h-t; \
else \
rm -f configmake.h; mv configmake.h-t configmake.h; \
fi
rm -f getopt.h-t getopt.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
cat ./getopt.in.h; \
} > getopt.h-t && \
mv -f getopt.h-t getopt.h
rm -f stdbool.h-t stdbool.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE__BOOL''@/1/g' < ./stdbool.in.h; \
} > stdbool.h-t && \
mv stdbool.h-t stdbool.h
rm -f stdint.h-t stdint.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_STDINT_H''@/1/g' \
-e 's|@''INCLUDE_NEXT''@|include_next|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
-e 's|@''NEXT_STDINT_H''@||g' \
-e 's/@''HAVE_SYS_TYPES_H''@/1/g' \
-e 's/@''HAVE_INTTYPES_H''@/1/g' \
-e 's/@''HAVE_SYS_INTTYPES_H''@/1/g' \
-e 's/@''HAVE_SYS_BITYPES_H''@/0/g' \
-e 's/@''HAVE_LONG_LONG_INT''@/1/g' \
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/1/g' \
-e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \
-e 's/@''BITSIZEOF_PTRDIFF_T''@/32/g' \
-e 's/@''PTRDIFF_T_SUFFIX''@//g' \
-e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/32/g' \
-e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/1/g' \
-e 's/@''SIG_ATOMIC_T_SUFFIX''@//g' \
-e 's/@''BITSIZEOF_SIZE_T''@/32/g' \
-e 's/@''SIZE_T_SUFFIX''@/u/g' \
-e 's/@''BITSIZEOF_WCHAR_T''@/32/g' \
-e 's/@''HAVE_SIGNED_WCHAR_T''@/1/g' \
-e 's/@''WCHAR_T_SUFFIX''@/l/g' \
-e 's/@''BITSIZEOF_WINT_T''@/32/g' \
-e 's/@''HAVE_SIGNED_WINT_T''@/1/g' \
-e 's/@''WINT_T_SUFFIX''@/l/g' \
< ./stdint.in.h; \
} > stdint.h-t && \
mv stdint.h-t stdint.h
rm -f stdio.h-t stdio.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
-e 's|@''NEXT_STDIO_H''@||g' \
-e 's|@''GNULIB_FPRINTF''@|1|g' \
-e 's|@''GNULIB_FPRINTF_POSIX''@|0|g' \
-e 's|@''GNULIB_PRINTF''@|1|g' \
-e 's|@''GNULIB_PRINTF_POSIX''@|0|g' \
-e 's|@''GNULIB_SNPRINTF''@|0|g' \
-e 's|@''GNULIB_SPRINTF_POSIX''@|0|g' \
-e 's|@''GNULIB_VFPRINTF''@|1|g' \
-e 's|@''GNULIB_VFPRINTF_POSIX''@|0|g' \
-e 's|@''GNULIB_VPRINTF''@|1|g' \
-e 's|@''GNULIB_VPRINTF_POSIX''@|0|g' \
-e 's|@''GNULIB_VSNPRINTF''@|0|g' \
-e 's|@''GNULIB_VSPRINTF_POSIX''@|0|g' \
-e 's|@''GNULIB_DPRINTF''@|0|g' \
-e 's|@''GNULIB_VDPRINTF''@|0|g' \
-e 's|@''GNULIB_VASPRINTF''@|0|g' \
-e 's|@''GNULIB_OBSTACK_PRINTF''@|0|g' \
-e 's|@''GNULIB_OBSTACK_PRINTF_POSIX''@|0|g' \
-e 's|@''GNULIB_FOPEN''@|0|g' \
-e 's|@''GNULIB_FREOPEN''@|0|g' \
-e 's|@''GNULIB_FSEEK''@|0|g' \
-e 's|@''GNULIB_FSEEKO''@|1|g' \
-e 's|@''GNULIB_FTELL''@|0|g' \
-e 's|@''GNULIB_FTELLO''@|0|g' \
-e 's|@''GNULIB_FFLUSH''@|0|g' \
-e 's|@''GNULIB_FPURGE''@|0|g' \
-e 's|@''GNULIB_FCLOSE''@|0|g' \
-e 's|@''GNULIB_FPUTC''@|1|g' \
-e 's|@''GNULIB_PUTC''@|1|g' \
-e 's|@''GNULIB_PUTCHAR''@|1|g' \
-e 's|@''GNULIB_FPUTS''@|1|g' \
-e 's|@''GNULIB_PUTS''@|1|g' \
-e 's|@''GNULIB_FWRITE''@|1|g' \
-e 's|@''GNULIB_POPEN''@|0|g' \
-e 's|@''GNULIB_GETDELIM''@|1|g' \
-e 's|@''GNULIB_GETLINE''@|1|g' \
-e 's|@''GNULIB_PERROR''@|0|g' \
-e 's|@''GNULIB_STDIO_H_SIGPIPE''@|0|g' \
-e 's|@''REPLACE_STDIO_WRITE_FUNCS''@|0|g' \
-e 's|@''REPLACE_FPRINTF''@|0|g' \
-e 's|@''REPLACE_VFPRINTF''@|0|g' \
-e 's|@''REPLACE_PRINTF''@|0|g' \
-e 's|@''REPLACE_VPRINTF''@|0|g' \
-e 's|@''REPLACE_SNPRINTF''@|0|g' \
-e 's|@''HAVE_DECL_SNPRINTF''@|1|g' \
-e 's|@''REPLACE_VSNPRINTF''@|0|g' \
-e 's|@''HAVE_DECL_VSNPRINTF''@|1|g' \
-e 's|@''REPLACE_SPRINTF''@|0|g' \
-e 's|@''REPLACE_VSPRINTF''@|0|g' \
-e 's|@''HAVE_DPRINTF''@|1|g' \
-e 's|@''REPLACE_DPRINTF''@|0|g' \
-e 's|@''HAVE_VDPRINTF''@|1|g' \
-e 's|@''REPLACE_VDPRINTF''@|0|g' \
-e 's|@''HAVE_VASPRINTF''@|1|g' \
-e 's|@''REPLACE_VASPRINTF''@|0|g' \
-e 's|@''HAVE_DECL_OBSTACK_PRINTF''@|1|g' \
-e 's|@''REPLACE_OBSTACK_PRINTF''@|0|g' \
-e 's|@''REPLACE_FOPEN''@|0|g' \
-e 's|@''REPLACE_FREOPEN''@|0|g' \
-e 's|@''REPLACE_FSEEKO''@|0|g' \
-e 's|@''REPLACE_FSEEK''@|0|g' \
-e 's|@''REPLACE_FTELLO''@|0|g' \
-e 's|@''REPLACE_FTELL''@|0|g' \
-e 's|@''REPLACE_FFLUSH''@|0|g' \
-e 's|@''REPLACE_FPURGE''@|0|g' \
-e 's|@''HAVE_DECL_FPURGE''@|1|g' \
-e 's|@''REPLACE_FCLOSE''@|0|g' \
-e 's|@''REPLACE_POPEN''@|0|g' \
-e 's|@''HAVE_DECL_GETDELIM''@|0|g' \
-e 's|@''HAVE_DECL_GETLINE''@|0|g' \
-e 's|@''REPLACE_GETLINE''@|1|g' \
-e 's|@''REPLACE_PERROR''@|0|g' \
-e '/definition of GL_LINK_WARNING/r ../build-aux/link-warning.h' \
< ./stdio.in.h; \
} > stdio.h-t && \
mv stdio.h-t stdio.h
rm -f stdlib.h-t stdlib.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
-e 's|@''NEXT_STDLIB_H''@||g' \
-e 's|@''HAVE_RANDOM_H''@|0|g' \
-e 's|@''GNULIB_MALLOC_POSIX''@|0|g' \
-e 's|@''GNULIB_REALLOC_POSIX''@|1|g' \
-e 's|@''GNULIB_CALLOC_POSIX''@|0|g' \
-e 's|@''GNULIB_ATOLL''@|0|g' \
-e 's|@''GNULIB_GETLOADAVG''@|0|g' \
-e 's|@''GNULIB_GETSUBOPT''@|0|g' \
-e 's|@''GNULIB_MKDTEMP''@|0|g' \
-e 's|@''GNULIB_MKOSTEMP''@|0|g' \
-e 's|@''GNULIB_MKSTEMP''@|0|g' \
-e 's|@''GNULIB_PUTENV''@|0|g' \
-e 's|@''GNULIB_RANDOM_R''@|0|g' \
-e 's|@''GNULIB_RPMATCH''@|0|g' \
-e 's|@''GNULIB_SETENV''@|0|g' \
-e 's|@''GNULIB_STRTOD''@|0|g' \
-e 's|@''GNULIB_STRTOLL''@|0|g' \
-e 's|@''GNULIB_STRTOULL''@|0|g' \
-e 's|@''GNULIB_UNSETENV''@|0|g' \
-e 's|@''HAVE_ATOLL''@|1|g' \
-e 's|@''HAVE_CALLOC_POSIX''@|1|g' \
-e 's|@''HAVE_GETSUBOPT''@|1|g' \
-e 's|@''HAVE_MALLOC_POSIX''@|1|g' \
-e 's|@''HAVE_MKDTEMP''@|1|g' \
-e 's|@''HAVE_MKOSTEMP''@|1|g' \
-e 's|@''HAVE_REALLOC_POSIX''@|1|g' \
-e 's|@''HAVE_RANDOM_R''@|1|g' \
-e 's|@''HAVE_RPMATCH''@|1|g' \
-e 's|@''HAVE_SETENV''@|1|g' \
-e 's|@''HAVE_STRTOD''@|1|g' \
-e 's|@''HAVE_STRTOLL''@|1|g' \
-e 's|@''HAVE_STRTOULL''@|1|g' \
-e 's|@''HAVE_STRUCT_RANDOM_DATA''@|0|g' \
-e 's|@''HAVE_SYS_LOADAVG_H''@|0|g' \
-e 's|@''HAVE_UNSETENV''@|1|g' \
-e 's|@''HAVE_DECL_GETLOADAVG''@|1|g' \
-e 's|@''REPLACE_MKSTEMP''@|0|g' \
-e 's|@''REPLACE_PUTENV''@|0|g' \
-e 's|@''REPLACE_STRTOD''@|0|g' \
-e 's|@''VOID_UNSETENV''@|0|g' \
-e '/definition of GL_LINK_WARNING/r ../build-aux/link-warning.h' \
< ./stdlib.in.h; \
} > stdlib.h-t && \
mv stdlib.h-t stdlib.h
rm -f string.h-t string.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
-e 's|@''NEXT_STRING_H''@||g' \
-e 's|@''GNULIB_MBSLEN''@|0|g' \
-e 's|@''GNULIB_MBSNLEN''@|0|g' \
-e 's|@''GNULIB_MBSCHR''@|0|g' \
-e 's|@''GNULIB_MBSRCHR''@|0|g' \
-e 's|@''GNULIB_MBSSTR''@|0|g' \
-e 's|@''GNULIB_MBSCASECMP''@|0|g' \
-e 's|@''GNULIB_MBSNCASECMP''@|0|g' \
-e 's|@''GNULIB_MBSPCASECMP''@|0|g' \
-e 's|@''GNULIB_MBSCASESTR''@|0|g' \
-e 's|@''GNULIB_MBSCSPN''@|0|g' \
-e 's|@''GNULIB_MBSPBRK''@|0|g' \
-e 's|@''GNULIB_MBSSPN''@|0|g' \
-e 's|@''GNULIB_MBSSEP''@|0|g' \
-e 's|@''GNULIB_MBSTOK_R''@|0|g' \
-e 's|@''GNULIB_MEMCHR''@|1|g' \
-e 's|@''GNULIB_MEMMEM''@|0|g' \
-e 's|@''GNULIB_MEMPCPY''@|0|g' \
-e 's|@''GNULIB_MEMRCHR''@|0|g' \
-e 's|@''GNULIB_RAWMEMCHR''@|0|g' \
-e 's|@''GNULIB_STPCPY''@|0|g' \
-e 's|@''GNULIB_STPNCPY''@|0|g' \
-e 's|@''GNULIB_STRCHRNUL''@|0|g' \
-e 's|@''GNULIB_STRDUP''@|0|g' \
-e 's|@''GNULIB_STRNDUP''@|0|g' \
-e 's|@''GNULIB_STRNLEN''@|0|g' \
-e 's|@''GNULIB_STRPBRK''@|0|g' \
-e 's|@''GNULIB_STRSEP''@|0|g' \
-e 's|@''GNULIB_STRSTR''@|0|g' \
-e 's|@''GNULIB_STRCASESTR''@|1|g' \
-e 's|@''GNULIB_STRTOK_R''@|0|g' \
-e 's|@''GNULIB_STRERROR''@|1|g' \
-e 's|@''GNULIB_STRSIGNAL''@|0|g' \
-e 's|@''GNULIB_STRVERSCMP''@|0|g' \
-e 's|@''HAVE_DECL_MEMMEM''@|1|g' \
-e 's|@''HAVE_MEMPCPY''@|1|g' \
-e 's|@''HAVE_DECL_MEMRCHR''@|1|g' \
-e 's|@''HAVE_RAWMEMCHR''@|1|g' \
-e 's|@''HAVE_STPCPY''@|1|g' \
-e 's|@''HAVE_STPNCPY''@|1|g' \
-e 's|@''HAVE_STRCHRNUL''@|1|g' \
-e 's|@''HAVE_DECL_STRDUP''@|1|g' \
-e 's|@''HAVE_STRNDUP''@|1|g' \
-e 's|@''HAVE_DECL_STRNDUP''@|1|g' \
-e 's|@''HAVE_DECL_STRNLEN''@|1|g' \
-e 's|@''HAVE_STRPBRK''@|1|g' \
-e 's|@''HAVE_STRSEP''@|1|g' \
-e 's|@''HAVE_STRCASESTR''@|0|g' \
-e 's|@''HAVE_DECL_STRTOK_R''@|1|g' \
-e 's|@''HAVE_DECL_STRERROR''@|1|g' \
-e 's|@''HAVE_DECL_STRSIGNAL''@|1|g' \
-e 's|@''HAVE_STRVERSCMP''@|1|g' \
-e 's|@''REPLACE_MEMCHR''@|0|g' \
-e 's|@''REPLACE_MEMMEM''@|0|g' \
-e 's|@''REPLACE_STRCASESTR''@|0|g' \
-e 's|@''REPLACE_STRDUP''@|0|g' \
-e 's|@''REPLACE_STRSTR''@|0|g' \
-e 's|@''REPLACE_STRERROR''@|0|g' \
-e 's|@''REPLACE_STRSIGNAL''@|0|g' \
-e '/definition of GL_LINK_WARNING/r ../build-aux/link-warning.h' \
< ./string.in.h; \
} > string.h-t && \
mv string.h-t string.h
rm -f strings.h-t strings.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
-e 's|@''NEXT_STRINGS_H''@||g' \
-e 's|@''HAVE_STRCASECMP''@|1|g' \
-e 's|@''HAVE_DECL_STRNCASECMP''@|1|g' \
-e '/definition of GL_LINK_WARNING/r ../build-aux/link-warning.h' \
< ./strings.in.h; \
} > strings.h-t && \
mv strings.h-t strings.h
rm -f unistd.h-t unistd.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''HAVE_UNISTD_H''@|1|g' \
-e 's|@''INCLUDE_NEXT''@|include_next|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
-e 's|@''NEXT_UNISTD_H''@||g' \
-e 's|@''GNULIB_CHOWN''@|0|g' \
-e 's|@''GNULIB_CLOSE''@|0|g' \
-e 's|@''GNULIB_DUP2''@|0|g' \
-e 's|@''GNULIB_DUP3''@|0|g' \
-e 's|@''GNULIB_ENVIRON''@|0|g' \
-e 's|@''GNULIB_EUIDACCESS''@|0|g' \
-e 's|@''GNULIB_FCHDIR''@|0|g' \
-e 's|@''GNULIB_FSYNC''@|0|g' \
-e 's|@''GNULIB_FTRUNCATE''@|0|g' \
-e 's|@''GNULIB_GETCWD''@|0|g' \
-e 's|@''GNULIB_GETDOMAINNAME''@|0|g' \
-e 's|@''GNULIB_GETDTABLESIZE''@|0|g' \
-e 's|@''GNULIB_GETHOSTNAME''@|0|g' \
-e 's|@''GNULIB_GETLOGIN_R''@|0|g' \
-e 's|@''GNULIB_GETPAGESIZE''@|1|g' \
-e 's|@''GNULIB_GETUSERSHELL''@|0|g' \
-e 's|@''GNULIB_LCHOWN''@|0|g' \
-e 's|@''GNULIB_LINK''@|0|g' \
-e 's|@''GNULIB_LSEEK''@|1|g' \
-e 's|@''GNULIB_PIPE2''@|0|g' \
-e 's|@''GNULIB_READLINK''@|0|g' \
-e 's|@''GNULIB_SLEEP''@|0|g' \
-e 's|@''GNULIB_UNISTD_H_GETOPT''@|1|g' \
-e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|0|g' \
-e 's|@''GNULIB_WRITE''@|0|g' \
-e 's|@''HAVE_DUP2''@|1|g' \
-e 's|@''HAVE_DUP3''@|1|g' \
-e 's|@''HAVE_EUIDACCESS''@|1|g' \
-e 's|@''HAVE_FSYNC''@|1|g' \
-e 's|@''HAVE_FTRUNCATE''@|1|g' \
-e 's|@''HAVE_GETDOMAINNAME''@|1|g' \
-e 's|@''HAVE_GETDTABLESIZE''@|1|g' \
-e 's|@''HAVE_GETHOSTNAME''@|1|g' \
-e 's|@''HAVE_GETPAGESIZE''@|1|g' \
-e 's|@''HAVE_GETUSERSHELL''@|1|g' \
-e 's|@''HAVE_LINK''@|1|g' \
-e 's|@''HAVE_PIPE2''@|1|g' \
-e 's|@''HAVE_READLINK''@|1|g' \
-e 's|@''HAVE_SLEEP''@|1|g' \
-e 's|@''HAVE_DECL_ENVIRON''@|1|g' \
-e 's|@''HAVE_DECL_GETLOGIN_R''@|1|g' \
-e 's|@''HAVE_OS_H''@|0|g' \
-e 's|@''HAVE_SYS_PARAM_H''@|0|g' \
-e 's|@''REPLACE_CHOWN''@|0|g' \
-e 's|@''REPLACE_CLOSE''@|0|g' \
-e 's|@''REPLACE_DUP2''@|0|g' \
-e 's|@''REPLACE_FCHDIR''@|0|g' \
-e 's|@''REPLACE_GETCWD''@|0|g' \
-e 's|@''REPLACE_GETPAGESIZE''@|0|g' \
-e 's|@''REPLACE_LCHOWN''@|0|g' \
-e 's|@''REPLACE_LSEEK''@|0|g' \
-e 's|@''REPLACE_WRITE''@|0|g' \
-e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|0|g' \
-e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \
-e '/definition of GL_LINK_WARNING/r ../build-aux/link-warning.h' \
< ./unistd.in.h; \
} > unistd.h-t && \
mv unistd.h-t unistd.h
rm -f wchar.h-t wchar.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
-e 's|@''NEXT_WCHAR_H''@||g' \
-e 's|@''HAVE_WCHAR_H''@|1|g' \
-e 's|@''GNULIB_BTOWC''@|0|g' \
-e 's|@''GNULIB_WCTOB''@|0|g' \
-e 's|@''GNULIB_MBSINIT''@|1|g' \
-e 's|@''GNULIB_MBRTOWC''@|1|g' \
-e 's|@''GNULIB_MBRLEN''@|0|g' \
-e 's|@''GNULIB_MBSRTOWCS''@|0|g' \
-e 's|@''GNULIB_MBSNRTOWCS''@|0|g' \
-e 's|@''GNULIB_WCRTOMB''@|0|g' \
-e 's|@''GNULIB_WCSRTOMBS''@|0|g' \
-e 's|@''GNULIB_WCSNRTOMBS''@|0|g' \
-e 's|@''GNULIB_WCWIDTH''@|0|g' \
-e 's|@''HAVE_WINT_T''@|1|g' \
-e 's|@''HAVE_BTOWC''@|1|g' \
-e 's|@''HAVE_MBSINIT''@|1|g' \
-e 's|@''HAVE_MBRTOWC''@|1|g' \
-e 's|@''HAVE_MBRLEN''@|1|g' \
-e 's|@''HAVE_MBSRTOWCS''@|1|g' \
-e 's|@''HAVE_MBSNRTOWCS''@|1|g' \
-e 's|@''HAVE_WCRTOMB''@|1|g' \
-e 's|@''HAVE_WCSRTOMBS''@|1|g' \
-e 's|@''HAVE_WCSNRTOMBS''@|1|g' \
-e 's|@''HAVE_DECL_WCTOB''@|1|g' \
-e 's|@''HAVE_DECL_WCWIDTH''@|1|g' \
-e 's|@''REPLACE_MBSTATE_T''@|0|g' \
-e 's|@''REPLACE_BTOWC''@|0|g' \
-e 's|@''REPLACE_WCTOB''@|0|g' \
-e 's|@''REPLACE_MBSINIT''@|0|g' \
-e 's|@''REPLACE_MBRTOWC''@|1|g' \
-e 's|@''REPLACE_MBRLEN''@|0|g' \
-e 's|@''REPLACE_MBSRTOWCS''@|0|g' \
-e 's|@''REPLACE_MBSNRTOWCS''@|0|g' \
-e 's|@''REPLACE_WCRTOMB''@|0|g' \
-e 's|@''REPLACE_WCSRTOMBS''@|0|g' \
-e 's|@''REPLACE_WCSNRTOMBS''@|0|g' \
-e 's|@''REPLACE_WCWIDTH''@|0|g' \
-e '/definition of GL_LINK_WARNING/r ../build-aux/link-warning.h' \
< ./wchar.in.h; \
} > wchar.h-t && \
mv wchar.h-t wchar.h
make install-recursive
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT c-ctype.o -MD -MP -MF .deps/c-ctype.Tpo -c -o c-ctype.o c-ctype.c
mv -f .deps/c-ctype.Tpo .deps/c-ctype.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT localcharset.o -MD -MP -MF .deps/localcharset.Tpo -c -o localcharset.o localcharset.c
mv -f .deps/localcharset.Tpo .deps/localcharset.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT xalloc-die.o -MD -MP -MF .deps/xalloc-die.Tpo -c -o xalloc-die.o xalloc-die.c
mv -f .deps/xalloc-die.Tpo .deps/xalloc-die.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT error.o -MD -MP -MF .deps/error.Tpo -c -o error.o error.c
mv -f .deps/error.Tpo .deps/error.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT exitfail.o -MD -MP -MF .deps/exitfail.Tpo -c -o exitfail.o exitfail.c
mv -f .deps/exitfail.Tpo .deps/exitfail.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT getdelim.o -MD -MP -MF .deps/getdelim.Tpo -c -o getdelim.o getdelim.c
getdelim.c: In function `getdelim':
getdelim.c:57: warning: 'result' might be used uninitialized in this function
mv -f .deps/getdelim.Tpo .deps/getdelim.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT getline.o -MD -MP -MF .deps/getline.Tpo -c -o getline.o getline.c
mv -f .deps/getline.Tpo .deps/getline.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT getopt.o -MD -MP -MF .deps/getopt.Tpo -c -o getopt.o getopt.c
mv -f .deps/getopt.Tpo .deps/getopt.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT getopt1.o -MD -MP -MF .deps/getopt1.Tpo -c -o getopt1.o getopt1.c
mv -f .deps/getopt1.Tpo .deps/getopt1.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT getpass.o -MD -MP -MF .deps/getpass.Tpo -c -o getpass.o getpass.c
mv -f .deps/getpass.Tpo .deps/getpass.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT mbrtowc.o -MD -MP -MF .deps/mbrtowc.Tpo -c -o mbrtowc.o mbrtowc.c
mv -f .deps/mbrtowc.Tpo .deps/mbrtowc.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT quote.o -MD -MP -MF .deps/quote.Tpo -c -o quote.o quote.c
mv -f .deps/quote.Tpo .deps/quote.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT quotearg.o -MD -MP -MF .deps/quotearg.Tpo -c -o quotearg.o quotearg.c
mv -f .deps/quotearg.Tpo .deps/quotearg.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT strcasestr.o -MD -MP -MF .deps/strcasestr.Tpo -c -o strcasestr.o strcasestr.c
mv -f .deps/strcasestr.Tpo .deps/strcasestr.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT xmalloc.o -MD -MP -MF .deps/xmalloc.Tpo -c -o xmalloc.o xmalloc.c
mv -f .deps/xmalloc.Tpo .deps/xmalloc.Po
rm -f libgnu.a
ar cru libgnu.a c-ctype.o localcharset.o xalloc-die.o error.o exitfail.o getdelim.o getline.o getopt.o getopt1.o getpass.o mbrtowc.o quote.o quotearg.o strcasestr.o xmalloc.o
ranlib libgnu.a
rm -f t-charset.alias charset.alias && \
/bin/bash ./config.charset 'sparc-sun-solaris2.10' > t-charset.alias && \
mv t-charset.alias charset.alias
rm -f t-ref-add.sed ref-add.sed && \
sed -e '/^#/d' -e 's/@''PACKAGE''@/wget/g' ref-add.sin > t-ref-add.sed && \
mv t-ref-add.sed ref-add.sed
rm -f t-ref-del.sed ref-del.sed && \
sed -e '/^#/d' -e 's/@''PACKAGE''@/wget/g' ref-del.sin > t-ref-del.sed && \
mv t-ref-del.sed ref-del.sed
if test no = no; then \
case 'solaris2.10' in \
darwin[56]*) \
need_charset_alias=true ;; \
darwin* | cygwin* | mingw* | pw32* | cegcc*) \
need_charset_alias=false ;; \
*) \
need_charset_alias=true ;; \
esac ; \
else \
need_charset_alias=false ; \
fi ; \
if $need_charset_alias; then \
/bin/bash ../build-aux/mkinstalldirs /usr/local/lib ; \
fi ; \
if test -f /usr/local/lib/charset.alias; then \
sed -f ref-add.sed /usr/local/lib/charset.alias > /usr/local/lib/charset.tmp ; \
../build-aux/install-sh -c -m 644 /usr/local/lib/charset.tmp /usr/local/lib/charset.alias ; \
rm -f /usr/local/lib/charset.tmp ; \
else \
if $need_charset_alias; then \
sed -f ref-add.sed charset.alias > /usr/local/lib/charset.tmp ; \
../build-aux/install-sh -c -m 644 /usr/local/lib/charset.tmp /usr/local/lib/charset.alias ; \
rm -f /usr/local/lib/charset.tmp ; \
fi ; \
fi
mkdir -p -- /usr/local/lib
Making install in md5
rm -f stdint.h-t stdint.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's/@''HAVE_STDINT_H''@/1/g' \
-e 's|@''INCLUDE_NEXT''@|include_next|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
-e 's|@''NEXT_STDINT_H''@||g' \
-e 's/@''HAVE_SYS_TYPES_H''@/1/g' \
-e 's/@''HAVE_INTTYPES_H''@/1/g' \
-e 's/@''HAVE_SYS_INTTYPES_H''@/1/g' \
-e 's/@''HAVE_SYS_BITYPES_H''@/0/g' \
-e 's/@''HAVE_LONG_LONG_INT''@/1/g' \
-e 's/@''HAVE_UNSIGNED_LONG_LONG_INT''@/1/g' \
-e 's/@''APPLE_UNIVERSAL_BUILD''@/0/g' \
-e 's/@''BITSIZEOF_PTRDIFF_T''@/32/g' \
-e 's/@''PTRDIFF_T_SUFFIX''@//g' \
-e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/32/g' \
-e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/1/g' \
-e 's/@''SIG_ATOMIC_T_SUFFIX''@//g' \
-e 's/@''BITSIZEOF_SIZE_T''@/32/g' \
-e 's/@''SIZE_T_SUFFIX''@/u/g' \
-e 's/@''BITSIZEOF_WCHAR_T''@/32/g' \
-e 's/@''HAVE_SIGNED_WCHAR_T''@/1/g' \
-e 's/@''WCHAR_T_SUFFIX''@/l/g' \
-e 's/@''BITSIZEOF_WINT_T''@/32/g' \
-e 's/@''HAVE_SIGNED_WINT_T''@/1/g' \
-e 's/@''WINT_T_SUFFIX''@/l/g' \
< ./stdint.in.h; \
} > stdint.h-t && \
mv stdint.h-t stdint.h
rm -f wchar.h-t wchar.h && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \
sed -e 's|@''INCLUDE_NEXT''@|include_next|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \
-e 's|@''NEXT_WCHAR_H''@||g' \
-e 's|@''HAVE_WCHAR_H''@|1|g' \
-e 's|@''GNULIB_BTOWC''@|0|g' \
-e 's|@''GNULIB_WCTOB''@|0|g' \
-e 's|@''GNULIB_MBSINIT''@|1|g' \
-e 's|@''GNULIB_MBRTOWC''@|1|g' \
-e 's|@''GNULIB_MBRLEN''@|0|g' \
-e 's|@''GNULIB_MBSRTOWCS''@|0|g' \
-e 's|@''GNULIB_MBSNRTOWCS''@|0|g' \
-e 's|@''GNULIB_WCRTOMB''@|0|g' \
-e 's|@''GNULIB_WCSRTOMBS''@|0|g' \
-e 's|@''GNULIB_WCSNRTOMBS''@|0|g' \
-e 's|@''GNULIB_WCWIDTH''@|0|g' \
-e 's|@''HAVE_WINT_T''@|1|g' \
-e 's|@''HAVE_BTOWC''@|1|g' \
-e 's|@''HAVE_MBSINIT''@|1|g' \
-e 's|@''HAVE_MBRTOWC''@|1|g' \
-e 's|@''HAVE_MBRLEN''@|1|g' \
-e 's|@''HAVE_MBSRTOWCS''@|1|g' \
-e 's|@''HAVE_MBSNRTOWCS''@|1|g' \
-e 's|@''HAVE_WCRTOMB''@|1|g' \
-e 's|@''HAVE_WCSRTOMBS''@|1|g' \
-e 's|@''HAVE_WCSNRTOMBS''@|1|g' \
-e 's|@''HAVE_DECL_WCTOB''@|1|g' \
-e 's|@''HAVE_DECL_WCWIDTH''@|1|g' \
-e 's|@''REPLACE_MBSTATE_T''@|0|g' \
-e 's|@''REPLACE_BTOWC''@|0|g' \
-e 's|@''REPLACE_WCTOB''@|0|g' \
-e 's|@''REPLACE_MBSINIT''@|0|g' \
-e 's|@''REPLACE_MBRTOWC''@|1|g' \
-e 's|@''REPLACE_MBRLEN''@|0|g' \
-e 's|@''REPLACE_MBSRTOWCS''@|0|g' \
-e 's|@''REPLACE_MBSNRTOWCS''@|0|g' \
-e 's|@''REPLACE_WCRTOMB''@|0|g' \
-e 's|@''REPLACE_WCSRTOMBS''@|0|g' \
-e 's|@''REPLACE_WCSNRTOMBS''@|0|g' \
-e 's|@''REPLACE_WCWIDTH''@|0|g' \
-e '/definition of GL_LINK_WARNING/r ../build-aux/link-warning.h' \
< ./wchar.in.h; \
} > wchar.h-t && \
mv wchar.h-t wchar.h
make install-recursive
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -I. -I../src -O2 -Wall -MT dummy.o -MD -MP -MF .deps/dummy.Tpo -c -o dummy.o dummy.c
mv -f .deps/dummy.Tpo .deps/dummy.Po
rm -f libmd5.a
ar cru libmd5.a dummy.o
ranlib libmd5.a
Making install in src
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT cmpt.o -MD -MP -MF .deps/cmpt.Tpo -c -o cmpt.o cmpt.c
mv -f .deps/cmpt.Tpo .deps/cmpt.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT connect.o -MD -MP -MF .deps/connect.Tpo -c -o connect.o connect.c
mv -f .deps/connect.Tpo .deps/connect.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT convert.o -MD -MP -MF .deps/convert.Tpo -c -o convert.o convert.c
mv -f .deps/convert.Tpo .deps/convert.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT cookies.o -MD -MP -MF .deps/cookies.Tpo -c -o cookies.o cookies.c
mv -f .deps/cookies.Tpo .deps/cookies.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT ftp.o -MD -MP -MF .deps/ftp.Tpo -c -o ftp.o ftp.c
mv -f .deps/ftp.Tpo .deps/ftp.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT css.o -MD -MP -MF .deps/css.Tpo -c -o css.o css.c
css.l:38:23: warning: "/*" within comment
css.c:5569: warning: 'yyunput' defined but not used
mv -f .deps/css.Tpo .deps/css.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT css-url.o -MD -MP -MF .deps/css-url.Tpo -c -o css-url.o css-url.c
mv -f .deps/css-url.Tpo .deps/css-url.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT ftp-basic.o -MD -MP -MF .deps/ftp-basic.Tpo -c -o ftp-basic.o ftp-basic.c
mv -f .deps/ftp-basic.Tpo .deps/ftp-basic.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT ftp-ls.o -MD -MP -MF .deps/ftp-ls.Tpo -c -o ftp-ls.o ftp-ls.c
mv -f .deps/ftp-ls.Tpo .deps/ftp-ls.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT hash.o -MD -MP -MF .deps/hash.Tpo -c -o hash.o hash.c
mv -f .deps/hash.Tpo .deps/hash.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT host.o -MD -MP -MF .deps/host.Tpo -c -o host.o host.c
mv -f .deps/host.Tpo .deps/host.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT html-parse.o -MD -MP -MF .deps/html-parse.Tpo -c -o html-parse.o html-parse.c
mv -f .deps/html-parse.Tpo .deps/html-parse.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT html-url.o -MD -MP -MF .deps/html-url.Tpo -c -o html-url.o html-url.c
mv -f .deps/html-url.Tpo .deps/html-url.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT http.o -MD -MP -MF .deps/http.Tpo -c -o http.o http.c
http.c: In function `gethttp':
http.c:2107: warning: unused variable `tmp2'
mv -f .deps/http.Tpo .deps/http.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT init.o -MD -MP -MF .deps/init.Tpo -c -o init.o init.c
mv -f .deps/init.Tpo .deps/init.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT log.o -MD -MP -MF .deps/log.Tpo -c -o log.o log.c
mv -f .deps/log.Tpo .deps/log.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT main.o -MD -MP -MF .deps/main.Tpo -c -o main.o main.c
main.c: In function `print_version':
main.c:781: warning: unused variable `locale_title'
main.c:784: warning: unused variable `line'
mv -f .deps/main.Tpo .deps/main.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT netrc.o -MD -MP -MF .deps/netrc.Tpo -c -o netrc.o netrc.c
mv -f .deps/netrc.Tpo .deps/netrc.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT progress.o -MD -MP -MF .deps/progress.Tpo -c -o progress.o progress.c
mv -f .deps/progress.Tpo .deps/progress.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT ptimer.o -MD -MP -MF .deps/ptimer.Tpo -c -o ptimer.o ptimer.c
mv -f .deps/ptimer.Tpo .deps/ptimer.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT recur.o -MD -MP -MF .deps/recur.Tpo -c -o recur.o recur.c
recur.c: In function `retrieve_tree':
recur.c:203: warning: unused variable `up_error_code'
mv -f .deps/recur.Tpo .deps/recur.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT res.o -MD -MP -MF .deps/res.Tpo -c -o res.o res.c
mv -f .deps/res.Tpo .deps/res.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT retr.o -MD -MP -MF .deps/retr.Tpo -c -o retr.o retr.c
mv -f .deps/retr.Tpo .deps/retr.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT snprintf.o -MD -MP -MF .deps/snprintf.Tpo -c -o snprintf.o snprintf.c
mv -f .deps/snprintf.Tpo .deps/snprintf.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT spider.o -MD -MP -MF .deps/spider.Tpo -c -o spider.o spider.c
mv -f .deps/spider.Tpo .deps/spider.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT url.o -MD -MP -MF .deps/url.Tpo -c -o url.o url.c
mv -f .deps/url.Tpo .deps/url.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT utils.o -MD -MP -MF .deps/utils.Tpo -c -o utils.o utils.c
utils.c: In function `aprintf':
utils.c:329: warning: long int format, int arg (arg 4)
utils.c: At top level:
utils.c:97: warning: 'memfatal' defined but not used
mv -f .deps/utils.Tpo .deps/utils.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT exits.o -MD -MP -MF .deps/exits.Tpo -c -o exits.o exits.c
mv -f .deps/exits.Tpo .deps/exits.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT build_info.o -MD -MP -MF .deps/build_info.Tpo -c -o build_info.o build_info.c
mv -f .deps/build_info.Tpo .deps/build_info.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT ftp-opie.o -MD -MP -MF .deps/ftp-opie.Tpo -c -o ftp-opie.o ftp-opie.c
mv -f .deps/ftp-opie.Tpo .deps/ftp-opie.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT openssl.o -MD -MP -MF .deps/openssl.Tpo -c -o openssl.o openssl.c
mv -f .deps/openssl.Tpo .deps/openssl.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT http-ntlm.o -MD -MP -MF .deps/http-ntlm.Tpo -c -o http-ntlm.o http-ntlm.c
mv -f .deps/http-ntlm.Tpo .deps/http-ntlm.Po
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT gen-md5.o -MD -MP -MF .deps/gen-md5.Tpo -c -o gen-md5.o gen-md5.c
mv -f .deps/gen-md5.Tpo .deps/gen-md5.Po
echo '/* version.c */' > version.c
echo '/* Autogenerated by Makefile - DO NOT EDIT */' >> version.c
echo '' >> version.c
echo 'const char *version_string = "1.12"' >> version.c
echo ';' >> version.c
echo 'const char *compilation_string = "'/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall'";' \
| sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$/";/' >> version.c
echo 'const char *link_string = "'/usr/sfw/bin/gcc -O2 -Wall \
-lssl -lcrypto -lmd5 -ldl -lsocket -lnsl -lrt ftp-opie.o openssl.o http-ntlm.o gen-md5.o ../lib/libgnu.a'";' \
| sed -e 's/[\\"]/\\&/g' -e 's/\\"/"/' -e 's/\\";$/";/' >> version.c
/usr/sfw/bin/gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC=\"/usr/local/etc/wgetrc\" -DLOCALEDIR=\"/usr/local/share/locale\" -I. -I../lib -O2 -Wall -MT version.o -MD -MP -MF .deps/version.Tpo -c -o version.o version.c
mv -f .deps/version.Tpo .deps/version.Po
/usr/sfw/bin/gcc -O2 -Wall -o wget cmpt.o connect.o convert.o cookies.o ftp.o css.o css-url.o ftp-basic.o ftp-ls.o hash.o host.o html-parse.o html-url.o http.o init.o log.o main.o netrc.o progress.o ptimer.o recur.o res.o retr.o snprintf.o spider.o url.o utils.o exits.o build_info.o version.o ftp-opie.o openssl.o http-ntlm.o gen-md5.o ../lib/libgnu.a -lssl -lcrypto -lmd5 -ldl -lsocket -lnsl -lrt
test -z "/usr/local/bin" || ../build-aux/install-sh -c -d "/usr/local/bin"
../build-aux/install-sh -c 'wget' '/usr/local/bin/wget'
Making install in doc
/bin/bash ../build-aux/mkinstalldirs /usr/local/etc
mkdir -p -- /usr/local/etc
test -z "/usr/local/share/info" || ../build-aux/install-sh -c -d "/usr/local/share/info"
../build-aux/install-sh -c -m 644 './wget.info' '/usr/local/share/info/wget.info'
Making install in po
if test "wget" = "gettext-tools"; then \
../build-aux/install-sh -c -d /usr/local/share/gettext/po; \
for file in Makefile.in.in remove-potcdate.sin quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot Makevars.template; do \
../build-aux/install-sh -c -m 644 ./$file \
/usr/local/share/gettext/po/$file; \
done; \
for file in Makevars; do \
rm -f /usr/local/share/gettext/po/$file; \
done; \
else \
: ; \
fi
Making install in tests
Making install in util
Making install in windows
root@m5k2a #


root@m5k2a # ls -l /usr/local/
total 14
drwxr-xr-x 2 root root 512 Feb 2 14:36 bin
drwxr-xr-x 2 root root 512 Feb 2 14:36 etc
drwxr-xr-x 2 root root 512 Feb 2 14:36 lib
drwxr-xr-x 3 root root 512 Feb 2 14:36 share
root@m5k2a # ls -l /usr/local/bin
total 810
-rwxr-xr-x 1 oracle root 4143 Aug 24 2009 coraenv
-rwxr-xr-x 1 oracle root 2426 Aug 24 2009 dbhome
-rwxr-xr-x 1 oracle root 4729 Aug 24 2009 oraenv
-rwxr-xr-x 1 root root 385704 Feb 2 14:36 wget


root@m5k2a # /usr/local/bin/wget -V
GNU Wget 1.12 built on solaris2.10.

+digest +ipv6 -nls +ntlm +opie +md5/solaris +https -gnutls +openssl
-iri

Wgetrc:
/usr/local/etc/wgetrc (system)
Compile: /usr/sfw/bin/gcc -DHAVE_CONFIG_H
-DSYSTEM_WGETRC="/usr/local/etc/wgetrc"
-DLOCALEDIR="/usr/local/share/locale" -I. -I../lib -O2 -Wall
Link: /usr/sfw/bin/gcc -O2 -Wall -lssl -lcrypto -lmd5 -ldl -lsocket -lnsl
-lrt ftp-opie.o openssl.o http-ntlm.o gen-md5.o ../lib/libgnu.a

Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Originally written by Hrvoje Niksic .
Currently maintained by Micah Cowan .
Please send bug reports and questions to .
root@m5k2a # exit






<20 .="" br="">

четверг, 28 октября 2010 г.

Standby (резервная СУБД)

Primary

select switchover_status from v$database;

switchover_status
-----------------
sessions active

Сессии перед переключением должны быть завершены вручную.
Или команда переключения должна быть с опцией with session shutdown


Standby

select switchover_status from v$database;

switchover_status
-----------------
not allowed

Этот статус означает, что запрос на switchover не был получен от Primary database.


Делаем switchover

Так как на Primary:  session active
то выполним следующую команду:

alter database commit to switchover to physical standby with session shutdown;


Если теперь посмотреть switchover_status на standby, то мы увидим :

select switchover_status from v$database;

switchover_status
-----------------
switchover pending


Это означает что Primary уже отправил запрос на переключение.
(но переключение ещё не завершилось)


После завершения операции переключения запускаем бывший Primary так:

shutdown immediate;
startup nomount;
alter database mount standby database;


и проверяем role:

select database_role from v$database;

database_role
----------------
physical standby


Проверяем статус бывшей резервной базы standby:

select switchover_status from v$database;

switchover_status
-----------------
to primary


Ну и переключаем её:

alter database commit to switchover to primary;
shutdown immediate;
startup;

Проверим её роль:

select database_role from v$database;

database_role
----------------
primary



Проверим статус новой Primary БД:

select switchover_status from v$database;

switchover_status
-----------------
resolvable gap

Это значит, что резервная БД имеет разрыв цепочки redo.

Эта ситуация может разрешиться автоматически путем получения недостающих redo от primary.


Проверяем статус нового Standby:

select switchover_status from v$database;

switchover_status
-----------------
recovery needed

Это означает, что резервная база нуждается в применении дополнительных redo,
перед переключением её на роль primary.


Перед переключением на Primary статус должен быть:

select switchover_status from v$database;

switchover_status
-----------------
sessions active

или

switchover_status
-----------------
to standby


Переключаемся

alter database commit to switchover to physical standby with session shutdown;
shutdown immediate;
startup mount;

Теперь у нас две резервных БД (старая и новая).
Статус на обоих должен быть:

select switchover_status from v$database;

switchover_status
-----------------
to prymary


Теперь переводим старую резервную БД в основную.

alter database commit to switchover to primary;

Если 10gR2:
alter database open;


Если 10gR1:
shutdown immediate
startup

Переключаем новую резервную БД в режим непрерывного наката логов:

alter database recover managed standby database using current logfile disconnect;


Убедимся что все работает:

На Primary:

alter system switch logfile;
alter system switch logfile;
alter system switch logfile;
alter system switch logfile;
alter system switch logfile;

select max(sequence#) from v$archived_log;


На Standby

select max(sequence#) from v$archived_log;

значение должно совпадать со значением на Primary.



  Останов основной БД и активация standby
(например если standby используется для миграции БД)

На Primary

alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
shutdown immediate

Иногда, вмесо этого, достаточно остановить передачу логов.

lsnrctl stop lsnr_primary
alter system set log_archive_dest_state_2='DEFER';

На Standby

select switchover_status from v$database;

switchover_status
-----------------
sessions active


alter database recover managed standby database finish;

select switchover_status from v$database;

switchover_status
-----------------
to primary

alter database commit to switchover to primary;

alter database open;

select database_role from v$database;

database_role
----------------
primary



Как переименовать  UNNAMED  файл на Standby.
Находим имя файла:

SELECT FILE#, NAME FROM V$DATAFILE

FILE# NAME
---------- ------------------------------------------------------------
1 /db01/prod/system01.dbf
2 /db01/prod/ca_data-01.dbf
3 /db01/prod/sysaux01.dbf
4 /db01/prod/users01.dbf
5 /db01/prod/proddata-01.dbf
6 /db01/prod/proddata-02.dbf
7 /oracle/app/oracle/product/10.2.0/db_1/dbs/UNNAMED003

Остановим накат Standby:

alter database recover managed standby database disconnect from session

Установим параметр  statndby_file_management в MANUAL

alter system set standby_file_management=manual;

Переименуем UNNAMED datafile:

alter database create datafile 'Unnamed Filename with Path' as 'Origianal file name New location';

alter database create datafile '/oracle/app/oracle/product/10.2.0/db_1/dbs/UNNAMED003' as '/db01/prod/proddata-03.dbf';

Вернём значение параметра statndby_file_management в AUTO:

alter system set standby_file_management=auto;

Запустим накат Standby:
alter database recover managed standby database disconnect



Если база данных на ASM то синтаксис такой:

SQL> alter database create datafile 'unnamed datafile' as '+TargetDiskGroupName' size xM;

SQL> ALTER DATABASE CREATE DATAFILE
     '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00005'
      AS '+DATA' size 500M;




Изменяем Protection Mode Dataguard

MAXIMUM AVAILABILITY,
MAXIMUM PERFORMANCE,
MAXIMUM PROTECTION,

Standby Redo Log, SYNC, synchronous mode

Primary Database :  SRPRIM
Standby Database :  SRPSTB
Database version :  11gR2

   
SQL> select status,instance_name,database_role,protection_mode from v$database,v$instance;

STATUS INSTANCE_NAME DATABASE_ROLE PROTECTION_MODE
------ ------------- ------------- --------------------
OPEN   srprim        PRIMARY       MAXIMUM PERFORMANCE

Для режимов  MAXIMUM AVAILABILITY/MAXIMUM PROTECTION
необходимы standby redo logs сконфигурированные на standby database.
А на primary parameter (log_archive_dest_2) должен использовать SYNCHRONOUS ('SYNC') mode.

   
SQL> select group#,bytes/1024/1024 from v$log;

GROUP# BYTES/1024/1024
------ ------------------
1      100
2      100
3      100


   
SQL> select group#,bytes/1024/1024 from v$standby_log;

no rows selected

Нет standby redo logs
Добавляем

   
SQL> alter database add standby logfile group 4 size 100M;

Database altered.

SQL> alter database add standby logfile group 5 size 100M;

Database altered.

SQL> alter database add standby logfile group 6 size 100M;

Database altered.

SQL> alter database add standby logfile group 7 size 100M;

Database altered.


   
SQL> select group#,bytes/1024/1024 from v$standby_log;

GROUP# BYTES/1024/1024
------ ---------------
4      100
5      100
6      100
7      100

SQL> select thread#,max(sequence#) from v$archived_log group bythread#;

THREAD# MAX(SEQUENCE#)
------- --------------
1       311



Standby:
   
SQL> select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#;

THREAD# MAX(SEQUENCE#)
------- --------------
1       311

   
SQL> select status,instance_name,database_role from v$database,v$Instance;

STATUS  INSTANCE_NAME DATABASE_ROLE
------- ------------- ------------------
MOUNTED srpstb        PHYSICAL STANDBY


   
SQL> select group#,bytes/1024/1024 from v$log;

GROUP# BYTES/1024/1024
------ ----------------
1      100
3      100
2      100

SQL> select group#,bytes/1024/1024 from v$standby_log;

no rows selected


Остановим MRP (Managed Recovery Process) и добавим standby redo log groups
   
SQL> select process,status,sequence# from v$managed_standby;

PROCESS STATUS       SEQUENCE#
------- ------------ ----------
ARCH    CONNECTED    0
ARCH    CONNECTED    0
ARCH    CONNECTED    0
ARCH    CONNECTED    0
RFS     IDLE         0
RFS     IDLE         0
RFS     IDLE         0
MRP0    WAIT_FOR_LOG 312

8 rows selected.

Cancel the MRP process on the standby database:
   
SQL> alter database recover managed standby database cancel;

Database altered.

   
SQL> alter database add standby logfile group 4 size 100M;

Database altered.

SQL> alter database add standby logfile group 5 size 100M;

Database altered.

SQL> alter database add standby logfile group 6 size 100M;

Database altered.

SQL> alter database add standby logfile group 7 size 100M;

Database altered.

SQL> select group#,bytes/1024/1024 from v$standby_log;

GROUP# BYTES/1024/1024
------ ---------------
4      100
5      100
6      100
7      100

Запустим  MRP на standby database
   
SQL> alter database recover managed standby database disconnectfrom session;

Database altered.

SQL> select process,status,sequence# from v$managed_standby;

PROCESS STATUS       SEQUENCE#
------- -----------  ----------
ARCH    CONNECTED    0
ARCH    CONNECTED    0
ARCH    CONNECTED    0
ARCH    CONNECTED    0
RFS     IDLE         0
RFS     IDLE         0
RFS     IDLE         0
MRP0    WAIT_FOR_LOG 312

8 rows selected.

Сконфигурируем parameter (log_archive_dest_2) на primary database
на использование SYNCHRONOUS mode.


Primary database:
   
SQL> show parameter log_archive_dest_2

NAME               TYPE   VALUE
------------------ ------ -----------------------------------
log_archive_dest_2 string service=srpstb valid_for=(online_logfiles,primary_role) db_unique_name=srp                          stb

SQL> alter system set log_archive_dest_2='service=srpstb LGWR AFFIRM SYNC valid_for=(online_logfiles,primary_role) db_unique_name=srpstb';

System altered.

SQL> show parameter dest_2

NAME                        TYPE   VALUE
--------------------------- ------ ----------------------------
db_create_online_log_dest_2 string
log_archive_dest_2          string service=srpstb LGWR AFFIRM SYNC valid_for=(online_logfiles,primary_role) db_unique_name=srpstb

Shutdown the primary database and mount it.
   
SQL> shut immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area 208769024 bytes
Fixed Size 2226936 bytes
Variable Size 180356360 bytes
Database Buffers 20971520 bytes
Redo Buffers 5214208 bytes
Database mounted.
SQL>

Изменение protection mode

На primary database :

alter database set standby database to maximize {AVAILABILITY | PROTECTION| PERFORMANCE}

   
SQL> alter database set standby database to maximize availability;

Database altered.

SQL> alter database open;

Database altered.

SQL> select status,instance_name,database_role,protection_mode from v$database,v$instance;

STATUS INSTANCE_NAME DATABASE_ROLE PROTECTION_MODE
------ ------------- ------------- ----------------------
OPEN   srprim        PRIMARY       MAXIMUM AVAILABILITY


On primary:
   
SQL> select thread#,max(sequence#) from v$archived_log group bythread#;

THREAD# MAX(SEQUENCE#)
------- --------------
1       316

Standby:
   
SQL> select status,instance_name,database_role,protection_mode from v$database,v$instance;

STATUS  INSTANCE_NAME DATABASE_ROLE    PROTECTION_MODE
------- ------------- ---------------- --------------------
MOUNTED srpstb        PHYSICAL STANDBY MAXIMUM AVAILABILITY

SQL> select thread#,max(sequence#) from v$archived_log where applied='YES' group by thread#;

THREAD# MAX(SEQUENCE#)
------- --------------
 1      316





Создание  Data Guard 12c  (RAC Physical Standby Database)


Убедимся что primary находится в archivelog и включен Force logging:

SQL> select log_mode,database_role,open_mode from v$database;
LOG_MODE DATABASE_ROLE OPEN_MODE
----------------- ----------------------- --------------------
ARCHIVELOG PRIMARY READ WRITE


SQL> select force_logging from v$database;
FORCE_LOGGING
-----------------------
YES

Если нет то включить:

SQL> alter database force logging;


1. Конфигурация RAC primary database для поддержки primary role такая:
SQL> alter system set log_archive_config='DG_CONFIG=(cdbrac,stdrac)' scope=both sid='*';

SQL> alter system set log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=cdbrac' scope= both sid='*';

SQL> alter system set log_archive_dest_2='SERVICE=stdrac VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=stdrac' scope=both sid='*'

SQL> alter system set LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' scope=both sid='*'

SQL> alter system set LOG_ARCHIVE_MAX_PROCESSES=8 scope=both sid='*'

SQL> alter system set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE scope=both sid='*'

SQL> alter system set DB_UNIQUE_NAME=cdbrac scope=spfile sid='*'


2. Конфигурация RAC primary database для поддержки standby role такая:

SQL> alter system set FAL_SERVER='stdrac1,stdrac2' scope=both sid='*'
DB_FILE_NAME_CONVERT/LOG_FILE_NAME_CONVERT : If the primary and standby file system/Disk group are different then we must configure these two parameters.

SQL> alter system set DB_FILE_NAME_CONVERT='+DATA','+DATADG' scope=spfile sid='*'

SQL> alter system set LOG_FILE_NAME_CONVERT= '+FRA','+FRADG' scope=spfile sid='*'

SQL> alter system set STANDBY_FILE_MANAGEMENT=AUTO scope=spfile sid='*'


3. Создаём каталог для backup:
[oracle@racnroll1 ~]$ cd $HOME
[oracle@racnroll1 ~]$ mkdir backup

SQL> create pfile='/home/oracle/backup/initSTDRAC.ora' from spfile;

4. Копируем на RAC physical standby database
[oracle@racnroll1 backup]$ scp /home/oracle/backup/initSTDRAC.ora oracle@racnroll3:/u01/app/oracle/product/12.1.0.1/db_1/dbs/

5. We are performing Active duplicate of 11g feature, hence no need to take backup or copy
   to the standby server.

6. Создаём standby redo logs on the RAC primary database to support the standby role.

SQL> select group#,thread#,bytes from v$log;
GROUP# THREAD# BYTES
------------ ------------- ----------
1 1 52428800
2 1 52428800
3 2 52428800
4 2 52428800

Добавляем  standby redo logs файлы в thread1 на один больше (т.е три)
и в thread2 тоже на один больше (т.е три)
Всего добавляем шесть standby redo logs файлов

SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 ('+FRA') SIZE 50M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 ('+FRA') SIZE 50M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 1 ('+FRA') SIZE 50M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 ('+FRA') SIZE 50M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 ('+FRA') SIZE 50M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE THREAD 2 ('+FRA') SIZE 50M;


SQL> select group#,thread#,bytes from v$standby_log;
GROUP# THREAD# BYTES
---------- ------------- ----------
5 1 52428800
6 1 52428800
7 1 52428800
8 2 52428800
9 2 52428800
10 2 52428800
6 rows selected.


7. Копируем файл паролей на  RAC physical standby database.
[oracle@racnroll1 ~]$ . oraenv
ORACLE_SID = [cdbrac1] ? +ASM1

[oracle@racnroll1 ~]$ asmcmd
ASMCMD> pwget --dbuniquename cdbrac
+DATA/cdbrac/orapwcdbrac

ASMCMD> pwcopy --dbuniquename cdbrac '+DATA/cdbrac/orapwcdbrac' '/home/oracle/backup'
copying +DATA/cdbrac/orapwcdbrac -> /home/oracle/backup/orapwcdbrac

ASMCMD> exit

[oracle@racnroll1 ~]$ cd /home/oracle/backup/
[oracle@racnroll1 backup]$ ls -lrth
[oracle@racnroll1 backup]$ scp orapwcdbrac oracle@racnroll3:/home/oracle/backup/

8. Подключимся к  RAC physical standby database и скопируем файл паролей в ASM directory.
[oracle@racnroll3 ~]$ . oraenv
ORACLE_SID = [stdrac1] ? +ASM1

[oracle@racnroll3 ~]$ asmcmd
ASMCMD> pwcopy --dbuniquename stdrac '/home/oracle/backup/orapwcdbrac' '+DATA/stdrac/orapwcdbrac'
copying /home/oracle/backup/orapwcdbrac -> +DATA/stdrac/orapwcdbrac
ASMCMD> exit

9. Настроим tnsnames на standby чтобы RMAN duplicate смог приконнектиться к auxiliary instance

STDRAC1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = racnroll3-vip)
(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = stdrac) (UR=A)
(INSTANCE_NAME = stdrac1)
)
)


10. Заходим на первый standby database instance и выполняем сценарий создания резервной БД.

[oracle@racnroll3 ~]$ export ORACLE_SID=stdrac1
[oracle@racnroll3 ~]$ export ORACLE_BASE=/u01/app/oracle
[oracle@racnroll3 ~]$ export ORACLE_HOME=/u01/app/oracle/product/12.1.0.1/db_1
[oracle@racnroll3 ~]$ sqlplus / as sysdba

SQL> startup nomount pfile='/u01/app/oracle/product/12.1.0.1/db_1/dbs/initSTDRAC.ora
SQL> exit;

[oracle@racnroll3 ~]$ rman target sys/oracle@cdbrac1 auxiliary sys/oracle@stdrac1

RMAN> duplicate target database for standby from active database nofilenamecheck;
Starting Duplicate Db at 27-JUL-15
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=28 device type=DISK
(Output is truncated……)

RMAN> alter system register;
using target database control file instead of recovery catalog
Statement processed

RMAN> exit

11. Останавливаем RAC physical standby database instance (stdrac1) и изменяем
initialization parameters :

control_files и cluster_database в initSTDRAC.ora file.

SQL> shutdown immediate;

[oracle@racnroll3 ~]$ vi /u01/app/oracle/product/12.1.0.1/db_1/dbs/initSTDRAC.ora
[oracle@racnroll3 ~]$ export ORACLE_SID=stdrac1
[oracle@racnroll3 ~]$ export ORACLE_BASE=/u01/app/oracle
[oracle@racnroll3 ~]$ export ORACLE_HOME=/u01/app/oracle/product/12.1.0.1/db_1
[oracle@racnroll3 ~]$ sqlplus / as sysdba

SQL> select open_mode, database_role from v$database;
OPEN_MODE DATABASE_ROLE
-------------------- --------------------------
MOUNTED PHYSICAL STANDBY

SQL> show parameter control_files
SQL> show parameter cluster_database
SQL> exit


12. Добавим Standby в конфигурацию кластера

[oracle@racnroll3 ~]$ srvctl add database -d stdrac -n cdbrac -o /u01/app/oracle/product/12.1.0.1/db_1 -p +DATA/STDRAC/parameterfile/spfileSTDRAC.ora -r physical_standby -a DATA,FRA
[oracle@racnroll3 ~]$ srvctl add instance -d stdrac -i stdrac1 -n racnroll3
[oracle@racnroll3 ~]$ srvctl add instance -d stdrac -i stdrac2 -n racnroll4
[oracle@racnroll3 ~]$ srvctl start database -d stdrac -o mount
[oracle@racnroll3 ~]$ ps -ef | grep pmon
[oracle@racnroll3 ~]$ srvctl config database -d stdrac


Опции:

-d option specifies the database unique name (DB_UNIQUE_NAME) of the database.
-i option specifies the database instance name.
-n option specifies the node on which the instance is running.
-o option specifies the Oracle home of the database.


13. Запустим процесс наката RAC Physical Standby Database
start the MRP (Media Recovery Process) on any one node of the RAC physical standby database.


SQL> alter database recover managed standby database disconnect from session;

14. Мониторим REDO transport status
(redo transport and checking apply lag or transport lag).


Primary:

SQL> select thread#,max(sequence#) from v$archived_log group by thread#;

Standby:

SQL> select thread#,max(sequence#) from v$archived_log where applied=’YES’ group by thread#;


Ещё запросы для мониторинга:
SQL> SELECT MAX(SEQUENCE#), THREAD#
FROM V$ARCHIVED_LOG
WHERE RESETLOGS_CHANGE# = (SELECT MAX(RESETLOGS_CHANGE#)
FROM V$ARCHIVED_LOG)
GROUP BY THREAD#;

SQL> col destination format a20
SQL> col status format a10

SQL> SELECT DESTINATION, STATUS, ARCHIVED_THREAD#, ARCHIVED_SEQ#
FROM V$ARCHIVE_DEST_STATUS
WHERE STATUS <> 'DEFERRED' AND STATUS <> 'INACTIVE';


Мониторинг Standby

1) Basic information of database (primary or standby)

SQL> SELECT DATABASE_ROLE, DB_UNIQUE_NAME INSTANCE, OPEN_MODE, PROTECTION_MODE, PROTECTION_LEVEL, SWITCHOVER_STATUS FROM V$DATABASE;
DATABASE_ROLE INSTANCE OPEN_MODE PROTECTION_MODE PROTECTION_LEVEL SWITCHOVER_STATUS
–––––––– ––––––––––––––– ––––––––––
PHYSICAL STANDBY stdby READ ONLY MAXIMUM PERFORMANCE MAXIMUM PERFORMANCE NOT ALLOWED


2) Check for messages/errors

SQL> SELECT MESSAGE FROM V$DATAGUARD_STATUS;
MESSAGE
––––––––––––––––––––––––––––––––––––––––
ARC0: Archival started
ARC1: Archival started
ARC2: Archival started
ARC2: Becoming the ‘no FAL’ ARCH
ARC1: Becoming the heartbeat ARCH
ARC1: Becoming the active heartbeat ARCH
ARC3: Archival started


3) To display current status information for specific physical standby database background processes.

SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK#, BLOCKS FROM V$MANAGED_STANDBY ;
PROCESS STATUS THREAD# SEQUENCE# BLOCK# BLOCKS
––––- –––––– ––––– ––––– ––––– –––––
ARCH CONNECTED 0 0 0 0
ARCH CONNECTED 0 0 0 0
ARCH CLOSING 1 54 45056 755
ARCH CLOSING 1 57 1 373
RFS IDLE 0 0 0 0
RFS IDLE 0 0 0 0
RFS IDLE 0 0 0 0
RFS IDLE 1 58 30239 1

8 rows selected.


4) Show received archived logs on physical standby
Run this query on physical standby

SQL> select registrar, creator, thread#, sequence#, first_change#, next_change# from v$archived_log;
REGISTR CREATOR THREAD# SEQUENCE# FIRST_CHANGE# NEXT_CHANGE#
–––- –––- ––––– ––––– ––––––- ––––––
RFS ARCH 1 29 1630326 1631783
RFS ARCH 1 30 1631783 1632626
RFS LGWR 1 31 1632626 1669359
RFS ARCH 1 33 1676050 1676124
RFS ARCH 1 32 1669359 1676050
RFS ARCH 1 35 1681145 1681617
RFS ARCH 1 34 1676124 1681145
RFS ARCH 1 37 1688494 1688503
RFS ARCH 1 36 1681617 1688494
RFS ARCH 1 38 1688503 1689533
RFS LGWR 1 39 1689533 1697243


5) To check the log status

SQL> select ‘Last Log applied : ‘ Logs, to_char(next_time,‘DD-MON-YY:HH24:MI:SS’) Time
from v$archived_log
where sequence# = (select max(sequence#) from v$archived_log where applied=’YES’)
union
select ‘Last Log received : ‘ Logs, to_char(next_time,‘DD-MON-YY:HH24:MI:SS’) Time
from v$archived_log
where sequence# = (select max(sequence#) from v$archived_log);
LOGS TIME
–––––––––– –––––––––––––-
Last Log applied : 24-MAR-14:10:11:10
Last Log received : 27-MAR-14:12:40:17


6) To display various information about the redo data. This includes redo data generated by the primary database that is not yet available on the standby database and how much redo has not yet been applied to the standby database.
set lines 132
col value format a20
SQL> select name, value from V$DATAGUARD_STATS;
NAME VALUE
––––––––––––––– ––––––––––
transport lag +00 00:00:00
apply lag
apply finish time
estimated startup time 23


7) to monitor efficient recovery operations as well as to estimate the time required to complete the current operation in progress:
SQL> select to_char(start_time, ‘DD-MON-RR HH24:MI:SS’) start_time,
item, round(sofar/1024,2) “MB/Sec”
from v$recovery_progress
where (item=‘Active Apply Rate’ or item=‘Average Apply Rate’);
START_TIME ITEM MB/SEC
–––––- –––––––––––––––- ––––
27-MAR-14 15:49:44 Active Apply Rate 8.5
27-MAR-14 15:49:44 Average Apply Rate 6.30


8) To find last applied log

SQL> select to_char(max(FIRST_TIME),‘hh24:mi:ss dd/mm/yyyy’) FROM V$ARCHIVED_LOG where applied=‘YES’;
TO_CHAR(MAX(FIRST_T
–––––––––-
10:11:08 24/03/2014


9) To see if standby redo logs have been created. The standby redo logs should be the same size as the online redo logs. There should be (( # of online logs per thread + 1) * # of threads) standby redo logs. A value of 0 for the thread# means the log has never been allocated.

SQL> SELECT thread#, group#, sequence#, bytes, archived, status FROM v$standby_log order by thread#, group#;
THREAD# GROUP# SEQUENCE# BYTES ARC STATUS
––––– ––––– ––––– ––––– –- –––––––––-
1 8 0 104857600 NO UNASSIGNED
1 9 58 104857600 YES ACTIVE
1 10 0 104857600 NO UNASSIGNED
1 11 0 104857600 YES UNASSIGNED


10) To produce a list of defined archive destinations. It shows if they are enabled, what process is servicing that destination, if the destination is local or remote, and if remote what the current mount ID is. For a physical standby we should have at least one remote destination that points the primary set.

column destination format a35 wrap
column process format a7
column ID format 99
column mid format 99
SQL> SELECT thread#, dest_id, destination, gvad.status, target, schedule, process, mountid mid FROM gv$archive_dest gvad, gv$instance gvi WHERE gvad.inst_id = gvi.inst_id AND destination is NOT NULL ORDER BY thread#, dest_id;
THREAD# DEST_ID DESTINATION STATUS TARGET SCHEDULE PROCESS MID
–––– –––- –––––––––––––––––––––––––––––––––––––––––
1 1 USE_DB_RECOVERY_FILE_DEST VALID LOCAL ACTIVE ARCH 0
1 2 brij VALID REMOTE PENDING LGWR 0
1 32 USE_DB_RECOVERY_FILE_DEST VALID LOCAL ACTIVE RFS 0


11) Verify the last sequence# received and the last sequence# applied to standby database.

SQL> SELECT al.thrd “Thread”, almax “Last Seq Received”, lhmax “Last Seq Applied” FROM (select thread# thrd, MAX(sequence#) almax FROM v$archived_log WHERE resetlogs_change#=(SELECT resetlogs_change# FROM v$database) GROUP BY thread#) al, (SELECT thread# thrd, MAX(sequence#) lhmax FROM v$log_history WHERE resetlogs_change#=(SELECT resetlogs_change# FROM v$database) GROUP BY thread#) lh WHERE al.thrd = lh.thrd;
Thread Last Seq Received Last Seq Applied
––––– ––––––––- ––––––––
1 57 53


Проверка режима работы резервной БД:

col NAME format a30
select NAME, VALUE from v$dataguard_stats;


col ITEM format a65
col TYPE format a16
select START_TIME, TYPE,
case
 when ITEM='Active Apply Rate' then 'Active Apply Rate => '||SOFAR||' ('||UNITS||')'
 when ITEM='Last Applied Redo' then 'Last Applied Redo => '||TIMESTAMP||' ('||COMMENTS||')'
else NULL
end as ITEM
from v$recovery_progress
where ITEM in ('Active Apply Rate','Last Applied Redo')
  and START_TIME = (select max(START_TIME) from v$recovery_progress);


Или так:

COL DB_NAME FORMAT A8
COL PRIMARY_DB FORMAT A23
COL STANDBY_DB FORMAT A23
COL LOG_ARCHIVED FORMAT 999999
COL LOG_APPLIED FORMAT 999999
COL LOG_GAP FORMAT 9999
COL APPLIED_TIME FORMAT A19

SELECT (SELECT NAME FROM V$DATABASE) DB_NAME,
       (SELECT VALUE from V$PARAMETER where name='db_unique_name') PRIMARY_DB,
       (SELECT DB_UNIQUE_NAME STANDBY_DB from v$ARCHIVE_DEST where TARGET='STANDBY' and DEST_ID=S.DEST_ID) STANDBY_DB,
       P.DEST_ID PRIMARY_DEST_ID,
       S.DEST_ID STANDBY_DEST_ID,
       P.THREAD#,
       P.LOG_ARCHIVED,
       S.LOG_APPLIED,
       APPLIED_TIME,
       LOG_ARCHIVED-LOG_APPLIED LOG_GAP,
       (SYSDATE-APPLIED_TIME)*3600*24 TIME_GAP_SEC,
       round((SYSDATE-APPLIED_TIME)*3600*24/60) TIME_GAP_MIN
FROM (SELECT DEST_ID, THREAD#, MAX(SEQUENCE#) LOG_ARCHIVED, MAX(COMPLETION_TIME) ARCHIVED_TIME FROM V$ARCHIVED_LOG WHERE STANDBY_DEST = 'NO'  AND ARCHIVED='YES' and resetlogs_id=(select distinct resetlogs_id from gv$database_incarnation where status='CURRENT') GROUP BY DEST_ID, THREAD#) P,
     (SELECT DEST_ID, THREAD#, MAX(SEQUENCE#) LOG_APPLIED,  MAX(COMPLETION_TIME) APPLIED_TIME  FROM V$ARCHIVED_LOG WHERE STANDBY_DEST = 'YES' AND  APPLIED='YES' and resetlogs_id=(select distinct resetlogs_id from gv$database_incarnation where status='CURRENT') GROUP BY DEST_ID, THREAD#) S
WHERE P.DEST_ID!=S.DEST_ID
  AND P.THREAD#=S.THREAD#;



Режимы:


Существует Data Guard созданный по умолчанию в режиме MAXIMIZE PERFORMANCE

Мы хотим перевести его в режим MAXIMIZE AVAILABILITY

Для этого необходимо:

1. Убедиться что на Standby созданы standby redo logs:

[oradb]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Oct 28 16:26:20 2010

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

SQL> connect sys/oracle@TESTASM_S AS SYSDBA
Connected.
SQL>

SQL> col member format a35
SQL> set lines 132
SQL> set trims on
SQL> select group#,type,member from v$logfile;

GROUP# TYPE MEMBER
---------- ------- -----------------------------------
1 ONLINE +REDOA/testasm_s/onlinelog/group_1.
275.733316931

1 ONLINE +REDOB/testasm_s/onlinelog/group_1.
275.733316931

2 ONLINE +REDOA/testasm_s/onlinelog/group_2.
276.733316931

2 ONLINE +REDOB/testasm_s/onlinelog/group_2.
276.733316933

GROUP# TYPE MEMBER
---------- ------- -----------------------------------

3 ONLINE +REDOA/testasm_s/onlinelog/group_3.
277.733316935

3 ONLINE +REDOB/testasm_s/onlinelog/group_3.
277.733316937

4 STANDBY +REDOA/testasm_s/onlinelog/group_4.
278.731243271

4 STANDBY +REDOB/testasm_s/onlinelog/group_4.

GROUP# TYPE MEMBER
---------- ------- -----------------------------------
278.731243271

5 STANDBY +REDOA/testasm_s/onlinelog/group_5.
279.731243279

5 STANDBY +REDOB/testasm_s/onlinelog/group_5.
279.731243279

6 STANDBY +REDOA/testasm_s/onlinelog/group_6.
280.731243287


GROUP# TYPE MEMBER
---------- ------- -----------------------------------
6 STANDBY +REDOB/testasm_s/onlinelog/group_6.
280.731243287


Если их нет то создать:


SQL> SELECT GROUP#, BYTES, 'ONLINE' AS TYPE FROM V$LOG
UNION
SELECT GROUP#, BYTES, 'STANDBY' AS TYPE FROM V$STANDBY_LOG
ORDER BY 1;
2 3 4
GROUP# BYTES TYPE
---------- ---------- -------
1 104857600 ONLINE
2 104857600 ONLINE
3 104857600 ONLINE

3 rows selected.

SQL>

SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;


SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 SIZE 100M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 SIZE 100M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 SIZE 100M;

SQL> SELECT GROUP#, BYTES, 'ONLINE' AS TYPE FROM V$LOG
UNION
SELECT GROUP#, BYTES, 'STANDBY' AS TYPE FROM V$STANDBY_LOG
ORDER BY 1;
2 3 4
GROUP# BYTES TYPE
---------- ---------- -------
1 104857600 ONLINE
2 104857600 ONLINE
3 104857600 ONLINE
4 104857600 STANDBY
5 104857600 STANDBY
6 104857600 STANDBY

6 rows selected.


SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;


Также можно создать standby redo logs и на primary (при смене ролей они уже будут существовать)

2. Сконфигурируем log transport services для поддержки режима MAXIMIZE AVAILABILITY

[oradb]$ sqlplus /nolog

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Oct 28 16:27:25 2010

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

SQL> connect sys/oracle@TESTASM_P AS SYSDBA;
Connected.
SQL>
SQL>

SQL> alter system set LOG_ARCHIVE_DEST_2='SERVICE=testasm_s LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=testasm_s';

SQL> alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;

SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP MOUNT
SQL> ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;
SQL> ALTER DATABASE OPEN;

SQL> SELECT PROTECTION_MODE, PROTECTION_LEVEL, DATABASE_ROLE FROM V$DATABASE;



3. Режимы Protection Mode:

By default a newly created standby database is in maximum performance mode.

SELECT protection_mode FROM v$database;

PROTECTION_MODE
--------------------
MAXIMUM PERFORMANCE

SQL>



В режим maximum availability переходим так:

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=testasm_s AFFIRM SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=testasm_s';
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE AVAILABILITY;

В режим maximum Performance переходим так:

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=testasm_s NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=testasm_s';
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;

В режим maximum Protection переходим так:

ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=testasm_s AFFIRM SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=testasm_s';
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PROTECTION;
ALTER DATABASE OPEN;