среда, 26 мая 2010 г.

Discoverer 10g (10.1.2) Portlets Show 25 Rows Even Though You Have Changed The 'RowsPerHTML' and 'RowsPerPage' Preferences [ID 456868.1]

1. Setting the global setting:

* Set the 'RowsPerPage' parameter in the $ORACLE_HOME/discoverer/util/pref.txt file to your desired global setting for all newly created worksheets.

* Next, run the applypreferences.sh (or .bat) to set the preferences for an new Discoverer sessions.

2. Changing existing portlets / Viewer worksheets:

* To change individual worksheets displayed in a portlet, you will need to log into Discoverer Viewer as the owner of the worksheet.
* Click on the 'Rows and Columns' link above the table. If the link does not exist, then see your Discoverer Administrator, they may have removed it from your layout via a customization.
* Click on Save line under the Actions section on the left.
* The portlets will now display the desired rows

среда, 5 мая 2010 г.

Physical Standby

Как Создать Physical Standby базу в ORACLE 9i

Step 1 :

Добавляем следующие параметры в init<SID>.ora на primary базе данных

log_archive_dest_1 = 'LOCATION=/u01/oracle/pr/prdb/arch MANDATORY'

log_archive_dest_state_1 = ENABLE

log_archive_start = TRUE

log_archive_dest_2 = 'SERVICE=STBY2','ARCH SYNC NOAFFIRM delay=0 OPTIONAL max_failure=0 reopen=60 register’

Или ( Просто добавить tns запись для STANDBY базы)

log_archive_dest_2 = 'service="(DESCRIPTION=(ADDRESS_LIST = (ADDRESS=(PROTOCOL=tcp)(HOST=app2.tidici.com)(PORT=1526)))(CONNECT_DATA=(SID=pr)(SERVER=DEDIC ATED)))"','ARCH SYNC NOAFFIRM delay=0 OPTIONAL max_failure=0 reopen=60 register '

standby_file_management=auto

# archive_lag_target = 1800 ( этот параметр используется для автоматического переключения archive log на primary базе. Значение в переделах от 0 до 7200 секунд )

log_archive_dest_state_2 = ENABLE

#log_archive_dest=/home/oracle/proddata/arch (Закомментировать этот параметр на primary базе)

Step 2 :

Добавляем в tnsnames.ora на primary базе

STDBY2 =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = gc.tidici.com)(PORT = 1526))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME =pr)

)

)

Step 3 :

Редактируем init.ora на standby базе

fal_client = 'fal_stdby2'

fal_server = 'fal_prod'

standby_file_management = AUTO

control_files=/home/users/PROD/m3stndby.ctl

standby_archive_dest = '/ms11/archm3/m3'

log_archive_dest = /ms11/archm3/m3

log_archive_start = true

#db_file_name_convert = ('/u06/','/u06e/','/u07/','/u07e/') -> Использовать если отличаются калаги standby базы то primary базы

#log_file_name_convert = ('/u06/','/u06e/','/u07/','/u07e/') -> Использовать если отличаются калаги standby базы то primary базы

Step 4 : (a).

Редактируем tnsnames.ora на standby базе

fal_prod =

(DESCRIPTION =

(ADDRESS =

(PROTOCOL = TCP)(HOST = db.tidici.com)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME=pr)

)

)

fal_stby2 =

(DESCRIPTION =

(ADDRESS =

(PROTOCOL = TCP)(HOST = app2.tidici.com)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = pr)

)

)

(b). Редактируем listner.ora на standby базе

FAL_stby1 =

(DESCRIPTION =

(ADDRESS =

(PROTOCOL = TCP)(HOST = 192.168.20.180)(PORT = 1530)

)

)

SID_LIST_FAL_stdby =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = PROD)

(ORACLE_HOME = /ms10/oracle/9.2.0)

(SID_NAME = PROD )

)

)

Step 5 :

(a) . Switch one archive on the primary

alter system switch logfile;

(b). Теперь переведём tablespace на primary базе в backup режим

[ Если необходимо создать базу из hot backup ]

select ' alter tablespace '||tablespace_name||' begin backup ;' from dba_tablespaces where CONTENTS <> 'TEMPORARY';

alter tablespace esvc begin backup ;

alter tablespace samora begin backup;

………………………………………

………………………………………

………………………………………

Выполните команду приведенную выше . Она переведет все tablespace в backup режим.

Перед копированием файлов на standby базу. Проверяем статус.

select status,count(*) from v$backup group by status;

STATUS COUNT(*)

----------------- --------------

ACTIVE 29

(b) . Копируем все datafiles c primary базы на standby базу

scp oracle@192.168.14.32:/u06/oracle/pr/prdata/a_txn_data14.dbf /u06/oracle/pr/prdata/

(d). Теперь возвращаем tablespace в обычный режим.

select ' alter tablespace '||tablespace_name||' end backup ;' from dba_tablespaces where CONTENTS <> 'TEMPORARY';

alter tablespace esvc end backup ;

alter tablespace samora end backup;

……………………………………..

……………………………………..

Выполняем команды приведённые вверху. Тем самым возвращаем tablespace в обычный режим. Проверяем состояние.

select status,count(*) from v$backup group by status;

STATUS COUNT(*)

----------------- --------------

NOT ACTIVE 29

(е). После завершения копирования. Создаём standby controlfile с помощью команды:

alter database create standby controlfile as ' /u04/oracle /stbycf.ctl ';

Затем , переместим его на Standby в каталог указанный в init.ora

Step 6:

Now up the Standby database as follows

(a ). Запустим standby базу nomount режиме

startup nomount pfile=’u01/file/initPROD.ora’

(b). Монтируем standby базу

alter database mount standby database ;

Заметка :

Теперь , наша standby база в mount режиме. Для автоматического восстановления standby, необходимо перегрузить нашу PRIMARY базу. Таким образом, все изменения, которые мы внесли в initPROD.ora на primary базе будут применены.

---------------------------------------------------------------------------------------------------------------------

C.1 # После перезагрузке primary базы. Для введения standby базы в managed recover режим, выполним команду:

alter database recover managed standby database disconnect from session ;

C.2 # Если нет возможности перегрузить primary базу, то необходимо в ручную скопировать archive логии на standby базу . И выполнить команду:

recover standby database;

далее, выбираем “AUTO” режим, чтобы применить все недостающие archive логии.

Note 1 : При создании standby базы на одном и том же сервере с primary базой

Необходимо использовать LOCK_NAME_SPACE параметр .

LOCK_NAME_SPACE = standby

И добавить “instance_name” в init.ora на Primary и Standby.

Note 2 : Как проверить max количество archive log применённых на standby базе.

select max(sequence#) from v$archived_log where applied=’YES’;

Switch Stand-by database to Primary Database role

1. SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;

2. SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH SKIP STANDBY LOGFILE;

3. SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;

After this , you cannot use this database as a stand-by database anymore.
You will need to create a new standby database as a replica of this new primary database.