В процессе установки Oracle E-Business Suite 11i на Red Hat Linux 4.6 возникает ошибка:
Errors while running adlnkoh.sh
There was an error while running the command - /u01/oracle/visdb/9.2.0/temp/VIS_bes/adrun9i.sh APPS APPS
/u01/oracle/visdb/9.2.0/appsutil/install/adlnkoh.sh: line 198: /u01/oracle/visdb/9.2.0/bin/sqlplus: No such file or directory
RW-50010: Error: - script has returned an error: 1
RW-50004: Error code received when running external process. Check log file for details.
Running Database Install Driver for VIS instance
Для устранения ошибки необходимо скачать и установить патч compat-oracle-rhel4-1.0-5.i386.rpm операционной системы. Патч можно скачать по ссылке http://oss.oracle.com/projects/compat-oracle/files/RedHat/.
Перед установкой патча необходимо предварительно поставить патч libaio-devel-0.3.105-2.i386.rpm
среда, 23 декабря 2009 г.
пятница, 18 декабря 2009 г.
Заметки по установке Cisco IPCC
При установке Cisco Call Manager устанавливается на отдельную машину , не обязательно сервер. Я установил на Windows XP. В случае если оперативная память на компютере меньше 1,5 Гб возможно установка будет прерываться без какой либо ошибки. Необходимо убедиться что памяти больше чем 1,5 Гб. Требует установки MS SQL SERVER
Cisco IPCC устанавливается на Windows Server 2000 (или Win Server 2003). Оперативная память должна быть не менее 1,5-2 Гб . необходимо сначала установить Active Directory. CTIOS,IP/IVR , Central Controller,Agent Desktop установлены также на этой машине. Требует установки MS SQL SERVER
Cisco IPCC устанавливается на Windows Server 2000 (или Win Server 2003). Оперативная память должна быть не менее 1,5-2 Гб . необходимо сначала установить Active Directory. CTIOS,IP/IVR , Central Controller,Agent Desktop установлены также на этой машине. Требует установки MS SQL SERVER
Ярлыки:
Cisco
Создание нового репозитария
1. Запустить Documentum Server Manager
2. Utilities -> Server Configuration
3. Создать табличные пространства в базе для пользователя репозитария
CREATE TABLESPACE test_TBS DATAFILE 'C:\oracle\product\10.2.0\oradata\TEST\TEST_DB.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 2M MAXSIZE 900M;
CREATE TABLESPACE TEST_INDEX DATAFILE 'C:\oracle\product\10.2.0\oradata\TEST\TEST_IND.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 2M MAXSIZE 900M;
4. Создать пользователя в БД для нового репозитария
CREATE USER TEST identified by test;
ALTER USER TEST DEFAULT TABLESPACE ТEST TEMPORARY TABLESPACE TEMP;
GRANT CONNECT, CREATE ANY VIEW, RESOURCE, UNLIMITED TABLESPACE, SELECT_CATALOG_ROLE to TEST;
4. Указать ответы все заданные запросы
5. В пункте, где нужно указать SMTP Server можно указать несуществующий сервер и мейл . В появившемся сообщении нажать ОК
2. Utilities -> Server Configuration
3. Создать табличные пространства в базе для пользователя репозитария
CREATE TABLESPACE test_TBS DATAFILE 'C:\oracle\product\10.2.0\oradata\TEST\TEST_DB.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 2M MAXSIZE 900M;
CREATE TABLESPACE TEST_INDEX DATAFILE 'C:\oracle\product\10.2.0\oradata\TEST\TEST_IND.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 2M MAXSIZE 900M;
4. Создать пользователя в БД для нового репозитария
CREATE USER TEST identified by test;
ALTER USER TEST DEFAULT TABLESPACE ТEST TEMPORARY TABLESPACE TEMP;
GRANT CONNECT, CREATE ANY VIEW, RESOURCE, UNLIMITED TABLESPACE, SELECT_CATALOG_ROLE to TEST;
4. Указать ответы все заданные запросы
5. В пункте, где нужно указать SMTP Server можно указать несуществующий сервер и мейл . В появившемся сообщении нажать ОК
Ярлыки:
Documentum
среда, 2 декабря 2009 г.
Настройка синхронизации времени на AIX 5L
На сервере NTP
# lssrc -ls xntpd
Открыть /etc/ntp.conf и добавить строки
server 127.127.1.01 prefer #
fudge 127.127.1.0 #
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
# stopsrc -s xntpd
# startsrc -s xntpd
# lssrc -ls xntpd
На клиентском сервере NTP
# ntpdate -d ip.address.of.server
# vi /etc/ntp.conf
server ip.address prefer
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
# startsrc -s xntpd
# lssrc -ls xntpd
* Подробная информация по ссылке http://www-01.ibm.com/support/docview.wss?uid=isg3T1000653
# lssrc -ls xntpd
Открыть /etc/ntp.conf и добавить строки
server 127.127.1.01 prefer #
fudge 127.127.1.0 #
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
# stopsrc -s xntpd
# startsrc -s xntpd
# lssrc -ls xntpd
На клиентском сервере NTP
# ntpdate -d ip.address.of.server
# vi /etc/ntp.conf
server ip.address prefer
driftfile /etc/ntp.drift
tracefile /etc/ntp.trace
# startsrc -s xntpd
# lssrc -ls xntpd
* Подробная информация по ссылке http://www-01.ibm.com/support/docview.wss?uid=isg3T1000653
Ярлыки:
AIX
Поддержка памяти большого размера в Windows 2003
Для того чтобы включить возможность поддержки памяти большого размера необходимо:
1) Открыть Проводник. В пункте меню "Сервис -> Свойства папки -> Вид" снять галочку "Скрывать защищенные системные файлы"
2) Открыть файл boot.ini в корневой директории диска C:
3) Добавить в файле ключ /PAE
Например,
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE
Примечание: Подробную информацию можно найти по ссылке http://support.microsoft.com/kb/283037
1) Открыть Проводник. В пункте меню "Сервис -> Свойства папки -> Вид" снять галочку "Скрывать защищенные системные файлы"
2) Открыть файл boot.ini в корневой директории диска C:
3) Добавить в файле ключ /PAE
Например,
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE
Примечание: Подробную информацию можно найти по ссылке http://support.microsoft.com/kb/283037
Ярлыки:
MS Windows
четверг, 19 ноября 2009 г.
Restore database to different location
При восстановлении базы данных из одной версии базы на другой (Например, из 2000 в 2005) возникает ошибка:
Error 3154: The backup set holds a backup of a database other than the existing database.
Для того чтобы избежать этой ошибки необходимо:
1) В новой базе создать базу с аналогичным названием
2) И выполнить Restore базы с опцией REPLACE
Например,
ALTER DATABASE testdb
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
RESTORE DATABASE testdb
FROM DISK = 'C:\backup\databases\testdb.bak'
WITH MOVE 'testdb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL\DATA\testdb.mdf',
MOVE 'testdb_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL\DATA\testdb_log.ldf',
REPLACE
Error 3154: The backup set holds a backup of a database other than the existing database.
Для того чтобы избежать этой ошибки необходимо:
1) В новой базе создать базу с аналогичным названием
2) И выполнить Restore базы с опцией REPLACE
Например,
ALTER DATABASE testdb
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
RESTORE DATABASE testdb
FROM DISK = 'C:\backup\databases\testdb.bak'
WITH MOVE 'testdb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL\DATA\testdb.mdf',
MOVE 'testdb_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL\MSSQL\DATA\testdb_log.ldf',
REPLACE
Ярлыки:
MSSQLServer
вторник, 17 ноября 2009 г.
Oracle database listener password
Добавление пароля для LISTENER
1) Открыть файл $ORACLE_HOME/network/admin/listener.ora
2) Добавить в конце PASSWORDS_{LISTENER_NAME}=newpassword
3) $ORACLE_HOME/bin/lsnrctl
LSNRCTL> set current_listener listener
Current Listener is listener
LSNRCTL> change_password
Old password:
New password:
Reenter new password:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
Password changed for listener
The command completed successfully
LSNRCTL> set password
Password:
The command completed successfully
LSNRCTL> save_config
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
Saved LISTENER configuration parameters.
Listener Parameter File /u01/app/oracle/9.2.0/network/admin/listener.ora
Old Parameter File /u01/app/oracle/9.2.0/network/admin/listener.bak
The command completed successfully
LSNRCTL>
4) В файле listener.ora появится строка PASSWORDS_LISTENER =
Удаления пароля для LISTENER
$ORACLE_HOME/bin/lsnrctl
LSNRCTL> set password
Password:
The command completed successfully
LSNRCTL> stop
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
The command completed successfully
LSNRCTL> start
или удалить строку "PASSWORDS_LISTENER =" и перезапустить LISTENER
1) Открыть файл $ORACLE_HOME/network/admin/listener.ora
2) Добавить в конце PASSWORDS_{LISTENER_NAME}=newpassword
3) $ORACLE_HOME/bin/lsnrctl
LSNRCTL> set current_listener listener
Current Listener is listener
LSNRCTL> change_password
Old password:
New password:
Reenter new password:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
Password changed for listener
The command completed successfully
LSNRCTL> set password
Password:
The command completed successfully
LSNRCTL> save_config
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
Saved LISTENER configuration parameters.
Listener Parameter File /u01/app/oracle/9.2.0/network/admin/listener.ora
Old Parameter File /u01/app/oracle/9.2.0/network/admin/listener.bak
The command completed successfully
LSNRCTL>
4) В файле listener.ora появится строка PASSWORDS_LISTENER =
Удаления пароля для LISTENER
$ORACLE_HOME/bin/lsnrctl
LSNRCTL> set password
Password:
The command completed successfully
LSNRCTL> stop
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))
The command completed successfully
LSNRCTL> start
или удалить строку "PASSWORDS_LISTENER =" и перезапустить LISTENER
Ярлыки:
Oracle 9i
Установка и настройка Oracle Names Server (ONS)
1. Необходимо убедиться в наличии ONS в списке установленных приложений (с помощью Oracle Universal Installer , кнопка Installed Products). В случае отсутствия в списке, необходимо установить ONS (Oracle Universal Installer > Enterprise Manager Products).
2. Создание Names Server :
Каким образом будет создан ONS зависит от того, как вы хотите хранить информацию о региональных базах данных. Возможно хранение информации:
- в БД доступной ONS. Информация хранится в БД и в ONS чекпоинт файлах. Если БД недоступна используются чекпоинт файлы.
- в чекпоинт файлах и реплицируется с другими ONS.
По умолчанию чсекпоинт файлы хранятся в директории $ORACLE_HOME/network/names. В UNIX среде папка names по умолчанию отсутствует. Необходимо вручную создавать данную папку.
Чекпоинт файлы:
ckpcfg.ora Contains a backup copy of the configuration parameters stored in the ONRS_CONFIG table in the region database
ckpcch.ora Contains all current non-authoritative data that has been retrieved and cached from remote regions and has not expired yet
ckptop.ora and ckpdom.ora These files contain all authoritative data for the region. The ckptop.ora file defines the domains in the administrative region and the Oracle Names servers authoritative for each domain. The ckdom.ora file contains the authoritative data for each domain.
If the Oracle Names server uses a region database, then these files serve as a copy of the region data in the tables as of the last reload. This data is used when the Oracle Names server starts if the database is inaccessible.
If the Oracle Names server is not using the database, these files are its only persistent storage and are loaded by the Oracle Names server at startup. The Oracle Names server considers the data in these file to be current if there are no other Oracle Names servers in the region. The files are kept current as of the last update to the region.
В случае запуска ONS без никаких настроек по умолчанию имя дается в формате ONAMES_host. Протокол по умолчанию TCP/IP, порт 1575.
Хранение информации в таблицах БД :
Шаг 1. Конфигурация сервера баз данных
1. Войти в БД под пользователем SYSTEM
SQL> connect SYSTEM/password
2. Создайте пользователя, который может соединяться к таблицам БД
CREATE USER user IDENTIFIED BY password
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;
GRANT CREATE SESSION TO user;
GRANT RESOURCE users TO user;
GRANT CREATE SYNONYM TO user;
3. Запустите скрипт namesini.sql расположенный $ORACLE_HOME/network/admin (UNIX) и ORACLE_HOME\network\admin\names (Windows NT)
SQL> CONNECT user/password
SQL>@ORACLE_HOME\network\admin\names\namesini.sql
Создание Oracle Names Server
1. Запускаем Oracle Net Manager
$ORACLE_HOME/bin/netmgr
Ставим указатель на ORACLE NAMES SERVERS. В пункте меню Edit выбираем Create.
После создания на правой панели окна выбираем Manage Server, ставим указатель на Server Operations > Start > Apply
Выбираем Manage Data вкладку Net Service Names ставим указатель на пункт Load > Browse (указываем используемый файл tnsnames.ora) > Execute
После окончания настроек необходимо не забывать сохранить новые настройки File > Save Network Configuration
Удаление Oracle Names Server
Для удаления ONS необходимо :
1. Ввести команду REORDER_NS {onames_server}{domain}
NAMESCTL> REORDER_NS {onames_server}{domain}
2. Остановить ONS
NAMESCTL> stop
3. Удалить файл names.ora из директории ORACLE_HOME/network/admin
4. Удалить файлы ckp*.ora из директории ORACLE_HOME/network/names
5. Перенастройте клиентскую часть соответствующим образом
Содержимое конфигурационных файлов:
Names.ora
NAMES.SERVER_NAME = testserver
NAMES.ADDRESSES =
(ADDRESS = (PROTOCOL = TCP)(HOST = testhost)(PORT = 1621))
Ckpdom.ora
SERVER1. = (DATA_LIST=(FLAGS=0x1)(TTL=86400)
(DATA=(TYPE=a.smd.)(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(Host = ***.**.**.**)(Port = 1521)) (CONNECT_DATA = (SID = NEWDB))) )
)
SERVER2. = (DATA_LIST=(FLAGS=0x1)(TTL=86400)
(DATA=(TYPE=a.smd.)(DESCRIPTION=(SOURCE_ROUTE=OFF)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=**.**.**.**)(PORT=1521)))(CONNECT_DATA=(SID=NEWDB2)(SERVER=DEDICATED))) )
)
Cktop.ora
. = (DATA_LIST=(FLAGS=0x11)
(DATA=(TYPE=ns.smd.)(NAME=testserver.) )
)
testserver. = (DATA_LIST=(FLAGS=0x209)
(DATA=(TYPE=a.smd.)(ADDRESS = (PROTOCOL = TCP)(HOST = testhost)(PORT = 1621)) )
(DATA=(TYPE=tos.npd.omd.)(CTEXT=ORACLE_NAMESERVER) )
(DATA=(TYPE=host.nm.omd.)(TEXT=testhost.test.ru) )
)
Содержимое конфигурационных файлов клиентской стороны:
Sqlnet.ora
NAMES.PREFERRED_SERVERS =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = **.**.**.**)(PORT = 1621))
)
NAMES.DIRECTORY_PATH=(ONAMES)
2. Создание Names Server :
Каким образом будет создан ONS зависит от того, как вы хотите хранить информацию о региональных базах данных. Возможно хранение информации:
- в БД доступной ONS. Информация хранится в БД и в ONS чекпоинт файлах. Если БД недоступна используются чекпоинт файлы.
- в чекпоинт файлах и реплицируется с другими ONS.
По умолчанию чсекпоинт файлы хранятся в директории $ORACLE_HOME/network/names. В UNIX среде папка names по умолчанию отсутствует. Необходимо вручную создавать данную папку.
Чекпоинт файлы:
ckpcfg.ora Contains a backup copy of the configuration parameters stored in the ONRS_CONFIG table in the region database
ckpcch.ora Contains all current non-authoritative data that has been retrieved and cached from remote regions and has not expired yet
ckptop.ora and ckpdom.ora These files contain all authoritative data for the region. The ckptop.ora file defines the domains in the administrative region and the Oracle Names servers authoritative for each domain. The ckdom.ora file contains the authoritative data for each domain.
If the Oracle Names server uses a region database, then these files serve as a copy of the region data in the tables as of the last reload. This data is used when the Oracle Names server starts if the database is inaccessible.
If the Oracle Names server is not using the database, these files are its only persistent storage and are loaded by the Oracle Names server at startup. The Oracle Names server considers the data in these file to be current if there are no other Oracle Names servers in the region. The files are kept current as of the last update to the region.
В случае запуска ONS без никаких настроек по умолчанию имя дается в формате ONAMES_host. Протокол по умолчанию TCP/IP, порт 1575.
Хранение информации в таблицах БД :
Шаг 1. Конфигурация сервера баз данных
1. Войти в БД под пользователем SYSTEM
SQL> connect SYSTEM/password
2. Создайте пользователя, который может соединяться к таблицам БД
CREATE USER user IDENTIFIED BY password
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;
GRANT CREATE SESSION TO user;
GRANT RESOURCE users TO user;
GRANT CREATE SYNONYM TO user;
3. Запустите скрипт namesini.sql расположенный $ORACLE_HOME/network/admin (UNIX) и ORACLE_HOME\network\admin\names (Windows NT)
SQL> CONNECT user/password
SQL>@ORACLE_HOME\network\admin\names\namesini.sql
Создание Oracle Names Server
1. Запускаем Oracle Net Manager
$ORACLE_HOME/bin/netmgr
Ставим указатель на ORACLE NAMES SERVERS. В пункте меню Edit выбираем Create.
После создания на правой панели окна выбираем Manage Server, ставим указатель на Server Operations > Start > Apply
Выбираем Manage Data вкладку Net Service Names ставим указатель на пункт Load > Browse (указываем используемый файл tnsnames.ora) > Execute
После окончания настроек необходимо не забывать сохранить новые настройки File > Save Network Configuration
Удаление Oracle Names Server
Для удаления ONS необходимо :
1. Ввести команду REORDER_NS {onames_server}{domain}
NAMESCTL> REORDER_NS {onames_server}{domain}
2. Остановить ONS
NAMESCTL> stop
3. Удалить файл names.ora из директории ORACLE_HOME/network/admin
4. Удалить файлы ckp*.ora из директории ORACLE_HOME/network/names
5. Перенастройте клиентскую часть соответствующим образом
Содержимое конфигурационных файлов:
Names.ora
NAMES.SERVER_NAME = testserver
NAMES.ADDRESSES =
(ADDRESS = (PROTOCOL = TCP)(HOST = testhost)(PORT = 1621))
Ckpdom.ora
SERVER1. = (DATA_LIST=(FLAGS=0x1)(TTL=86400)
(DATA=(TYPE=a.smd.)(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(Host = ***.**.**.**)(Port = 1521)) (CONNECT_DATA = (SID = NEWDB))) )
)
SERVER2. = (DATA_LIST=(FLAGS=0x1)(TTL=86400)
(DATA=(TYPE=a.smd.)(DESCRIPTION=(SOURCE_ROUTE=OFF)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=**.**.**.**)(PORT=1521)))(CONNECT_DATA=(SID=NEWDB2)(SERVER=DEDICATED))) )
)
Cktop.ora
. = (DATA_LIST=(FLAGS=0x11)
(DATA=(TYPE=ns.smd.)(NAME=testserver.) )
)
testserver. = (DATA_LIST=(FLAGS=0x209)
(DATA=(TYPE=a.smd.)(ADDRESS = (PROTOCOL = TCP)(HOST = testhost)(PORT = 1621)) )
(DATA=(TYPE=tos.npd.omd.)(CTEXT=ORACLE_NAMESERVER) )
(DATA=(TYPE=host.nm.omd.)(TEXT=testhost.test.ru) )
)
Содержимое конфигурационных файлов клиентской стороны:
Sqlnet.ora
NAMES.PREFERRED_SERVERS =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = **.**.**.**)(PORT = 1621))
)
NAMES.DIRECTORY_PATH=(ONAMES)
Ярлыки:
Oracle 9i
ORA-02298: cannot validate
Для нахождения строк в таблице где строиться Foreign Key constraint, при котором возникает ошибка ORA-02298: cannot validate (SCOTT.EMP_FK_TEST) - parent keys not found необходимо выполнить следующие шаги:
1) Создать таблицу куда будут записываться все строки, для которых возникла ошибка
create table exceptions(row_id rowid,
owner varchar2(30),
table_name varchar2(30),
constraint varchar2(30));
2) Попробовать создать foreign key constraint с ключевыми словами "exceptions into exceptions"
Например,
ALTER TABLE emp ADD (
CONSTRAINT emp_fk_test
FOREIGN KEY (EMP_FK_T1)
REFERENCES dept (ID)
exceptions into exceptions);
3) Посмотреть все записи , для которых возникает ошибка
select * from exceptions;
4) Если удалить эти записи из дочерней таблицы ошибка исчезнет
Например,
delete from EMP where rowid in (select row_id from xxx_exceptions)
1) Создать таблицу куда будут записываться все строки, для которых возникла ошибка
create table exceptions(row_id rowid,
owner varchar2(30),
table_name varchar2(30),
constraint varchar2(30));
2) Попробовать создать foreign key constraint с ключевыми словами "exceptions into exceptions"
Например,
ALTER TABLE emp ADD (
CONSTRAINT emp_fk_test
FOREIGN KEY (EMP_FK_T1)
REFERENCES dept (ID)
exceptions into exceptions);
3) Посмотреть все записи , для которых возникает ошибка
select * from exceptions;
4) Если удалить эти записи из дочерней таблицы ошибка исчезнет
Например,
delete from EMP where rowid in (select row_id from xxx_exceptions)
Ярлыки:
Oracle 10g
понедельник, 16 ноября 2009 г.
Log Miner
Connected as SYS
SQL> insert into scott.emp values(7979,'ADAM','MANAGER',7782,to_date('03.12.1981','dd.mm.yyyy'),5000,1200,10);
1 row inserted
SQL> insert into scott.emp values(7978,'KELLY','MANAGER',7784,to_date('03.12.1982','dd.mm.yyyy'),5000,1200,10);
1 row inserted
SQL> commit;
Commit complete
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE
---------- ------- ------- -------------------------------------------------------------------------------- ---------------------
3 ONLINE C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO03.LOG NO
2 ONLINE C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO02.LOG NO
1 ONLINE C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO01.LOG NO
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => 'C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO03.LOG', OPTIONS => DBMS_LOGMNR.NEW);
PL/SQL procedure successfully completed
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => 'C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO02.LOG', OPTIONS => DBMS_LOGMNR.NEW);
PL/SQL procedure successfully completed
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => 'C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO01.LOG', OPTIONS => DBMS_LOGMNR.NEW);
PL/SQL procedure successfully completed
SQL> EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
PL/SQL procedure successfully completed
select * from v$logmnr_contents where username='SCOTT' and table_name='EMP';
EXECUTE DBMS_LOGMNR.END_LOGMNR();
SQL> insert into scott.emp values(7979,'ADAM','MANAGER',7782,to_date('03.12.1981','dd.mm.yyyy'),5000,1200,10);
1 row inserted
SQL> insert into scott.emp values(7978,'KELLY','MANAGER',7784,to_date('03.12.1982','dd.mm.yyyy'),5000,1200,10);
1 row inserted
SQL> commit;
Commit complete
SQL> select * from v$logfile;
GROUP# STATUS TYPE MEMBER IS_RECOVERY_DEST_FILE
---------- ------- ------- -------------------------------------------------------------------------------- ---------------------
3 ONLINE C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO03.LOG NO
2 ONLINE C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO02.LOG NO
1 ONLINE C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO01.LOG NO
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => 'C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO03.LOG', OPTIONS => DBMS_LOGMNR.NEW);
PL/SQL procedure successfully completed
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => 'C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO02.LOG', OPTIONS => DBMS_LOGMNR.NEW);
PL/SQL procedure successfully completed
SQL> EXECUTE DBMS_LOGMNR.ADD_LOGFILE(LOGFILENAME => 'C:\ORACLE\PRODUCT\ORADATA\SHARP\REDO01.LOG', OPTIONS => DBMS_LOGMNR.NEW);
PL/SQL procedure successfully completed
SQL> EXECUTE DBMS_LOGMNR.START_LOGMNR(OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);
PL/SQL procedure successfully completed
select * from v$logmnr_contents where username='SCOTT' and table_name='EMP';
EXECUTE DBMS_LOGMNR.END_LOGMNR();
Ярлыки:
Oracle 10g
Способы включения SQL Trace
Нашел в интернете описание разных способов включения трассировки (не помню уже с какого сайта, так что извините что нет ссылки). Решил сюда выложить, чтобы в случае чего воспользоваться. Может кому то еще поможет...
Способ 1
SQL> alter session set sql_trace = true;
SQL> alter session set events '10046 trace name context forever, level';
0 Выключить трейс
1 Включить трейс. Аналог 0
4 + значения bind-переменных
8 Добавить в трейс информацию о wait
12 Комбинация уровней 4 и 8
SQL> exec sys.dbms_system.set_sql_trace_in_session(, , true);
SQL> exec sys.dbms_system.set_ev(, , 10046, , '');
Способ 2
init.ora - sql_trace = true
Способ 3
SQL> select p.spid, p.pid
2 from v$process p, v$session s
3 where p.addr = s.paddr
4 and s.sid = &sid;
Способ 4
SVRMGR> oradebug setospid
или
SVRMGR> oradebug setorapid
SVRMGR> oradebug event 10046 trace name context forever, level
Способ 5
CREATE OR REPLACE TRIGGER trace_login_trigger
AFTER logon ON DATABASE
BEGIN
IF (USER = '') THEN
EXECUTE IMMEDIATE 'ALTER SESSION SET EVENTS ''10046 trace name
context forever, level ''';
END IF;
END;
/
Способ 1
SQL> alter session set sql_trace = true;
SQL> alter session set events '10046 trace name context forever, level
0 Выключить трейс
1 Включить трейс. Аналог 0
4 + значения bind-переменных
8 Добавить в трейс информацию о wait
12 Комбинация уровней 4 и 8
SQL> exec sys.dbms_system.set_sql_trace_in_session(
SQL> exec sys.dbms_system.set_ev(
Способ 2
init
Способ 3
SQL> select p.spid, p.pid
2 from v$process p, v$session s
3 where p.addr = s.paddr
4 and s.sid = &sid;
Способ 4
SVRMGR> oradebug setospid
или
SVRMGR> oradebug setorapid
SVRMGR> oradebug event 10046 trace name context forever, level
Способ 5
CREATE OR REPLACE TRIGGER trace_login_trigger
AFTER logon ON DATABASE
BEGIN
IF (USER = '
EXECUTE IMMEDIATE 'ALTER SESSION SET EVENTS ''10046 trace name
context forever, level ''';
END IF;
END;
/
Ярлыки:
Oracle 9i
четверг, 12 ноября 2009 г.
Oracle VPD. Restrict column-level access to users
CONNECT sys/password AS SYSDBA
GRANT EXECUTE ON dbms_rls TO scott;
-- В этом примере ограничение видимости включаем к колонке SAL таблицы SCOTT.EMP для пользователя SYSTEM
-- Для начала проверим как отображаются данные под SYSTEM до включения политики
Connect system/manager
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- --------- --------- ------
7369 SMITH CLERK 7902 17.12.1980 800,00 20
7499 ALLEN SALESMAN 7698 20.02.1981 1600,00 300,00 30
7521 WARD SALESMAN 7698 22.02.1981 1250,00 500,00 30
7566 JONES MANAGER 7839 02.04.1981 2975,00 20
7654 MARTIN SALESMAN 7698 28.09.1981 1250,00 1400,00 30
7698 BLAKE MANAGER 7839 01.05.1981 2850,00 30
7782 CLARK MANAGER 7839 09.06.1981 2450,00 10
7788 SCOTT ANALYST 7566 19.04.1987 3000,00 20
7839 KING PRESIDENT 17.11.1981 5000,00 10
7844 TURNER SALESMAN 7698 08.09.1981 1500,00 0,00 30
7876 ADAMS CLERK 7788 23.05.1987 1100,00 20
7900 JAMES CLERK 7698 03.12.1981 950,00 30
7902 FORD ANALYST 7566 03.12.1981 3000,00 20
7934 MILLER CLERK 7782 23.01.1982 1300,00 10
14 rows selected
-- Создать функцию ограничения доступа для пользователя SYSTEM
-- Заходим под SCOTT и создаем функцию для политики безопасности
connect scott/tiger
CREATE OR REPLACE FUNCTION pf_job (oowner IN VARCHAR2, ojname IN VARCHAR2)
RETURN VARCHAR2 AS
con VARCHAR2 (200);
BEGIN
con := 'USER != ''SYSTEM''';
RETURN (con);
END pf_job;
/
-- Создаем политику ограничивающий видимость данных в колонке SAL таблицы SCOTT.SAL
-- для пользователей указанных в функции pf_job
BEGIN
DBMS_RLS.ADD_POLICY (object_schema => 'scott',
object_name => 'emp',
policy_name => 'sp_job',
function_schema => 'scott',
policy_function => 'pf_job',
sec_relevant_cols => 'sal',
sec_relevant_cols_opt=>dbms_rls.ALL_ROWS);
END;
/
-- После включения ограничения видимости, для пользователя SYSTEM не видны данные колонки SAL
Connect system/manager
SQL> select * from scott.emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
----- ---------- --------- ----- ----------- ---------- --------- ------
7369 SMITH CLERK 7902 17.12.1980 20
7499 ALLEN SALESMAN 7698 20.02.1981 300,00 30
7521 WARD SALESMAN 7698 22.02.1981 500,00 30
7566 JONES MANAGER 7839 02.04.1981 20
7654 MARTIN SALESMAN 7698 28.09.1981 1400,00 30
7698 BLAKE MANAGER 7839 01.05.1981 30
7782 CLARK MANAGER 7839 09.06.1981 10
7788 SCOTT ANALYST 7566 19.04.1987 20
7839 KING PRESIDENT 17.11.1981 10
7844 TURNER SALESMAN 7698 08.09.1981 0,00 30
7876 ADAMS CLERK 7788 23.05.1987 20
7900 JAMES CLERK 7698 03.12.1981 30
7902 FORD ANALYST 7566 03.12.1981 20
7934 MILLER CLERK 7782 23.01.1982 10
14 rows selected
Ярлыки:
Oracle 10g
понедельник, 31 августа 2009 г.
Поиск файлов в режиме BEGIN BACKUP
select f.name
from v$datafile f, v$backup b
where b.file# = f.file#
and b.status = 'ACTIVE';
from v$datafile f, v$backup b
where b.file# = f.file#
and b.status = 'ACTIVE';
Ярлыки:
Oracle Scripts
DB backup with BEGIN BACKUP
set serveroutput on
set trimspool on
set line 500
set head off
set feed off
spool begin_backup.sh
declare
cp_cmd constant varchar2(30) := 'cp';
cp_target constant varchar2(30) := '/u01/backup/';
DBname varchar2(30);
logmode varchar2(30);
begin
select name, log_mode into dbname, logmode from sys.v_$database;
if logmode <> 'ARCHIVELOG' then
raise_application_error(-20000, 'ERROR: Database must be in ARCHIVELOG mode!');
return;
end if;
dbms_output.put_line('spool backup.'||DBname||'.'||to_char(sysdate, 'ddMonyy')||'.log');
-- View all tablespaces except TEMP tablespace
for c1 in (select tablespace_name ts from sys.dba_tablespaces where contents<>'TEMPORARY' )
loop
dbms_output.put_line('alter tablespace '||c1.ts||' begin backup;');
-- View tablespace's data files
for c2 in (select file_name fil from sys.dba_data_files
where tablespace_name = c1.ts)
loop
dbms_output.put_line('!'||cp_cmd||' '||c2.fil||' '||cp_target);
end loop;
dbms_output.put_line('alter tablespace '||c1.ts||' end backup;');
end loop;
-- Backup controlfile and switch logfiles
dbms_output.put_line('alter database backup controlfile to trace;');
dbms_output.put_line('alter database backup controlfile to '||''''||
cp_target||'control.'||dbname||'.'||
to_char(sysdate,'dd-mm-yyyy_HH24:MI')||''''||';');
dbms_output.put_line('alter system switch logfile;');
dbms_output.put_line('spool off');
end;
/
spool off
set head on
set feed on
set serveroutput off
@begin_backup.sh
exit
set trimspool on
set line 500
set head off
set feed off
spool begin_backup.sh
declare
cp_cmd constant varchar2(30) := 'cp';
cp_target constant varchar2(30) := '/u01/backup/';
DBname varchar2(30);
logmode varchar2(30);
begin
select name, log_mode into dbname, logmode from sys.v_$database;
if logmode <> 'ARCHIVELOG' then
raise_application_error(-20000, 'ERROR: Database must be in ARCHIVELOG mode!');
return;
end if;
dbms_output.put_line('spool backup.'||DBname||'.'||to_char(sysdate, 'ddMonyy')||'.log');
-- View all tablespaces except TEMP tablespace
for c1 in (select tablespace_name ts from sys.dba_tablespaces where contents<>'TEMPORARY' )
loop
dbms_output.put_line('alter tablespace '||c1.ts||' begin backup;');
-- View tablespace's data files
for c2 in (select file_name fil from sys.dba_data_files
where tablespace_name = c1.ts)
loop
dbms_output.put_line('!'||cp_cmd||' '||c2.fil||' '||cp_target);
end loop;
dbms_output.put_line('alter tablespace '||c1.ts||' end backup;');
end loop;
-- Backup controlfile and switch logfiles
dbms_output.put_line('alter database backup controlfile to trace;');
dbms_output.put_line('alter database backup controlfile to '||''''||
cp_target||'control.'||dbname||'.'||
to_char(sysdate,'dd-mm-yyyy_HH24:MI')||''''||';');
dbms_output.put_line('alter system switch logfile;');
dbms_output.put_line('spool off');
end;
/
spool off
set head on
set feed on
set serveroutput off
@begin_backup.sh
exit
Ярлыки:
Oracle Scripts
Проверка полей empty_clob()
SQL> create table clob_test (hist clob);
Table created
SQL>
SQL> insert into clob_test values ('123');
1 row inserted
SQL> insert into clob_test values( empty_clob() );
1 row inserted
SQL> insert into clob_test values( empty_clob() );
1 row inserted
SQL> commit;
Commit complete
SQL> select count(*) from clob_test where dbms_lob.compare( hist, empty_clob() ) = 0
2 ;
COUNT(*)
----------
2
SQL> select count(*) from clob_test where dbms_lob.compare( hist, empty_clob() ) != 0;
COUNT(*)
----------
1
Table created
SQL>
SQL> insert into clob_test values ('123');
1 row inserted
SQL> insert into clob_test values( empty_clob() );
1 row inserted
SQL> insert into clob_test values( empty_clob() );
1 row inserted
SQL> commit;
Commit complete
SQL> select count(*) from clob_test where dbms_lob.compare( hist, empty_clob() ) = 0
2 ;
COUNT(*)
----------
2
SQL> select count(*) from clob_test where dbms_lob.compare( hist, empty_clob() ) != 0;
COUNT(*)
----------
1
Ярлыки:
Oracle 10g
Апргейд БД Oracle с 9i до 10g
Базы данных TEST
Версия БД Oracle 9.2.0.8
Версия целевой БД Oracle 10.2.0.4
Шаги выполнения апгрейда БД TEST
1. Установка софта Oracle 10.2.0.1
Время начала: 11:10
Время окончания: 11:30
Средняя скорость передачи данных с локального компьютера: 200 к/сек
2. Установка патча Oracle 10.2.0.4
Время начала: 11:30
Время окончания: 11:45
Средняя скорость передачи данных с локального компьютера: 200 к/сек
3. Подготовительный этап
Запуск Pre-Upgrade Utility
Необходимо скопировать скрипт $ORACLE_HOME/rdbms/admin/utlu102i.sql в временную папку. (скопирован в директорию /u01/app/oracle/admin/TEST/scripts)
$ cp $ORACLE_HOME/rdbms/admin/utlu102i.sql /u01/app/oracle/admin/TEST/scripts
$ sqlplus “as / sysdba”
SQL> spool info.log
SQL> @utlu102i.sql
Oracle Database 10.2 Upgrade Information Utility 07-09-2008 13:50:55
.**********************************************************************
Database:
**********************************************************************
--> name: TEST
--> version: 9.2.0.8.0
--> compatible: 9.2.0
--> blocksize: 8192
.**********************************************************************
Logfiles: [make adjustments in the current environment]
**********************************************************************
--> The existing log files are adequate. No changes are required.
.**********************************************************************
Tablespaces: [make adjustments in the current environment]
**********************************************************************
--> SYSTEM tablespace is adequate for the upgrade.
.... minimum required size: 3873 MB
.... AUTOEXTEND additional space required: 79 MB
--> UNDO tablespace is adequate for the upgrade.
.... minimum required size: 2816 MB
--> TEMP tablespace is adequate for the upgrade.
.... minimum required size: 58 MB
.**********************************************************************
Update Parameters: [Update Oracle Database 10.2 init.ora or spfile]
**********************************************************************
WARNING: --> "streams_pool_size" is not currently defined and needs a value of
at least 50331648
.**********************************************************************
Renamed Parameters: [Update Oracle Database 10.2 init.ora or spfile]
**********************************************************************
-- No renamed parameters found. No changes are required.
.**********************************************************************
Obsolete/Deprecated Parameters: [Update Oracle Database 10.2 init.ora or spfile]
**********************************************************************
--> "transaction_auditing"
--> "undo_suppress_errors"
--> "max_enabled_roles"
--> "parallel_automatic_tuning"
--> "enqueue_resources"
.**********************************************************************
Components: [The following database components will be upgraded or installed]
**********************************************************************
--> Oracle Catalog Views [upgrade] VALID
--> Oracle Packages and Types [upgrade] VALID
.**********************************************************************
Miscellaneous Warnings
**********************************************************************
WARNING: --> Passwords exist in some database links.
.... Passwords will be encrypted during the upgrade.
.... Downgrade of database links with passwords is not supported.
WARNING: --> Deprecated CONNECT role granted to some user/roles.
.... CONNECT role after upgrade has only CREATE SESSION privilege.
WARNING: --> Database contains stale optimizer statistics.
.... Refer to the 10g Upgrade Guide for instructions to update
.... statistics prior to upgrading the database.
.... Component Schemas with stale statistics:
.... SYS
WARNING: --> Database contains INVALID objects prior to upgrade.
.... USER MIGRATION has 2 INVALID objects.
.... USER PERFSTAT has 3 INVALID objects.
.... USER SPOT has 1 INVALID objects.
.... USER SYS has 14 INVALID objects.
.... USER SYSTEM has 1 INVALID objects.
.**********************************************************************
SYSAUX Tablespace:
[Create tablespace in the Oracle Database 10.2 environment]
**********************************************************************
--> New "SYSAUX" tablespace
.... minimum required size for database upgrade: 500 MB
.
PL/SQL procedure successfully completed.
SQL> SPOOL OFF
-- Создание файла параметров для новой версии БД
SQL> create pfile from spfile;
File created.
Изменены записи в файле .profile для отображения нового местоположения ORACLE_HOME
Скопированы и настроены файлы listener.ora и tnsnames.ora в новом ORACLE_HOME
Скопированы файл параметров и файл паролей в новый ORACLE_HOME со старого местоположения.
$ cp u01/app/oracle/product/9.2.0.8/dbs/orapwTEST /u01/app/oracle/product/10.2.0/dbs
$ cp /u01/app/oracle/product/9.2.0.8/dbs/initTEST.ora /u01/app/oracle/product/10.2.0/dbs
Выполнены изменения в файле initTEST.ora :
- Добавлен параметр streams_pool_size = 50331648
- Изменено значение параметра compatible = 10.2.0
- Удалены параметры transaction_auditing, undo_suppress_errors, max_enabled_roles, parallel_automatic_tuning, enqueue_resources
- В значение параметра log_archive_format добавлены дополнительные символы указания формата %t и %r (log_archive_format= ${ORACLE_SID}%s%t%r.arch)
4. Запуск скрипта апгрейда БД
Время начала: 12:45
Время окончания: 13:52
-- Перезапуск БД в режиме UPGRADE
SQL>SHUTDOWN IMMEDIATE
SQL> Startup upgrade pfile=’initTEST.ora’
-- Создание дополнительного табличного пространства SYSAUX
SQL> CREATE TABLESPACE sysaux DATAFILE ' /u01/oradata/TEST/sysaux01.dbf' SIZE 500M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ONLINE;
-- Скрипт апгрейда
SQL> SPOOL upgrade.log
SQL>@ /u01/app/oracle/product/10.2.0/rdbms/admin/catupgrd.sql
-- Проверка результата апгрейда
SQL>@ /u01/app/oracle/product/10.2.0/rdbms/admin/utlu102s.sql
SQL> SPOOL OFF
-- Перезапуск БД для возвращения в обычный режим
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
-- Перекомпиляция кода подпрограмм PLSQL и JAVA
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
5. Результат апгрейда БД TEST
Component Status Version HH:MM:SS
Oracle Database Server VALID 10.2.0.4.0 00:54:48
Общее время выполнения скрипта апгрейда: 00:57:30
Версия БД Oracle 9.2.0.8
Версия целевой БД Oracle 10.2.0.4
Шаги выполнения апгрейда БД TEST
1. Установка софта Oracle 10.2.0.1
Время начала: 11:10
Время окончания: 11:30
Средняя скорость передачи данных с локального компьютера: 200 к/сек
2. Установка патча Oracle 10.2.0.4
Время начала: 11:30
Время окончания: 11:45
Средняя скорость передачи данных с локального компьютера: 200 к/сек
3. Подготовительный этап
Запуск Pre-Upgrade Utility
Необходимо скопировать скрипт $ORACLE_HOME/rdbms/admin/utlu102i.sql в временную папку. (скопирован в директорию /u01/app/oracle/admin/TEST/scripts)
$ cp $ORACLE_HOME/rdbms/admin/utlu102i.sql /u01/app/oracle/admin/TEST/scripts
$ sqlplus “as / sysdba”
SQL> spool info.log
SQL> @utlu102i.sql
Oracle Database 10.2 Upgrade Information Utility 07-09-2008 13:50:55
.**********************************************************************
Database:
**********************************************************************
--> name: TEST
--> version: 9.2.0.8.0
--> compatible: 9.2.0
--> blocksize: 8192
.**********************************************************************
Logfiles: [make adjustments in the current environment]
**********************************************************************
--> The existing log files are adequate. No changes are required.
.**********************************************************************
Tablespaces: [make adjustments in the current environment]
**********************************************************************
--> SYSTEM tablespace is adequate for the upgrade.
.... minimum required size: 3873 MB
.... AUTOEXTEND additional space required: 79 MB
--> UNDO tablespace is adequate for the upgrade.
.... minimum required size: 2816 MB
--> TEMP tablespace is adequate for the upgrade.
.... minimum required size: 58 MB
.**********************************************************************
Update Parameters: [Update Oracle Database 10.2 init.ora or spfile]
**********************************************************************
WARNING: --> "streams_pool_size" is not currently defined and needs a value of
at least 50331648
.**********************************************************************
Renamed Parameters: [Update Oracle Database 10.2 init.ora or spfile]
**********************************************************************
-- No renamed parameters found. No changes are required.
.**********************************************************************
Obsolete/Deprecated Parameters: [Update Oracle Database 10.2 init.ora or spfile]
**********************************************************************
--> "transaction_auditing"
--> "undo_suppress_errors"
--> "max_enabled_roles"
--> "parallel_automatic_tuning"
--> "enqueue_resources"
.**********************************************************************
Components: [The following database components will be upgraded or installed]
**********************************************************************
--> Oracle Catalog Views [upgrade] VALID
--> Oracle Packages and Types [upgrade] VALID
.**********************************************************************
Miscellaneous Warnings
**********************************************************************
WARNING: --> Passwords exist in some database links.
.... Passwords will be encrypted during the upgrade.
.... Downgrade of database links with passwords is not supported.
WARNING: --> Deprecated CONNECT role granted to some user/roles.
.... CONNECT role after upgrade has only CREATE SESSION privilege.
WARNING: --> Database contains stale optimizer statistics.
.... Refer to the 10g Upgrade Guide for instructions to update
.... statistics prior to upgrading the database.
.... Component Schemas with stale statistics:
.... SYS
WARNING: --> Database contains INVALID objects prior to upgrade.
.... USER MIGRATION has 2 INVALID objects.
.... USER PERFSTAT has 3 INVALID objects.
.... USER SPOT has 1 INVALID objects.
.... USER SYS has 14 INVALID objects.
.... USER SYSTEM has 1 INVALID objects.
.**********************************************************************
SYSAUX Tablespace:
[Create tablespace in the Oracle Database 10.2 environment]
**********************************************************************
--> New "SYSAUX" tablespace
.... minimum required size for database upgrade: 500 MB
.
PL/SQL procedure successfully completed.
SQL> SPOOL OFF
-- Создание файла параметров для новой версии БД
SQL> create pfile from spfile;
File created.
Изменены записи в файле .profile для отображения нового местоположения ORACLE_HOME
Скопированы и настроены файлы listener.ora и tnsnames.ora в новом ORACLE_HOME
Скопированы файл параметров и файл паролей в новый ORACLE_HOME со старого местоположения.
$ cp u01/app/oracle/product/9.2.0.8/dbs/orapwTEST /u01/app/oracle/product/10.2.0/dbs
$ cp /u01/app/oracle/product/9.2.0.8/dbs/initTEST.ora /u01/app/oracle/product/10.2.0/dbs
Выполнены изменения в файле initTEST.ora :
- Добавлен параметр streams_pool_size = 50331648
- Изменено значение параметра compatible = 10.2.0
- Удалены параметры transaction_auditing, undo_suppress_errors, max_enabled_roles, parallel_automatic_tuning, enqueue_resources
- В значение параметра log_archive_format добавлены дополнительные символы указания формата %t и %r (log_archive_format= ${ORACLE_SID}%s%t%r.arch)
4. Запуск скрипта апгрейда БД
Время начала: 12:45
Время окончания: 13:52
-- Перезапуск БД в режиме UPGRADE
SQL>SHUTDOWN IMMEDIATE
SQL> Startup upgrade pfile=’initTEST.ora’
-- Создание дополнительного табличного пространства SYSAUX
SQL> CREATE TABLESPACE sysaux DATAFILE ' /u01/oradata/TEST/sysaux01.dbf' SIZE 500M REUSE EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO ONLINE;
-- Скрипт апгрейда
SQL> SPOOL upgrade.log
SQL>@ /u01/app/oracle/product/10.2.0/rdbms/admin/catupgrd.sql
-- Проверка результата апгрейда
SQL>@ /u01/app/oracle/product/10.2.0/rdbms/admin/utlu102s.sql
SQL> SPOOL OFF
-- Перезапуск БД для возвращения в обычный режим
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP
-- Перекомпиляция кода подпрограмм PLSQL и JAVA
SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
5. Результат апгрейда БД TEST
Component Status Version HH:MM:SS
Oracle Database Server VALID 10.2.0.4.0 00:54:48
Общее время выполнения скрипта апгрейда: 00:57:30
Ярлыки:
Oracle 9i
вторник, 14 июля 2009 г.
Полезные представления (view)
v$sql_optimizer_env - Значения параметров для каждого курсора в SGA
v$ses_optimizer_env - Значение параметров для каждой сессии
v$sys_optimizer_env - Значение параметров для всей системы
v$ses_optimizer_env - Значение параметров для каждой сессии
v$sys_optimizer_env - Значение параметров для всей системы
Ярлыки:
Oracle 10g
среда, 1 июля 2009 г.
[Siebel Database][ODBC Driver][Adaptive Server Anywhere]Index 'S_LIST_COL_INTL_P1' for table 'S_LIST_COL_INTL' would not be unique
Ошибка возникла при попытке checkout проекта в локальную базу. Выяснилось что проводилось перемещение объектов между проектами, которое привело к дублированию объектов. На металинке, в документе № 789062.1 указаны возможные причины возникновения ошибки.
Ярлыки:
Siebel CRM
вторник, 30 июня 2009 г.
When trying to use Virtual CTI (TAW) driver error "Unable to request commands and events from communication driver DLL sscmtaw.(SBL-CSR-00502)"
При интеграции Siebel CRM 8.1.1 с Oracle Contact Center Anywhere 8.1.2 (ССА), после выполнения всех шагов указанных в документации, при логине агента в siebel появляется ошибка:
When trying to use Virtual CTI (TAW) driver error "Unable to request commands and events from communication driver DLL sscmtaw.(SBL-CSR-00502)" displayed
Панель телефонии при этом не активизируется, отсутствует соединение к ССА.
После достаточного долгого времени выяснения причин ошибок, выяснилось что проблема не настолько сложна как казалось (как обычно бывает в таких случаях).
Итак, решение:
Необходимо в Siebel CRM в Administration-Communications -> Communications Drivers and profiles выбрать TAW driver и поставить в качестве значения поля Channel String = CCA Integration. В стандартной документации говорится, что нужно здесь ставить TAW Integration, несмотря на то что с таким значением Siebel CRM версии 8.1.1 не работает и выдает вышеуказанную ошибку.
When trying to use Virtual CTI (TAW) driver error "Unable to request commands and events from communication driver DLL sscmtaw.(SBL-CSR-00502)" displayed
Панель телефонии при этом не активизируется, отсутствует соединение к ССА.
После достаточного долгого времени выяснения причин ошибок, выяснилось что проблема не настолько сложна как казалось (как обычно бывает в таких случаях).
Итак, решение:
Необходимо в Siebel CRM в Administration-Communications -> Communications Drivers and profiles выбрать TAW driver и поставить в качестве значения поля Channel String = CCA Integration. В стандартной документации говорится, что нужно здесь ставить TAW Integration, несмотря на то что с таким значением Siebel CRM версии 8.1.1 не работает и выдает вышеуказанную ошибку.
Ярлыки:
Siebel CRM
пятница, 26 июня 2009 г.
ORA-00600: internal error code, arguments: [qkabix], [0], [], [], [], [], [], []
С недавнего времени начали замечать в базе данных Oracle 10.2.0.1 ошибку ORA-00600: internal error code, arguments: [qkabix], [0], [], [], [], [], [], [] . Поиски на металинке привели к документу 743212.1 , в котором предлагается решить проблему следующим образом:
One possible workaround to avoid the error is to disable the optimizer to produce bitmap plans for B-Tree indexes even if there is no bitmap index anywhere in sight:
- at session level
sql> alter session set "_b_tree_bitmap_plans"=false;
- or at system level
sql> alter system set "_b_tree_bitmap_plans"=false;
- or in the init.ora
_b_tree_bitmap_plans = false
Еще одним вариантом решения является установка значения параметра optimizer_mode на first_row.
Аlter session set optimizer_mode=first_rows;
One possible workaround to avoid the error is to disable the optimizer to produce bitmap plans for B-Tree indexes even if there is no bitmap index anywhere in sight:
- at session level
sql> alter session set "_b_tree_bitmap_plans"=false;
- or at system level
sql> alter system set "_b_tree_bitmap_plans"=false;
- or in the init.ora
_b_tree_bitmap_plans = false
Еще одним вариантом решения является установка значения параметра optimizer_mode на first_row.
Аlter session set optimizer_mode=first_rows;
Ярлыки:
Oracle 10g
Oracle I/O stat
Нашел статейку по созданию скриптов по мониторингу ввода вывода в интернете по ссылке http://www.rampant-books.com/t_oracle_file_i_o_scripts.htm . Особенно актуальным для меня был пункт по созданию скрипта по просмотру ввода вывода в файлы данных
rem
rem NAME: fileio.sql
rem
rem FUNCTION: Reports on the file io status of all of the
rem FUNCTION: datafiles in the database.
rem
column sum_io1 new_value st1 noprint
column sum_io2 new_value st2 noprint
column sum_io new_value divide_by noprint
column Percent format 999.999 heading 'Percent|Of IO'
column brratio format 999.99 heading 'Block|Read|Ratio'
column bwratio format 999.99 heading 'Block|Write|Ratio'
column phyrds heading 'Physical | Reads'
column phywrts heading 'Physical | Writes'
column phyblkrd heading 'Physical|Block|Reads'
column phyblkwrt heading 'Physical|Block|Writes'
column name format a45 heading 'File|Name'
column file# format 9999 heading 'File'
column dt new_value today noprint
select to_char(sysdate,'ddmonyyyyhh24miss') dt from dual;
set feedback off verify off lines 132 pages 60 sqlbl on trims on
rem
select
nvl(sum(a.phyrds+a.phywrts),0) sum_io1
from
sys.v_$filestat a;
select nvl(sum(b.phyrds+b.phywrts),0) sum_io2
from
sys.v_$tempstat b;
select &st1+&st2 sum_io from dual;
rem
@title132 'File I/O Statistics Report'
spool rep_out\&db\fileio&&today
select
a.file#,b.name, a.phyrds, a.phywrts,
(100*(a.phyrds+a.phywrts)/÷_by) Percent,
a.phyblkrd, a.phyblkwrt, (a.phyblkrd/greatest(a.phyrds,1)) brratio,
(a.phyblkwrt/greatest(a.phywrts,1)) bwratio
from
sys.v_$filestat a, sys.v_$dbfile b
where
.file#=b.file#
union
select
c.file#,d.name, c.phyrds, c.phywrts,
(100*(c.phyrds+c.phywrts)/÷_by) Percent,
c.phyblkrd, c.phyblkwrt,(c.phyblkrd/greatest(c.phyrds,1)) brratio,
(c.phyblkwrt/greatest(c.phywrts,1)) bwratio
from
sys.v_$tempstat c, sys.v_$tempfile d
where
c.file#=d.file#
order by
1
/
spool off
pause Press enter to continue
set feedback on verify on lines 80 pages 22
clear columns
ttitle off
rem
rem NAME: fileio.sql
rem
rem FUNCTION: Reports on the file io status of all of the
rem FUNCTION: datafiles in the database.
rem
column sum_io1 new_value st1 noprint
column sum_io2 new_value st2 noprint
column sum_io new_value divide_by noprint
column Percent format 999.999 heading 'Percent|Of IO'
column brratio format 999.99 heading 'Block|Read|Ratio'
column bwratio format 999.99 heading 'Block|Write|Ratio'
column phyrds heading 'Physical | Reads'
column phywrts heading 'Physical | Writes'
column phyblkrd heading 'Physical|Block|Reads'
column phyblkwrt heading 'Physical|Block|Writes'
column name format a45 heading 'File|Name'
column file# format 9999 heading 'File'
column dt new_value today noprint
select to_char(sysdate,'ddmonyyyyhh24miss') dt from dual;
set feedback off verify off lines 132 pages 60 sqlbl on trims on
rem
select
nvl(sum(a.phyrds+a.phywrts),0) sum_io1
from
sys.v_$filestat a;
select nvl(sum(b.phyrds+b.phywrts),0) sum_io2
from
sys.v_$tempstat b;
select &st1+&st2 sum_io from dual;
rem
@title132 'File I/O Statistics Report'
spool rep_out\&db\fileio&&today
select
a.file#,b.name, a.phyrds, a.phywrts,
(100*(a.phyrds+a.phywrts)/÷_by) Percent,
a.phyblkrd, a.phyblkwrt, (a.phyblkrd/greatest(a.phyrds,1)) brratio,
(a.phyblkwrt/greatest(a.phywrts,1)) bwratio
from
sys.v_$filestat a, sys.v_$dbfile b
where
.file#=b.file#
union
select
c.file#,d.name, c.phyrds, c.phywrts,
(100*(c.phyrds+c.phywrts)/÷_by) Percent,
c.phyblkrd, c.phyblkwrt,(c.phyblkrd/greatest(c.phyrds,1)) brratio,
(c.phyblkwrt/greatest(c.phywrts,1)) bwratio
from
sys.v_$tempstat c, sys.v_$tempfile d
where
c.file#=d.file#
order by
1
/
spool off
pause Press enter to continue
set feedback on verify on lines 80 pages 22
clear columns
ttitle off
Ярлыки:
Oracle 10g
Статистика ввода вывод в Oracle 10g
В oracle 10g появились множество представлений для просмотра ввода вывода в файлы данных. AWR использует их при составлении своих отчетов. Это такие представления как dba_hist_tempstatxs для просмотра информации ввода вывода в TEMP файлы данных,
DBA_HIST_FILESTATXS для просмотра истории ввода вывода файлов данных.
DBA_HIST_FILESTATXS для просмотра истории ввода вывода файлов данных.
Ярлыки:
Oracle 10g
пятница, 5 июня 2009 г.
Добавление SWAP файла
Для добавления swap файла нужно провести следующие шаги
1. Умножьте на 1024 размер файла которую вы хотите добавить. Например, если хотите добавить файл размером 150 Мб, умножьте 150 на 1024. Получится 153600
2. Под пользователем root , в корневой директории / введите следующую команду
# dd if=/dev/zero of=/swapfile bs=1024 count=153600
3. Установите swap файл
# Mkswap /swapfile
4. Активируйте созданный файл
# Swapon /swapfile
5. Для того чтобы swap файл активировался каждый раз после перезагрузки сервера добавьте в файл /etc/fstab следующую строку
/swapfile swap swap defaults 0 0
6. После следующей перезагрузки, система активизирует swap файл
7. Проверить проделанную работу можно набрав команду free или cat /proc/swaps
Для удаления swap файла нужно:
1. Деактивировать swap файл
# swapoff swapfile
2. Удалить файл с помощью команды rm
# rm swapfile
1. Умножьте на 1024 размер файла которую вы хотите добавить. Например, если хотите добавить файл размером 150 Мб, умножьте 150 на 1024. Получится 153600
2. Под пользователем root , в корневой директории / введите следующую команду
# dd if=/dev/zero of=/swapfile bs=1024 count=153600
3. Установите swap файл
# Mkswap /swapfile
4. Активируйте созданный файл
# Swapon /swapfile
5. Для того чтобы swap файл активировался каждый раз после перезагрузки сервера добавьте в файл /etc/fstab следующую строку
/swapfile swap swap defaults 0 0
6. После следующей перезагрузки, система активизирует swap файл
7. Проверить проделанную работу можно набрав команду free или cat /proc/swaps
Для удаления swap файла нужно:
1. Деактивировать swap файл
# swapoff swapfile
2. Удалить файл с помощью команды rm
# rm swapfile
Ярлыки:
Linux
Подписаться на:
Сообщения (Atom)