Опубликовано ср, 10/01/2014 - 14:40 пользователем talifa
DECLARE
my_task_name VARCHAR2 ( 30 );
BEGIN
my_task_name :=
DBMS_SQLTUNE.CREATE_TUNING_TASK (
sql_id => 'gy9t3hcf3zxzv'
, task_name => 'a_very_hard5'
);
END;
/
EXECUTE DBMS_SQLTUNE.EXECUTE_TUNING_TASK ( 'a_very_hard5' );
SET LONG 10000
SET LONGCHUNKSIZE 1000
SET LINESIZE 200
SELECT
DBMS_SQLTUNE.REPORT_TUNING_TASK ( 'a_very_hard5' )
FROM dual;
execute dbms_sqltune.accept_sql_profile(task_name => 'a_very_hard4',task_owner => 'SYS', replace => TRUE);
Опубликовано пн, 09/22/2014 - 15:22 пользователем talifa
Primary Server Setup
Logging
Check that the primary database is in archivelog mode.
SELECT log_mode FROM v$database;
LOG_MODE
------------
NOARCHIVELOG
SQL>
If it is noarchivelog mode, switch is to archivelog mode.
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
Enabled forced logging by issuing the following command.
ALTER DATABASE FORCE LOGGING;
Initialization Parameters
Опубликовано пт, 07/11/2014 - 12:08 пользователем talifa
SELECT LOG_MODE FROM SYS.V$DATABASE;
LOG_MODE
------------
NOARCHIVELOG
NOARCHIVELOG – означает, что СУБД не архивирует логические логи.
ARCHIVELOG – означает, что СУБД находится в режим архивирования логических логов.
Так же можно воспользоватся другой командой, которая дополнительно покажет установленный ранее путь к архивным логам и их количество.
Опубликовано вт, 07/08/2014 - 15:17 пользователем talifa
Опубликовано пт, 03/28/2014 - 13:14 пользователем talifa
Опубликовано пт, 11/08/2013 - 12:59 пользователем talifa
select name from v$datafile;
select name from v$tempfile;
select member from v$logfile;
select * from V$LOG
Опубликовано пн, 10/14/2013 - 16:49 пользователем talifa
John Watson - OCA Oracle Database 11g Administration I Exam Guide (Exam 1Z0-052) - 2008.pdf
Книга с вопросами, ответами и пояснениями
Опубликовано пт, 10/04/2013 - 14:18 пользователем talifa
OCA Oracle Database 11g: SQL Fundamentals I Exam Guide (Exam 1Z0-051) ®
John Watson OCP
Roopesh Ramklass OCP
книга с тестами, ответами, пояснениями для сдачи 1Z0-051
Опубликовано ср, 10/02/2013 - 16:14 пользователем talifa
Книга с тестовыми вопросами по 1Z0-051
OCA Oracle Database 11g: SQL Fundamentals I: A Real-World Certification Guide
Ace the 1Z0-051 SQL Fundamentals I exam, and become a successful DBA by learning how SQL concepts work in the real world
Опубликовано ср, 10/02/2013 - 15:48 пользователем talifa
OCA Oracle Database 11g: Administration I Exam Guide (Exam 1Z0-051)
сертификационный экзамен
Опубликовано пн, 09/02/2013 - 13:24 пользователем talifa
Пользователь
userdel oracle
useradd -d /export/home/oracle -m -s /bin/bash -g oinstall -G dba oracle
Отладка
cat -v -t -e [file] Показать неотображаемые символы
dumpadm -d swap Сконфигурировать swap устройство как dump устройство
ld -l Проверка наличия библиотеки
truss -f -p Использование нескольких окон. Это может использоваться при отслеживании setuid/setgid программ
truss executable Отслеживание команды (полезно при отладке)
Опубликовано пн, 08/05/2013 - 15:34 пользователем talifa
vmstat – выдает статистику по виртуальной памяти, которая также включает в себя информацию о потоках ядра, дисках и активности ЦПУ;
psrinfo – отображает данные о процессорах;
prtconf – отображает системную конфигурацию. Вывод утилиты может быть малопонятен начинающему администратору;
prtdiag – отображает системную диагностическую информацию;
Опубликовано чт, 06/06/2013 - 06:18 пользователем talifa
Я Ирина Фаст. По специальности я Oracle DBA и по совместительству директор московского филиала компании Митра
Могу запроектировать базу данных, развернуть Drupal довольно быстро, могу RHEL поставить и настроить. Много чего могу.
Наверно мой сайт выглядит странно, и it--шные дела, и сайтостроение, и организации разных проектов, стихи. Но это отражение моей жизни. Тут собрано все, что я делаю, все в одном месте. It статейками я пользуюсь как шпаргалками, стихи публикую для души и чтобы не потерять, рекламирую себя как организатора web-проектов, ну и помогаю кой кому.
Так что веллкам. Буду рада гостям и комментаторам.
Опубликовано чт, 05/30/2013 - 12:19 пользователем talifa
Опубликовано чт, 05/16/2013 - 11:58 пользователем talifa
========================================== разница логов
select (a.maxa-b.maxb) LAG from (select max(sequence#) maxa from v$archived_log where standby_dest='NO') a,
(select nvl(max(sequence#),0) maxb from v$archived_log where applied ='YES') b;
=======================================================================
alter database recover managed standby database cancel;
alter database recover managed standby database disconnect;
Опубликовано ср, 09/16/2020 - 11:48 пользователем talifa
Эта редакция включает в себя все возможности, относящиеся к младшей редакции: Standard Edition One. Особенностью этой редакции является бесплатно поставляемая опция Real Application Cluster (RAC). Опция имеет ограничения: кластер должен содержать не более 4-х процессоров.
Задачи, решаемые опцией Real Application Cluster:
Опубликовано пт, 09/04/2020 - 11:14 пользователем talifa
Идентификатор конференции:
Опубликовано пн, 06/29/2020 - 14:02 пользователем talifa
Опубликовано чт, 04/30/2020 - 16:11 пользователем talifa
для технологических учетных записей:
— длина пароля должна быть не менее шестнадцати символов;
— максимальный срок действия пароля 90 дней;
Опубликовано пн, 04/27/2020 - 20:04 пользователем talifa
несколько инстансов, что используют huge pages. каждый инстанс работает под своим юзером.
какой инстанс сколько страниц съел?
ipcs -ma
------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
Опубликовано пт, 04/03/2020 - 20:24 пользователем talifa
Опубликовано вс, 03/22/2020 - 08:53 пользователем talifa
Сейчас все ноутбуки поставляются со встроенным средством связи - веб-камерой. Это очень удобно. С помощью web-камеры Linux вы можете общаться с друзьями через интернет, делать фото или даже записывать видео с ноутбука. Но только есть одно но. Не для всех моделей веб-камер есть драйвера в ядре Linux.
Опубликовано вт, 03/10/2020 - 11:08 пользователем talifa
Опубликовано чт, 02/20/2020 - 14:15 пользователем talifa
Опубликовано пн, 02/03/2020 - 11:52 пользователем talifa
Включаем аудит
Для включения аудита нам достаточно изменить значение инициализационного параметра AUDIT_TRAIL. Для начала подключимся к экземпляру базы данных и выведем его значение:
Опубликовано чт, 01/23/2020 - 11:30 пользователем talifa
Опубликовано ср, 01/22/2020 - 12:12 пользователем talifa
My family and I went skiing from February 22 to 27 at Krasnaya Polyana.
To say that it was wonderful is to say nothing.
If I had Chekhov's talent I would say that the mountains are beautiful, the weather is perfectly, the air is godly, but the prices are godless. Hotel and restaurant owners don't believe in God, they believe in Money. To prove this I can give only one fact: a glass of tea costs 300 rubles on the mountain. It is all about the prices.
Опубликовано вт, 12/31/2019 - 12:46 пользователем talifa
Block corruptions are one of the common source of database outages. A database block is corrupted when its content has changed from what Oracle Database expects. Correcting block corruptions can prove to be a lengthy and costly exercise and requires good expertise 0n the DBA part.
Опубликовано чт, 12/26/2019 - 14:25 пользователем talifa
AMM (Automatic Memory Management)
В 12с можно установить значение параметру инициализации:
Опубликовано вт, 12/24/2019 - 14:14 пользователем talifa
Опубликовано пт, 12/20/2019 - 13:03 пользователем talifa
В некоторых случаях, например, когда к базе подключается приложение, возникает необходимость снимать трассировку сессии с самого начала, и нет возможности ни включить трассировку из этой сессии, ни из другой, как описано здесь. Тогда решением будет создание триггера на событие Logon:
Опубликовано вт, 12/17/2019 - 10:48 пользователем talifa
Опубликовано пт, 12/13/2019 - 08:50 пользователем talifa
Дано:
Схема AQ - содержит очереди.
Опубликовано пт, 12/13/2019 - 08:49 пользователем talifa
Опубликовано пт, 12/13/2019 - 08:44 пользователем talifa
~ Process vs Sessions parameter values in Oracle
~ Setting Sessions and Transaction parameter values in Oracle 11g with respec
Опубликовано пт, 12/13/2019 - 08:42 пользователем talifa
Процент попаданий в буфер блока данных (кэш данных)
если процент ниже 95, то стоит увеличить размер DB_CACHE_SIZE
Опубликовано ср, 11/27/2019 - 11:59 пользователем talifa
Опубликовано пн, 11/25/2019 - 08:43 пользователем talifa
Что такое inodes и почему они могут кончиться (ликбез)
Опубликовано пт, 11/22/2019 - 11:47 пользователем talifa
Для настройки памяти будем использовать ASMM и hugepages в догонку.
С учетом hugepages AMM не доступен.
Итак, настраиваем ассинхронный ввод/вывод (async IO):
- Установить нужные библиотечки, если они вдруг не были установлены ранее
для дебиана : aptitude install libaio1 libaio-dev
для RHEL: yum install libaio libaio-devel
- Включить параметры асинхронного В/В в СУБД:
Опубликовано пт, 11/22/2019 - 11:21 пользователем talifa
- Latch free - конкуренция за доступ к защелкам.
Опубликовано пт, 11/22/2019 - 08:40 пользователем talifa
все что есть у пользователя
SELECT
'GRANT ' ||
tp.privilege ||
' ON ' ||
tp.owner ||
'.' ||
tp.table_name ||
' TO ' ||
tp.grantee ||
';' cmd
FROM dba_tab_privs tp
WHERE tp.grantee = 'ADMBASE'
UNION
SELECT
'GRANT ' ||
sp.privilege ||
' TO ' ||
sp.grantee ||
Опубликовано чт, 11/21/2019 - 12:54 пользователем talifa
1)
добавить в файл
/etc/security/limits.conf
Опубликовано чт, 11/21/2019 - 12:25 пользователем talifa
To test a case similar to Bob's situation, perform the following steps:
Опубликовано ср, 11/20/2019 - 15:14 пользователем talifa
Dblink - интересный и в то же время неприятный объект. Дело в том, что в синтаксисе Oracle нет способа просто проверить, работает он или нет, если он находится в другой схеме. Доступ через точку, в отличие от других объектов, не работает, т.к. точка может являться частью имени dblink'а.
Опубликовано ср, 11/20/2019 - 15:09 пользователем talifa
Информация о режиме archivelog:
SQL> show parameter log;
Показывает список всех параметров, связанных с архивлогами — места нахождения, интервалы и прочее.
SQL> select log_mode from v$database;
Собственно информация о том, включён режим или нет.
SQL> archive log list;
Показывает более детальную информацию чем предыдущая команда — тут так же есть последовательности, подлежащие архивированию и место локации архивлогов.
Опубликовано ср, 11/20/2019 - 15:08 пользователем talifa
Следующий код выгружает содержимое столбца lobs_tab.clob_col в файл clob_col1.txt,
используя пакет DBMS_LOB для чтения CLOB и пакет UTL_FILE для записи во внешний файл:
declare
l_clob clob;
l_clob_len pls_integer;
l_file utl_file.file_type;
l_buffer varchar2(32767);
l_amount pls_integer;
l_pos binary_integer := 1;
begin
Опубликовано ср, 11/20/2019 - 15:07 пользователем talifa
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
ALTER DATABASE OPEN READ ONLY;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE;
Опубликовано ср, 11/20/2019 - 15:06 пользователем talifa
crosscheck archivelog all;
delete expired archivelog all;
CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;
#!/bin/bash
sqlplus /nolog @/home/oracle/scripts/delete_archlog.sql
set linesize 200;
Опубликовано ср, 11/20/2019 - 15:05 пользователем talifa
set pages 100 lines 100
col name for a70
col first_change# for 9999999999999
col next_change# for 9999999999999
alter session set nls_date_format='DD-MON-RRRR HH24:MI:SS';
select name, thread#, sequence#, status, first_time, next_time, first_change#, next_change# from v$archived_log
where 1021438627876 between first_change# and next_change#;
Опубликовано ср, 11/20/2019 - 15:03 пользователем talifa
ibsodoc
select substr(name,2,3) from v$datafile group by substr(name,2,3);
u16
u15
u11
u12
u13
u10
u14
select name from v$tempfile;
/u10/oradata/ibsodoc/temp01.dbf
select MEMBER from V$LOGFILE;
/urdo/oradata/ibsodoc/redo06.log
/urdo/oradata/ibsodoc/redo05.log
/urdo/oradata/ibsodoc/redo04.log
/urdo/oradata/ibsodoc/redo03.log
/urdo/oradata/ibsodoc/redo02.log
Опубликовано ср, 11/20/2019 - 15:01 пользователем talifa
SQL> select to_char(min(checkpoint_change#)) checkpoint_change# from v$datafile;
1022165566632
alter database create standby controlfile as '/uarch/ehd4/standby_ehd4_control.ctl';
backup device type disk incremental from scn 1022165566632 database format '/uarch/ehd4/Inc_backup_%U';
scp /uarch/ehd4/standby_ehd4_control.ctl
oracle@ehd-db4:/uarch/ehd4/
Опубликовано ср, 11/20/2019 - 15:00 пользователем talifa
Для сбора статистики используем процедуру
dbms_stats.gather_table_stats('CREDMON','GOAL_IMPORT');
Если в базе данных имеются таблицы, которые часто обновляются, то частый сбор статистики может негативно повлиять на производительность базы данных. Для того, чтоб исключить объекты из автоматического или любого другого сбора статистики можно «закрепить» ее статистику:
begin
dbms_stats.gather_table_stats('SCOTT','EMP');
dbms_stats.lock_table_stats('SCOTT','EMP');
end;
Опубликовано ср, 11/20/2019 - 14:58 пользователем talifa
system_wait
set lines 100
set pages 100
clear breaks
clear columns
column c1 heading 'Event' format A30 wrap
column c2 heading 'Total Waits' format 999,999,999
column c3 heading 'Wait Time(s)' format 999,999
column c4 heading 'Timeouts' format 999,999,999
column c5 heading 'Avg. Wait (s)' format 99.999
select event c1,
total_waits c2,
time_waited/100 c3,
total_timeouts c4,
average_wait/100 c5
Опубликовано ср, 11/20/2019 - 14:57 пользователем talifa
db_recovery_file_dest_size
на старом варианте
db_flashback_retention_target integer 1440
db_recovery_file_dest_size big integer 1400G
новом
db_flashback_retention_target integer 1440
db_recovery_file_dest_size big integer 900G
db_recovery_file_dest string /archlog/rtdm
$ sqlplus / as sysdba
shutdown immediate;
Опубликовано ср, 11/20/2019 - 14:56 пользователем talifa
======================= ресурсы
select * from v$resource_limit
изменение статистики по задержкам например db file sequential read
select to_char(ss.end_interval_time,'dd.mm.yyyy hh24:mi'),
round((time_waited_micro-lag(time_waited_micro,1) over (order by e.snap_id))/(total_waits-lag(total_waits,1) over (order by e.snap_id))/1000) dr from dba_hist_system_event e, dba_hist_snapshot ss
where
ss.snap_id=e.snap_id
Опубликовано ср, 11/20/2019 - 14:55 пользователем talifa
set lin 300 pages 0
column checkpoint_change# format 999999999999999999999;
select file#,status,recover,fuzzy,checkpoint_change#,checkpoint_time,resetlogs_time from v$datafile_header;
select min(checkpoint_change#) checkpoint_change# from v$datafile_header;
FILE# STATUS REC FUZ CHECKPOINT_CHANGE# CHECKPOIN RESETLOGS
---------- ------- --- --- ------------------ --------- ---------
Опубликовано ср, 11/20/2019 - 14:54 пользователем talifa
=================================== 12 oracle
select 'alter database move datafile '''||name||''' to ''/data/rtdm/rtdm_data_'||FILE#||'.dbf'';' from v$datafile where FILE#<51;
select 'alter database move datafile '''||name||''' to ''/data/rtdm/system.dbf'';' from v$datafile where name like '%system%';
select 'alter database move datafile '''||name||''' to ''/data/rtdm/sysaux.dbf'';' from v$datafile where name like '%sysaux%';
Опубликовано ср, 11/20/2019 - 14:53 пользователем talifa
Идентифицировать потребление памяти со стороны Oracle выполняется с помощью служебных view V$PROCESS и V$PROCESS_MEMORY - по процессам,
V$SGASTAT и V$PGASTAT - кумулятивно для SGA и PGA соответственно.
SET linesize 80;
COLUMN pid FORMAT 999999;
COLUMN spid FORMAT a7;
COLUMN program FORMAT a25;
SELECT pid, spid, program, pga_used_mem, pga_alloc_mem, pga_max_mem FROM v$process;
Опубликовано ср, 11/20/2019 - 14:52 пользователем talifa
create user killer identified by killer;
grant connect, create procedure to killer;
grant alter system to killer;
connect killer/killer
create procedure kill(sid number, serial# number) as
begin
execute immediate 'alter system kill session '''||sid||','||serial#||'''';
end;
/
grant execute on kill to MBLOG;
connect / as sysdba
Опубликовано ср, 11/20/2019 - 14:49 пользователем talifa
grant select on sys.v_$sql_monitor to CDI;
grant select on sys.NLS_SESSION_PARAMETERS to CDI;
grant select on sys.DBA_HIST_REPORTS_DETAILS to CDI;
grant select on sys.kopm$ to CDI;
grant select on sys.X$KSPPI to CDI;
grant select on SYS.X$KSPPCV to CDI;
grant select on sys."_REPORT_COMPONENT_OBJECTS" to CDI;
grant select on sys.REPORT_COMPONENTS to CDI;
grant select on sys."_REPORT_FORMATS" to CDI;
grant select on sys."_REPORT_COMPONENT_OBJECTS" to CDI;
Опубликовано ср, 11/20/2019 - 14:41 пользователем talifa
select m.LAST_REFRESH_TIME, m.sql_text
,dbms_sqltune.report_sql_monitor(sql_id => m.sql_id, type => 'HTML', report_level => 'ALL') AS report
from sys.v_$sql_monitor m
where m.sid = 1345 --and m.session_serial# = :serial#
order by m.LAST_REFRESH_TIME desc
__________________________________________________________
SELECT * FROM
(SELECT
sql_fulltext,
sql_id,
first_load_time,
last_load_time
FROM v$sql
Опубликовано ср, 11/20/2019 - 14:34 пользователем talifa
EXPLAIN PLAN FOR select ...;
select * from table(dbms_xplan.display);
Можно посмотреть планы вот так:
select * from table(dbms_xplan.display_cursor('4aj2y82rdfx97',null,'basic +PEEKED_BINDS'))
И сравнить индексный доступ и fullscan. Возможно, на NODE есть гистограмма, которой там быть не должно.
Опубликовано ср, 11/20/2019 - 14:33 пользователем talifa
@/app/oracle/product/12.1.0/db/rdbms/admin/proftab.sql
Running "proftab.sql" creates following objects:
PLSQL_PROFILER_RUNS - Run-specific information for the PL/SQL profiler.
PLSQL_PROFILER_UNITS - Information about each library unit in a run.
PLSQL_PROFILER_DATA - Accumulated data from all profiler runs.
Опубликовано ср, 11/20/2019 - 14:32 пользователем talifa
SQL> select name, open_mode, log_mode from v$database;
NAME OPEN_MODE LOG_MODE
--------- -------------------- ------------
CR READ WRITE ARCHIVELOG
SQL> SELECT * FROM v$database_block_corruption;
FILE# BLOCK# BLOCKS CORRUPTION_CHANGE# CORRUPTIO
---------- ---------- ---------- ------------------ ---------
271 2482861 1 0 FRACTURED
Опубликовано ср, 11/20/2019 - 14:31 пользователем talifa
select * from v$session_wait sw, v$session s
where s.sid = sw.sid and event = 'enqueue'
select event, status, service_name, wait_class, state, seconds_in_wait from v$session where sid=1098;
Можете посмотреть сессию SID=1454 на базе RBOWRK?
Сессия висит с ожиданием LIBRARY CACHE PIN и блокирует другие, в чем может быть проблема?
Опубликовано ср, 11/20/2019 - 14:30 пользователем talifa
with c as (
select c.sid, c.user_name, count(*)
from v$open_cursor c
group by c.sid, c.user_name
having count(*) > 50)
select c.*, s.program from c, v$session s
where c.sid = s.sid
order by 3 desc
select count(*) sessions from v$session;
select count(*) processes from v$process;
select count(*) cursors from v$open_cursor;
это посмотреть (у меня уперлось не в курсоры а в сессии)
Опубликовано ср, 11/20/2019 - 14:29 пользователем talifa
alter system set events '1426 trace name errorstack level 3'
или
begin
execute immediate 'alter session set timed_statistics=true';
execute immediate 'alter session set tracefile_identifier=''FCS_DATA_MART'''; --FCS_GET_OBJ название трейса
execute immediate 'alter session set events ''10046 trace name context forever, level 12''';
проц какой-нибудь
execute immediate 'alter session set events ''10046 trace name context forever, level 0''';
end;
Опубликовано ср, 11/20/2019 - 14:28 пользователем talifa
Опубликовано ср, 11/20/2019 - 14:27 пользователем talifa
select ADDRESS, HASH_VALUE from V$SQLAREA where SQL_Id='dmx08r6ayx800';
ADDRESS HASH_VALUE
---------------------------------- ----------
0000000693E4C268 2515443712
exec DBMS_SHARED_POOL.PURGE ('0000000693E4C268,2515443712','C');
Опубликовано ср, 11/20/2019 - 14:27 пользователем talifa
explain plan for select t.* from t_plan_test t where t.n1 = 100;
select * from table(dbms_xplan.display);
Во-первых, необходимо запомнить план первого запроса, взяв его sql_id и plan_hash_value:
begin
Опубликовано ср, 11/20/2019 - 14:25 пользователем talifa
создать spfile
alter user system IDENTIFIED BY WSXwsx;
SHUTDOWN IMMEDIATE
STARTUP MOUNT
nid TARGET=SYSTEM DBNAME=PSISBL
поменять профиль
export ORACLE_SID=CR
STARTUP MOUNT
ALTER SYSTEM SET DB_NAME=PSISBL SCOPE=SPFILE;
SHUTDOWN IMMEDIATE;
STARTUP MOUNT;
ALTER DATABASE OPEN RESETLOGS;
Опубликовано ср, 11/20/2019 - 14:24 пользователем talifa
SET LINESIZE 300;
SET PAGES 300;
COLUMN host FORMAT A30;
Опубликовано ср, 11/20/2019 - 14:21 пользователем talifa
column "Схема" format a15;
column "Таблица" format a15;
SELECT a.owner "Схема",
a.table_name "Таблица",
b.bytes "Размер (Мб)",
TRUNC((a.blocks * 100) / b.blocks) "Занято(%)",
b.extents "Экстентов"
FROM dba_tables a,
(
SELECT owner, segment_name, SUM(bytes)/1024/1024 bytes,
SUM(blocks) blocks, COUNT(*) extents
FROM dba_extents
Опубликовано ср, 11/20/2019 - 14:20 пользователем talifa
select substr(d.name,1,4),d.group_number, sum(d.total_mb), sum(d.free_mb)
from v$asm_diskgroup dg,v$asm_disk d
where d.group_number = dg.group_number
group by substr(d.name,1,4),d.group_number;
select dg.name, d.name, d.path, d.total_mb, d.free_mb
from v$asm_diskgroup dg,
v$asm_disk d
where d.group_number = dg.group_number
order by free_mb, 1, 2;
Опубликовано ср, 11/20/2019 - 14:17 пользователем talifa
select protection_level from v$database;
show parameter standby_file_management ;
select group#, bytes from v$standby_log;
select name, open_mode, log_mode from v$database;
select recovery_mode from v$archive_dest_status;
select flashback_on from v$database;
find . -name "alert*.log" -exec ls -l -h {} \;
select name from v$archived_log where rownum <10;
Опубликовано чт, 11/14/2019 - 10:12 пользователем talifa
Опубликовано ср, 11/13/2019 - 16:39 пользователем talifa
Опубликовано пт, 11/08/2019 - 13:50 пользователем talifa
The DBMS_PROFILER packages gets installed at the time of database creation by default. However prior to Oracle 10g release this package was not installed by default and needs to be created by running "profload.sql" located at $ORACLE_HOME/rdbms/admin folder.
Опубликовано пт, 11/08/2019 - 13:38 пользователем talifa
Please note all the below steps can be performed when the database is up and running without having any impact on database availability.
Опубликовано ср, 11/06/2019 - 09:38 пользователем talifa
Hugepages and Large Pages
Опубликовано пт, 11/01/2019 - 12:38 пользователем talifa
Настройка X11 forwarding используя ssh в Unix/Linux
Опубликовано пн, 09/23/2019 - 14:39 пользователем talifa
Steps for creating diskgroup in ASM (Single Node)
Опубликовано сб, 09/14/2019 - 22:05 пользователем talifa
select tpm.name privilege,
decode(mod(oa.option$,2), 1, 'YES', 'NO') grantable,
ue.name grantee,
ur.name grantor,
u.name owner,
decode(o.TYPE#, 0, 'NEXT OBJECT', 1, 'INDEX', 2, 'TABLE', 3, 'CLUSTER',
4, 'VIEW', 5, 'SYNONYM', 6, 'SEQUENCE',
7, 'PROCEDURE', 8, 'FUNCTION', 9, 'PACKAGE',
11, 'PACKAGE BODY', 12, 'TRIGGER',
13, 'TYPE', 14, 'TYPE BODY',
Опубликовано чт, 09/12/2019 - 17:19 пользователем talifa
Опубликовано ср, 09/11/2019 - 12:33 пользователем talifa
allocate channel for maintenance type disk;
crosscheck backup;
crosscheck archivelog all;
crosscheck copy;
delete noprompt backup completed before 'trunc(sysdate)-14';
delete noprompt copy completed before 'trunc(sysdate)-14';
release channel ;
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
backup as compressed backupset
incremental level 0
Опубликовано пт, 09/06/2019 - 12:31 пользователем talifa
Опубликовано ср, 09/04/2019 - 14:55 пользователем talifa
Опубликовано ср, 09/04/2019 - 09:12 пользователем talifa
Почему поиск в таблице с небольшим количеством строк может отнять довольно много времени?
Опубликовано ср, 08/28/2019 - 13:49 пользователем talifa
Опубликовано пт, 08/23/2019 - 15:05 пользователем talifa
Копируем datafile которые взяли с донора и архивлоги на свои места
Опубликовано ср, 08/21/2019 - 19:17 пользователем talifa
--—сценарий пользовательского горячего резервного копирования
-------------------------Проверяем, что работает в архилог моде.
archive log list;
Опубликовано пт, 08/16/2019 - 12:50 пользователем talifa
Опубликовано ср, 05/22/2019 - 12:55 пользователем talifa
Курсор это средство извлечения данных из БД.
Курсоры содержат определения столбцов и объектов.
Опубликовано пн, 05/13/2019 - 11:17 пользователем talifa
Опубликовано пн, 05/06/2019 - 14:36 пользователем talifa
I have a procedure with below structure:
Опубликовано чт, 04/25/2019 - 11:44 пользователем talifa
немного про JSON и ORACLE 12
Опубликовано пт, 03/01/2019 - 15:32 пользователем talifa
Опубликовано вс, 01/27/2019 - 16:31 пользователем talifa
The Art of Monitoring
James Turnbull
June 11, 2016
Version: v1.0.0 (b30718d)
Website: The Art of Monitoring
Опубликовано ср, 01/23/2019 - 16:27 пользователем talifa
In this section you will learn How to Install and Configure Graphite into Centos 7 part 1
We are going to configure Graphite into three host
Опубликовано пт, 01/11/2019 - 11:49 пользователем talifa
Работа с PostgreSQL: настройка и масштабирование А. Ю. Васильев aka leopard Creative Commons Attribution-Noncommercial 4.0 International 2017
Опубликовано чт, 01/03/2019 - 17:51 пользователем talifa
====================== Idle In Transaction Session Timeout
параметр который определяет сколько можно безнаказано висеть
больше - принудительный rollback
=================== pg_blocking_pids
Опубликовано чт, 01/03/2019 - 16:07 пользователем talifa
Статистика сбрасывается на диск в каталог pg_stat и pg_stat_tmp
Текущая активность
Кто сейчас происходит в базе: (клиентские и серверные процессы)
================================================ pg_stat_activity
параметры
Опубликовано вт, 12/18/2018 - 18:36 пользователем talifa
Пожалуй, написание динамических команд SQL и динамических программ PL/SQL было самым интересным делом из всего, что я когда-либо делал на языке PL/SQL. Конструирование и динамическое выполнение обеспечивает невероятную гибкость. У разработчика появляется возможность создавать обобщенный код с широким спектром применения.
Опубликовано вт, 12/18/2018 - 15:16 пользователем talifa
Oracle statement:
MERGE INTO acme_obj_value d
USING ( SELECT object_id
FROM acme_state_tmp
) s
ON (d.object_id = s.object_id)
WHEN matched THEN
UPDATE SET d.date_value = LEAST(l_dt, d.date_value)
WHEN NOT matched THEN
INSERT (d.id, d.object_id, d.date_value)
VALUES (acme_param_sequence.NEXTVAL, s.object_id, l_dt)
PostgreSQL statement:
Опубликовано пн, 11/12/2018 - 10:44 пользователем talifa
Первая часть - скрипты на бекапирование всех рабочих кластеров баз, которые есть в эксплуатации.
Вторая - бекапирование конфигурационных файлов.
Опубликовано вс, 11/11/2018 - 17:53 пользователем talifa
PostgreSQL поддерживает возможности физического и логического бэкапа, добавляя к ним еще один уровень WAL (см. врезку), который можно назвать непрерывным копированием.
Опубликовано пт, 11/09/2018 - 10:32 пользователем talifa
1. настраиваем brubeck + graphite + grafana
2. пишем крон или демон который раз в минуту или n-секунд забирает данные из pg_stat_* и pg_statio_* и скидывает в brubeck
3. настраиваем dashboards в графане
Опубликовано ср, 11/07/2018 - 15:18 пользователем talifa
Step 1 — Installing Prometheus Server
First, create a new directory to store all the files you download in this tutorial and move to it.
Опубликовано вт, 10/30/2018 - 13:43 пользователем talifa
yum install -y https://centos7.iuscommunity.org/ius-release.rpm
yum update
yum install -y epel-release
yum upgrade
Опубликовано пт, 09/07/2018 - 11:08 пользователем talifa
Опубликовано пн, 09/03/2018 - 12:28 пользователем talifa
log_min_duration_statement = 0
log_line_prefix = '%t [%p]: [%l-1] ' или '%t [%p]: [%l-1] user=%u,db=%d,client=%h '
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0
log_autovacuum_min_duration = 0
lc_messages='C'
log_duration = on
log_statement = all
log_destination = stderr
Опубликовано чт, 08/30/2018 - 11:09 пользователем talifa
В CentOS 7, по умолчанию, достуна версия postgres 9.2.
Опубликовано чт, 08/23/2018 - 17:57 пользователем talifa
Опубликовано пт, 08/17/2018 - 16:57 пользователем talifa
Опубликовано чт, 08/16/2018 - 17:03 пользователем talifa
1. Блокировки пользовательских таблиц в PostgreSQL.
-- Блокировки уровня таблицы
ACCESS SHARE
Конфликтует с ACCESS EXCLUSIVE, используется SELECT(блокировка для чтения таблицы)
ROW SHARE
Конфликтует с EXCLUSIVE, ACCESS EXCLUSIVE, используется SELECT FOR UPDATE, SELECT FOR SHARE
ROW EXLUSIVE
Конфликтует с SHARE,EXCLUSIVE, ACCESS EXCLUSIVE, используется UPDATE, DELETE, INSERT
SHARE UPDATE EXCLUSIVE
Опубликовано чт, 08/16/2018 - 16:24 пользователем talifa
Зачем вообще нужно логирование в базе данных? Для начала попробуйте ответить себе сами на этот вопрос.
Опубликовано чт, 08/16/2018 - 10:46 пользователем talifa
Function to generate Foreign table create statements
The function script is shown here and should be installed on the database that you want to script the tables as foreign tables for future use on a target server.
Опубликовано чт, 07/19/2018 - 09:46 пользователем talifa
Oracle Databases Upgrade from 11.2.0.1 to 11.2.0.4
11.2.0.1 ORACLE_HOME
/u01/app/oracle/product/11.2.0.1/db_home
Опубликовано чт, 07/12/2018 - 16:21 пользователем talifa
Вот многие жалуются, что PostgreSQL сложно масштабировать и нужно быть в нем очень большим специалистом, чтобы настроить обычную master-slave репликацию. По-моему, это все чушь. Не так давно мне потребовалась всего лишь пара часов вдумчивого чтения документации, чтобы во всем разобраться. В этой заметке я постараюсь показать, что с репликацией в PostgreSQL все очень просто.
Опубликовано ср, 07/11/2018 - 18:33 пользователем talifa
Опубликовано чт, 07/05/2018 - 16:40 пользователем talifa
Опубликовано пт, 06/29/2018 - 14:07 пользователем talifa
SYNOPSIS
Usage: pgbadger [options] logfile [...]
PostgreSQL log analyzer with fully detailed reports and graphs.
Arguments:
logfile can be a single log file, a list of files, or a shell command
returning a list of files. If you want to pass log content from stdin
Опубликовано пт, 06/29/2018 - 12:32 пользователем talifa
Модуль pg_repack — это расширение Postgres Pro Enterprise, которое позволяет ликвидировать пустоты в таблицах и индексах и может дополнительно восстанавливать физический порядок кластеризованных индексов. В отличие от CLUSTER и VACUUM_ FULL, оно выполняет эти операции «на ходу», обходясь без исключительных блокировок таблиц в ходе их обработки.
Опубликовано пт, 06/29/2018 - 12:24 пользователем talifa
Функция pgstattuple
возвращает физическую длину отношения, процент "мёртвых" кортежей и другую информацию. Она может быть полезна для принятия решения о необходимости очистки.
Опубликовано пт, 06/29/2018 - 11:47 пользователем talifa
параметры autovacuum на базе 24/7, с интенсивной записью, размером 1,1 Тб.
Текущие:
autovacuum = on .
Опубликовано ср, 06/27/2018 - 18:56 пользователем talifa
Зачем вообще нужно логирование в базе данных? Для начала попробуйте ответить себе сами на этот вопрос.
Опубликовано пн, 06/25/2018 - 17:54 пользователем talifa
Здесь будут настройки для PostgreSQL, работающей в виртуальной машине ESXi 6.5.
Ресурсы выделенные для ВМ:
Опубликовано пн, 06/25/2018 - 12:24 пользователем talifa
Как-то мне потребовалось настроить синхронизацию нескольких таблиц на разных серверах PostgreSQL, не настраивая при этом репликацию в классическом её виде, проанализировал я много разных вариантов и самый простой оказался синхронизация через dblink.
Опубликовано пн, 06/25/2018 - 12:11 пользователем talifa
С помощью этого запроса можно получить список самых крупных отношений (relations) в текущей базе данных: таблиц, индексов.
SELECT nspname || '.' || relname AS "relation",
pg_size_pretty(pg_relation_size(C.oid)) AS "size"
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
ORDER BY pg_relation_size(C.oid) DESC
LIMIT 20;
Опубликовано пт, 06/15/2018 - 12:58 пользователем talifa
Опубликовано сб, 06/02/2018 - 14:14 пользователем talifa
В python для взаимодействия с базами данных Oracle служит модуль расширения cx-oracle.
Опубликовано ср, 05/30/2018 - 18:36 пользователем talifa
запрос для рассматривания чего вакумим
SELECT relname, age(relfrozenxid) as xid_age,
pg_size_pretty(pg_table_size(oid)) as table_size
FROM pg_class
WHERE relkind = 'r' and pg_table_size(oid) > 1073741824
ORDER BY age(relfrozenxid) DESC LIMIT 10;
Опубликовано пт, 03/16/2018 - 18:01 пользователем talifa
Проблема с заполненным разделом в Linux встречается часто. По большей степени это возникает из за ранее созданного раздела с маленьким объемом. Например под раздел /var отвели всего 10 Гб, так как он используется многими программами для хранения данных, часто виновником переполнения становится именно он. Бывает что и корневой раздел заполняется.
Опубликовано пн, 12/18/2017 - 18:15 пользователем talifa
curl — консольная утилита для передачи данных используя URL-синтаксис,
Опубликовано ср, 12/06/2017 - 15:25 пользователем talifa
Каждый год в декабре я делаю одно и тоже. Пора запротоколировать.
Создаем табличные пространства под новые партиции.
Опубликовано пт, 12/16/2016 - 11:26 пользователем talifa
Настройка конфигурациипараметр - значение - рекомендации Настройка ресурсовshared_buffersРазмер разделяемой между процессами PostgreSQL памяти, которая нужна для выполнения активных операций. Не следует указывать слишком большой объём, так как PostgreSQL использует также дисковый кэш. Значения:
Опубликовано пт, 12/02/2016 - 12:04 пользователем talifa
CREATE OR REPLACE PACKAGE BILLING7.PARTITIONIER
IS
PROCEDURE partitions_create (
table_name_arg IN VARCHAR2,
days_count_arg IN NUMBER,
block_measure IN VARCHAR2 DEFAULT 'MM'
);
PROCEDURE partitions_job_runner;
END; -- Package spec
/
CREATE OR REPLACE PACKAGE BODY BILLING7.PARTITIONIER
IS
Опубликовано ср, 11/30/2016 - 16:18 пользователем talifa
Возникла необходимость быстро и как можно проще организовать репликацию данных с сервера БД на резервный сервер. Простой и понятный способ на просторах Сети так и не нашелся, по этому пришлось по частям собрать информацию, которая и стала этой статьёй.
Опубликовано ср, 11/30/2016 - 16:16 пользователем talifa
Сделала для Специалиста. Затырю.
Опубликовано ср, 11/30/2016 - 15:13 пользователем talifa
Сделала лекцию, пусть пока тут полежит
Опубликовано пн, 11/28/2016 - 11:56 пользователем talifa
Аббревиатура «BRIN» означает «Block Range Index», или индекс блоковых зон. Если у вас есть очень большие таблицы и столбцы, по своей природе связанные с положением строки в таблице, как, например, временная метка в некотором логе, то BRIN-индексы предоставляют вам возможность индексировать такие столбцы, не тратясь на создание и поддержку B-деревьев (структур, используемых в стандартных индексах).Работу BRIN-индекса можно представить так: данные разбиваются на зоны, после чего в индексе сохраняется информация о страницах, попадающих в данные диапазоны, плюс служебная информация.
Опубликовано пн, 11/28/2016 - 10:47 пользователем talifa
Индексы помогают ускорить операций, требующие выборки ограниченных данных. Это:
- операции
select
, update
и delete
, в которых присутствует условие where
;
- операция
join
и подобные ей (если индекс создан для полей, по которым происходит объединение);
- некоторые случаи, где присутствует
ORDER BY
.
Создание и удаление индексовВ самом базовом случае команда создания индекса выглядит следующим образом:
Опубликовано пт, 10/07/2016 - 12:53 пользователем talifa
После инсталяции смотрим состояние.
/home/em12c/oms/bin/emctl status oms
Oracle Enterprise Manager Cloud Control 12c Release 5
Copyright (c) 1996, 2015 Oracle Corporation. All rights reserved.
WebTier is Up
Oracle Management Server is Up
/home/agent/agent_inst/bin/emctl status agent
Oracle Enterprise Manager Cloud Control 12c Release 5
Опубликовано ср, 09/28/2016 - 19:28 пользователем talifa
Вот описание некоторых важных опций:
Опубликовано ср, 09/21/2016 - 14:59 пользователем talifa
Как переименова, пересоздать и возможно размер изменить редо логов и проде и стендбае.
Опубликовано пт, 09/16/2016 - 12:32 пользователем talifa
---------------------------------------- inc0
cat /export/home/oracle/rman/rman_hd_inc0.sh
#!/bin/bash
## prepare variables
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=/u01/app/oracle/product/11.2.0/db_1/bin:$PATH
export ORACLE_SID=hd
export NLS_DATE_FORMAT='dd.mm.yyyy hh24:mi:ss'
CONN=/
SCRIPT_DIR=`dirname $0`
if [ "$SCRIPT_DIR" = "." ]; then
SCRIPT_DIR=`pwd`
fi
Опубликовано ср, 09/14/2016 - 14:10 пользователем talifa
Опубликовано ср, 09/14/2016 - 13:03 пользователем talifa
•■■ Spoon: Графический пользовательский интерфейс, позволяющий вести быструю разработку и управлять всем ETL процессом загрузки данных.
•■■ Kitchen: Инструментарий командной строки, позволяющий запускать jobs
•■■ Pan: Инструментарий командной строки, позволяющий запускать transformations.
Опубликовано пт, 09/09/2016 - 14:49 пользователем talifa
НА ПРОДЕ
db_name
db_unique_name
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB11G,DB11G_STBY)';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=db11g_stby NOAFFIRM ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=DB11G_STBY';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER SYSTEM SET FAL_SERVER=DB11G_STBY;
alter system set fal_client=DB11G;
Опубликовано пн, 08/29/2016 - 15:27 пользователем talifa
Смотрим
select * from V$SERVICES
lsnrctl SERVICES
Создаем сервисы в БД testdb:
Опубликовано пн, 07/25/2016 - 15:10 пользователем talifa
Опубликовано ср, 07/06/2016 - 04:26 пользователем talifa
Create Database ConsoleTo create the configuration files and repository for Database Console, run:
$ emca -config dbcontrol db -repos create
STARTED EMCA at Jul 24, 2006 9:59:39 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Опубликовано ср, 07/06/2016 - 04:21 пользователем talifa
Oracle DB Express is the new replacement for Oracle DB Console in the Oracle 12c database. Here are some first steps to get started.
Опубликовано пн, 07/04/2016 - 15:26 пользователем talifa
col host format a15;
col ACL format a20;
col LOWER_PORT format 99999;
col UPPER_PORT format 99999;
col PRINCIPAL format a10;
col start_date format a8;
col end_date format a10;
select HOST,LOWER_PORT,UPPER_PORT,ACL from DBA_NETWORK_ACLS;
HOST LOWER_PORT UPPER_PORT ACL
Опубликовано чт, 06/16/2016 - 14:24 пользователем talifa
Опубликовано вт, 05/31/2016 - 13:48 пользователем talifa
Сам процесс установки EM 12c описан в документации, а MOS Note 1359176.1 даже включает скриншоты. Тем не менее, процесс установки имеет некоторые специфические детали и почти всегда в первый раз заканчивается неудачно. Это неудивительно, учитывая количество программных компонентов, включённых в продукт.
Опубликовано пт, 05/20/2016 - 18:05 пользователем talifa
even after you set DISPLAY when installing oracle on a linux environment you get the following error
Опубликовано пт, 05/20/2016 - 12:51 пользователем talifa
Удаление архивных логов и старых бекапов - часть обязательных плясок обслуживания базы. Ниже описаны вариации на тему DELETE ARCHIVELOG, Delete Archivelog Backups и Obsolete database backups.
DELETE ARCHIVELOG.
Опубликовано пт, 05/06/2016 - 17:41 пользователем talifa
Все команды запускаются под пользователем postgres (postgresql-суперпользователь)
$ su - postgres
Опубликовано пт, 05/06/2016 - 17:39 пользователем talifa
смотрим базы и роли.
\l
- список баз данных
Опубликовано ср, 05/04/2016 - 12:39 пользователем talifa
Опубликовано вт, 04/26/2016 - 12:19 пользователем talifa
Существует пять способов: |
Опубликовано ср, 04/13/2016 - 16:44 пользователем talifa
pg_dump выгружает базу данных в файл в текстовом или других форматах.
Использование:
pg_dump [ОПЦИЯ]... [ИМЯБД]
Опции общего характера:
-f, --file=ИМЯФАЙЛА имя выходного файла
-F, --format=c|t|p формат выходного файла (пользовательский, tar, только текст)
-i, --ignore-version продолжить даже если версия сервера не совпадает с
версией pg_dump
-v, --verbose режим вывода всех сообщений
Опубликовано вт, 04/12/2016 - 13:52 пользователем talifa
This is guide, howto install Pos
Опубликовано пн, 04/11/2016 - 16:24 пользователем talifa
Варианты установки
PostgreSQL допускает различные варианты установки. Предпочтительным способом является использование готовых пакетов, так как в этом случае получается понятная, поддерживаемая и легко обновляемая установка. Пакеты существуют для большинства широко распространенных систем (см. http://www.postgresql.org/download/):
• FreeBSD, OpenBSD (пакеты из Ports and Packages Collection)
Опубликовано пн, 04/11/2016 - 14:41 пользователем talifa
Опубликовано вт, 03/08/2016 - 13:28 пользователем talifa
Опубликовано пн, 03/07/2016 - 08:27 пользователем talifa
-- Проверка самой базы (физическая и логическая)
Опубликовано ср, 02/17/2016 - 18:31 пользователем talifa
1.Если запросы select * from v$circuit; select * from v$dispatcher; не возвращают строк, то можно с уверенностью сказать, что сервер в дедикейтед режиме. Другой способ проверить - посмотреть параметер
SQL> show parameter mts_disp
NAME TYPE VALUE
------------------------------------ ------- -----
Опубликовано ср, 02/17/2016 - 13:18 пользователем talifa
Алгоритм соединения слиянием сортированных списков (merge join, sort merge join, sort-merge join)
Опубликовано ср, 02/17/2016 - 13:06 пользователем talifa
Алгоритм соединения вложенными циклами
Опубликовано вт, 02/16/2016 - 14:35 пользователем talifa
Опубликовано вт, 02/16/2016 - 14:28 пользователем talifa
CREATE OR REPLACE PROCEDURE REPMAN.tables_report IS
--- sql string
sql_ifrom varchar(1000);
sql_ifromn varchar(1000);
sql_iwhere varchar(1000);
sql_iclip varchar(1000);
sql_iorder varchar(1000);
sql_igroup varchar(1000);
sql_ihaving varchar(1000);
sql_lenght varchar(1000);
sql_tables varchar(1000);
strsql varchar(5000);
sql_tables1 varchar(1000);
strsql1 varchar(5000);
Опубликовано вт, 02/09/2016 - 16:48 пользователем talifa
В таблицы хранятся целые числа.
Например
1,4,6,5,78,24,79
Опубликовано вт, 01/26/2016 - 18:36 пользователем talifa
Место которое занято на диске - реально данные
SELECT TABLE_NAME, ROUND((BLOCKS * 8)/1024, 0) "SIZE, Mb" ,
ROUND((NUM_ROWS * AVG_ROW_LEN / 1024 / 1024), 0) "SIZE, Mb" ,
ROUND((BLOCKS * 8)/1024, 0)-ROUND((NUM_ROWS * AVG_ROW_LEN / 1024 / 1024), 0)
FROM DBA_TABLES
WHERE OWNER = 'IBS' and TABLESPACE_NAME='T_USR'
and ROUND((BLOCKS * 8)/1024, 0)-ROUND((NUM_ROWS * AVG_ROW_LEN / 1024 / 1024), 0)!=0
order by 4 desc;
Опубликовано ср, 01/20/2016 - 19:22 пользователем talifa
Ну помониторь кто генерит много redo запросами типа |
Опубликовано вт, 01/12/2016 - 16:10 пользователем talifa
Опубликовано вт, 12/29/2015 - 09:59 пользователем talifa
Когда хранимая процедура Oracle извлекает из таблицы объект типа lob, Oracle на самом деле возвращает не его содержимое, а локатор lob (в объектной терминологии - дескриптор). Локатор используется совместно с набором из девяти специальных функций, с помощью которых хранимая процедура может манипулировать данными, хранящимися в столбце типа lob. Вот краткое описание этих функций:
Опубликовано пт, 12/18/2015 - 16:14 пользователем talifa
Когда для смертного умолкнет шумный день,
И на немые стогны града
Опубликовано ср, 12/02/2015 - 13:58 пользователем talifa
Grant flashback privileges to users, roles, or applications that need to use flashback features, as follows:
- DBMS_FLASHBACK package - Grant EXECUTE privilege on DBMS_FLASHBACK to provide access to the features in this package.
- Flashback Query and Flashback Version Query - Grant FLASHBACK and SELECT privileges on specific objects to be accessed during queries, or grant the FLASHBACK ANY TABLE privilege to allow queries on all tables.
- Flashback Transaction Query - Grant the SELECT ANY TRANSACTION privilege.
Опубликовано пт, 11/06/2015 - 18:05 пользователем talifa
Очень часто многие вебмастера стали не задумываясь пользоваться различными шрифтами, которые, как им кажется, придают красоту и восхищение сайту. Вот например, подобные расширения файлов со шрифтами очень часто встречаются в коде:
- .eot
- .woff
- .ttf'
Пример из жизни:
Опубликовано пт, 11/06/2015 - 18:02 пользователем talifa
да на сайт требуется подключить нестандартный шрифт. В общем случае, проще всего пойти на Google Fonts и выбрать себе кириллический шрифт на вкус и цвет. Для начала опишем такой вариант.
Опубликовано пн, 11/02/2015 - 14:35 пользователем talifa
--Сессии, интенсивно использующие ресурсы процессора
select v.sid, v.value,USERNAME
from v$statname s, v$sesstat v,V$SESSION S
where s.name = 'CPU used by this session'
and v.statistic# = s.statistic#
and v.value > 0 AND V.SID=S.SID
order by 2 desc;
--статистика по запросам. ограничивайте по нужной вам статистике
Опубликовано ср, 10/21/2015 - 11:51 пользователем talifa
На сегодняшний день использование набора символов Unicode стало стандартом в почти всём программном обеспечении. Вот уже несколько лет Oracle предлагает элегантное решение в виде кодировки AL32UTF8. Тем не менее, во многих случаях использование Unicode нежелательно, по причинам несовместимости со старыми версиями программных продуктов либо из соображений экономии дискового пространства, как в случае с бесплатным Oracle Express Edition.Данная заметка знакомит читателя с двумя подходами к использованию русского языка и сохранению кириллических символов в базах данных Oracle.
Опубликовано ср, 10/14/2015 - 14:59 пользователем talifa
Краткое описание логики работы:
Опубликовано вт, 10/13/2015 - 17:39 пользователем talifa
I
Наивность!
Хватит умиленья!
Она совсем не благодать.
Наивность может быть от лени,
От нежеланья понимать.
От равнодушия к потерям.
К любви... А это тоже лень.
Куда спокойней раз поверить,
Чем жить и мыслить каждый день.
Опубликовано чт, 10/08/2015 - 17:55 пользователем talifa
Опубликовано вт, 09/29/2015 - 11:33 пользователем talifa
Опубликовано пн, 09/28/2015 - 07:52 пользователем talifa
Standby в режиме наката логов создовал manual не GUI Data Guard.
startup nomount;
alter database mount standby database;
alter database recover managed standby database disconnect from session;
exit;
Вот Активация.
/******************************************************/
Connect &LogonUserName/&LogonPassword@&LogonDatabase as sysdba
alter database recover managed standby database cancel;
alter database recover standby database;
Опубликовано вт, 09/22/2015 - 17:07 пользователем talifa
Задача произвести компрессию всех табличных сегментов , находящихся в табличных пространствах:
DATAMOS_2005
сморим свободное пространство
Опубликовано ср, 09/09/2015 - 14:50 пользователем talifa
Ожидание pipe_put дословно - заталкивание в трубу. т.е. обмен данными между двумя программами, когда между ними установлена pipe и это ожидание того, когда труба освободится и "толкатель" сможет вытолкнуть очередную порцию.
В одном из процедуры ЦФТ использовали DBMS_PIPE упаковать и распаковать сообщения. При запуске процедуры, сессия висит в течение длительного времени, и в событиях ожидания я нашла pipe_put
Теория.
Опубликовано ср, 09/09/2015 - 12:39 пользователем talifa
Опубликовано вт, 09/08/2015 - 17:44 пользователем talifa
|
создать |
запустить |
Chain |
create job type chain |
run_chain |
|
|
|
|
|
|
|
|
|
|
|
|
Опубликовано вт, 09/08/2015 - 11:35 пользователем talifa
действия |
без каталога |
с каталогом |
---|
гранты |
|
recivery_catalog_owner |
Опубликовано вс, 08/30/2015 - 11:18 пользователем talifa
Общие отличия Google от Yandex
Опубликовано вт, 08/18/2015 - 16:16 пользователем talifa
Как Resumable Space Allocation работает
RESUMABLE_TIMEOUT параметр который указывает сколько будет висеть сессия, если кончится место в tablespace. И вы можете решить, следует ли убить сессию, или добавить пространства. Сессия возобновляется после таймаута
не использовать
Опубликовано пт, 08/14/2015 - 17:29 пользователем talifa
- 1. На проде делаем контрольник
- 2. На тесте-приемнике гасим базу
- 3. Гасим стендбай
- 4. Копируем файлы из стенбая на тест-приемник
- 5. заходим на тест в номаунт
- 6. пересоздаем контрольник.
- 7. окрываем с резет лог
- 8. создаем темпы
- 9. поднимаем стендбай
- 10. архивлог убрать на тесте
- 11. проверить как стендбае логи накатываются
- 12. посмотреть алерт на тесте
На боевом проде который клонируем
Опубликовано чт, 08/13/2015 - 16:53 пользователем talifa
select sum(value)/1024/1024 Mb
from
v$sesstat s, v$statname n
where
n.STATISTIC# = s.STATISTIC# and
name = 'session pga memory';
col name format a30;
select sid,name,value/1024/1024
from v$statname n,v$sesstat s
Опубликовано ср, 08/12/2015 - 13:17 пользователем talifa
Опубликовано пн, 08/10/2015 - 12:38 пользователем talifa
Сегодня мы научим его работать с картинками. В этом нам помогут два модуля Drupal: IMCE и IMCE Wysiwyg bridge.Давайте посмотрим, какие возможности для работы с картинками предоставляет нам редактор CKEditor по умолчанию. Переходим на страницу создания нового материала любого типа и переключаемся на формат текста «Full HTMS», для которого задан редактор CKEditor. Жмем на кнопку «Изображение» и попадаем в окно свойств изображения.Как видите, можно только добавить изображение с другого интернет ресурса, указав URL адрес в поле «Ссылка».
Опубликовано пн, 08/10/2015 - 12:27 пользователем talifa
Этой статьей я начинаю цикл посвященный созданию интернет магазина на CMS Drupal c использованием модуля Drupal Commerce. Данный текст будет включать в себя перевод доступный на данный момент литературы, а также советы пользователей с различных форумов и других интернет ресурсов.
Опубликовано пн, 08/10/2015 - 10:50 пользователем talifa
WYSIWYG — аббревиатура, полученная от английского выражения «What you see is what you get», что в переводе означает «Получаю, то что вижу».
Опубликовано чт, 08/06/2015 - 18:43 пользователем talifa
Назначение
Psql это терминальный клиент, который поставляется вместе с PostgreSQL. Широко используется администраторами БД и разработчиками для интерактивной работы и выполнения скриптов.
Официальная документацию по psql расположена по адресу: http://www.postgresql.org/docs/current/static/app-psql.html
Запуск, выход, получение справки
Опубликовано чт, 08/06/2015 - 18:39 пользователем talifa
Варианты установки
PostgreSQL допускает различные варианты установки.
Предпочтительным способом является использование готовых пакетов, так как в этом случае
получается понятная, поддерживаемая и легко обновляемая установка.
Пакеты существуют для большинства широко распространенных систем (см. http://www.postgresql.org/download/):
• FreeBSD, OpenBSD (пакеты из Ports and Packages Collection)
• Red Hat, Debian, Ubuntu Linux (входит в дистрибутив ОС + репозиторий yum/apt)
Опубликовано чт, 08/06/2015 - 18:36 пользователем talifa
Процессы и память
При подключении к серверу клиент соединяется с процессом postmaster. В задачи этого процесса входит порождение других процессов и присмотр за ними. Таким образом, postmaster порождает серверный процесс и дальше клиент работает уже с ним. На каждое соединение создается по серверному процессу, поэтому при большом числе соединений следует использовать пул (нпример, с помощью расширения pgbouncer).
Опубликовано чт, 08/06/2015 - 18:29 пользователем talifa
PostgreSQL (http://www.postgresql.org) — наиболее полнофункциональная, свободно распространяемая объектно-реляционная СУБД с открытым кодом. Разработанная в академической среде, за долгую историю сплотившая вокруг себя широкое сообщество разработчиков, эта СУБД обладает всеми возможностями, необходимыми большинству заказчиков. PostgreSQL активно применяется по всему миру для создания критичных бизнес-систем, работающих под большой нагрузкой.
Опубликовано чт, 08/06/2015 - 17:28 пользователем talifa
Типы лицензий
• Лицензии полного использования - Full Use (FU)
• Лицензии на специальные прикладные программы - Application
Specific Full Use (ASFU)
• Встроенная лицензия - Embedded Software License (ESL)
• Демонстрационная лицензия - Demonstration
• Лицензия на разработку - Development
• Техническая поддержка лицензий на разработку (Service Request
Pack)
• Лицензия для тестирования - Trial
Лицензии Demonstration и Development (Service Request Pack)
доступны только для официальных партнеров
Опубликовано чт, 08/06/2015 - 17:16 пользователем talifa
Модуль / Редакция |
Personal Edition |
Standard Edition One |
Standard Edition |
Enterprise
Edition |
Опубликовано пн, 08/03/2015 - 17:08 пользователем talifa
Опубликовано чт, 07/30/2015 - 13:40 пользователем talifa
Есть несколько параметров инициализации, которые нужно задать для экземпляра Oracle ASM. Вы можете установить эти параметры с Oracle ASM Ассистент конфигурирования (ASMCA). Вы также можете установить некоторые параметры после создания базы данных с помощью диспетчера или SQL ALTER SYSTEM Oracle Enterprise или ALTER SESSION заявления.
Опубликовано чт, 07/30/2015 - 12:32 пользователем talifa
Тема неновая, относится к «бородатым» новым фичам Oracle 11g, однако, технология хорошо работающая и, что важно, позволяющая при определённых условиях, существенно экономить ресурсы сервера RDBMS
Далее привожу результаты успешного практического применения кэша результатов запроса для ресурсоёмкого частовыполняемого (т.е. выполняющегося чаще, чем обновляются данные) запроса, оптимизировать который другим методом было бы объективно непросто — встречаются запросы, которые просто обязаны много читать :)
Практическая часть
Опубликовано пн, 07/27/2015 - 16:28 пользователем talifa
Для оптимизации доступа к данным из запросов SQL, рекомендует соответствующий набор материализованных представлений и журналы, индексы и партиции.
- может рекомендовать партиционирование если таблица как минимум 10 000 строк
- может рекомендовать партиционирование при условии если таблица имеет предикаты и джоины на колоннах типа числа или даты
а тюнер creation of new indexes, restructuring of the SQL statements, or creation of SQL Profiles.
Опубликовано пн, 07/27/2015 - 12:26 пользователем talifa
ASMCMD утилита была введена в Oracle 10g и предлагает некоторые основные возможности для навигации, поиска, мониторинга и управления, для полного описания смотрите документацию здесь .
В Oracle 11gR1 ASMCMD функциональность была расширена, чтобы включить возможность резервного копирования существующих групп дисков метаданных среди других новых функций 11g, для полной информации сослаться на документы здесь .
Опубликовано пн, 07/27/2015 - 12:20 пользователем talifa
Каждый год и цветет
И отцветает миндаль...
Миллиарды людей
На планете успели истлеть...
Что о мертвых жалеть нам!
Мне мертвых нисколько не жаль!
Пожалейте меня!
Мне еще предстоит умереть!
1929
Опубликовано пт, 07/24/2015 - 17:56 пользователем talifa
Вопрос:Как можно решить проблемы, связанные с неверно заданной кодовой страницей?
Ответ:
Изменение DATABASE CHARSET
Перекодировки данных здесь не происходит, изменяется только пометка для Oracle. Вы должны точно представлять в какой кодировке ваши данные находятся.
Прежде, чем использовать этот метод проверьте, присутствует ли необходимая вам кодировка в списке допустимых :
SQL> select value from V$NLS_VALID_VALUES
where parameter='CHARACTERSET'
and (value like 'RU%' or value like 'CL%')
VALUE
CL8ISO8859P5
RU8PC866
Опубликовано пт, 07/24/2015 - 17:25 пользователем talifa
Cписок блокированных объектов Вывести список блокированных объектов с указанием идентификатора сессии, пользователя, блокирующего объект, схему-владельца и объект, типа объекта и типа блокировки.
select lo.session_id , lo.oracle_username locker , lo.os_user_name,o.owner||'.'||o.object_name object , o.object_type ,
DECODE(lo.locked_mode, 1, 'No Lock', 2, 'Row Share', 3, 'Row Exclusive', 4, 'Shared Table', 5, 'Shared Row Exclusive', 6, 'Exclusive') locked_mode
from v$locked_object lo, dba_objects o where lo.object_id=o.object_id;
Опубликовано пт, 07/24/2015 - 17:02 пользователем talifa
Automatic SQL Tuning, Oracle 11g автоматически запускаем SQL Tuning Advisor against
Шаги:
Статистика AWR используются для компиляции упорядоченный список SQL запросов с наибольшим влиянием на производительность в системе, где большое воздействие затрат CPU и времени ввода / вывода за последнюю неделю. Выкидываются уже настроенные или не настраеваемые запросы и запросы SQL, производительность которых проблемы вызваны проблем параллелизма.
SQL tuning advisor запускается на каждый запрос.Результат может включать в себя как профили SQL и других рекомендаций.
Опубликовано пт, 07/24/2015 - 14:55 пользователем talifa
Опубликовано пт, 07/24/2015 - 14:02 пользователем talifa
• Flashback Drop обеспечивает защиту при удалении объектов, поскольку можно очень быстро и легко восстановить таблицу и связанные с ней компоненты.
• Flashback Query позволяет восстанавливать единовременные копии данных, которые могли быть случайно удалены или изменены
• Flashback Version Queryобеспечивает механизм просмотра изменений, произошедших в БД с течением времени на уровне строк.
• Flashback Transaction Query – обеспечивает механизм просмотра изменений в БД на уровне транзакций.
Опубликовано пт, 07/24/2015 - 10:29 пользователем talifa
In Oracle 11g, RMAN предоставляет новый advisor под названием Data Recovery Advisor (DRA). DRA имеет несколько новых команд, чтобы помочь администраторам баз данных для выполнения задачи восстановления.
Чтобы вывести список failures баз данных, вы можете выдать команду:
Опубликовано вт, 07/21/2015 - 14:46 пользователем talifa
Наверное, не все знают, что для postgresql существует большое количество расширений, которые называются contrib модулями.
Опубликовано пн, 07/13/2015 - 14:55 пользователем talifa
How to solve ORA-19606: Cannot copy or restore to snapshot control file error:
----------------------------------------------------------------------------------
Опубликовано пт, 07/10/2015 - 15:26 пользователем talifa
Задача: переименовать ошибочные названия партиций.
Необходимо установить VALUES LESS THAN на +1 месяц выше, либо изменить название партиции на -1 месяц меньше, только партиции при этом должны оставаться в наличии с 01.01.2012 года по 01.01.2016, т.е. с P20120101 до P20160101.
Например:
-- на данный момент
PARTITION p20120801 VALUES LESS THAN (TO_DATE('01-08-2012', 'DD-MM-YYYY')),
-- необходимо изменить на
PARTITION p20120801 VALUES LESS THAN (TO_DATE('01-09-2012', 'DD-MM-YYYY')),
Опубликовано вт, 07/07/2015 - 17:34 пользователем talifa
Где это все лежит
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/app/oracle/product/11.2.0/db_1/dbs/arch
Oldest online log sequence 748
Next log sequence to archive 752
Current log sequence 752
находим самый ранний
SQL> select min(RESETLOGS_TIME) from v$archived_log;
07-APR-14
удаляем
Опубликовано пн, 07/06/2015 - 18:30 пользователем talifa
полезно лично мне
большой пакет со статистикой
ping -w 5 -s 65507 10.0.8.29
PING 10.0.8.29 (10.0.8.29) 65507(65535) bytes of data.
65515 bytes from 10.0.8.29: icmp_seq=1 ttl=254 time=1.30 ms
65515 bytes from 10.0.8.29: icmp_seq=2 ttl=254 time=0.881 ms
65515 bytes from 10.0.8.29: icmp_seq=3 ttl=254 time=0.825 ms
65515 bytes from 10.0.8.29: icmp_seq=4 ttl=254 time=0.768 ms
65515 bytes from 10.0.8.29: icmp_seq=5 ttl=254 time=0.850 ms
Опубликовано пт, 07/03/2015 - 12:53 пользователем talifa
перед включением трассировки - необходимо включить сбор временной статистики, иначе трассировочные файлы будут появляться с нулевыми временами. делается это так:
alter system set timed_statistics=true
если трассировка включается в текущей сессии, тогда эта команда выглядит так:
alter session set timed_statistics=true
также необходимо убедиться,что параметр max_dump_file_size, ограничивающий размер трассировочного файла выставлен в достаточно большое значение.
SQL> select value from v$parameter p
2 where name='max_dump_file_size'
3 /
Опубликовано чт, 07/02/2015 - 10:32 пользователем talifa
Объект DIRECTORY может потребоваться для работы пакета UTL_FILE или иных PL/SQL процедур и функций, которым требуется создание или чтение файлов операционной системы.
Опубликовано ср, 07/01/2015 - 18:25 пользователем talifa
Производительность любого приложения базы данных в большой степени опирается на выполнение им запросов. Хотя оптимизатор Oracle идеально подходит для оценки наилучшего возможного плана без какого-либо вмешательства пользователя, план выполнения SQL-оператора может неожиданно измениться по множеству причин, включая повторный сбор статистики оптимизатора, изменение параметров оптимизатора или определений схемы и/или метаданных.
Опубликовано пн, 06/29/2015 - 15:32 пользователем talifa
Oracle Database - Enterprise Edition - Version 10.2.0.1 to 11.1.0.6 [Release 10.2 to 11.1]
Information in this document applies to any platform.
***Checked for relevance on 17-Nov-2011***
SYMPTOMS
When running a statement that involves a GROUP BY operation, the following error is raised:
ORA-00600: internal error code, arguments: [32695], [hash aggregation can't be done], [], [],
If we look in the trace file, under Call Stack Trace section, we see the functions:
Опубликовано пт, 06/26/2015 - 15:49 пользователем talifa
предлагаю четыре варианта под разные случаи
1. Вариант EXPLAIN PLAN.
Опубликовано чт, 06/25/2015 - 16:17 пользователем talifa
СУБД PostgreSQL в разных операционных системах имеет практически идентичную структуру каталогов. В данной статье рассматривается стандартная структура каталогов для ОС Ubuntu 12.04.
По умолчанию PostgreSQL устанавливается в папку /var/lib/postgresql//main. Основной каталог СУБД содержит подкаталоги с пользовательскими данными и служебной информацией.
postmaster.opts - файл, в котором сдержится командная строка с параметрами, с помощью которой была запущена СУБД.
На моем компьютере в этом файле хранится следующая строка
Опубликовано чт, 06/25/2015 - 14:50 пользователем talifa
Запускаем версию 9.3
[postgres@bi-6 ~]$ /usr/local/pgsql/bin/pg_ctl -D /u02/pg -l logfile start
server starting
Опубликовано ср, 06/24/2015 - 16:40 пользователем talifa
я так обновлял:
sudo pg_createcluster --locale ru_RU.utf8 9.2 main
sudo -u postgres -i
mkdir upgrade
cd upgrade/
/usr/lib/postgresql/9.2/bin/pg_upgrade -c -k -b /usr/lib/postgresql/9.0/bin -B /usr/lib/postgresql/9.2/bin -d ../9.0/main/ -D ../9.2/main/ -o " -c config_file=/etc/postgresql/9.0/main/postgresql.conf " -O " -c config_file=/etc/postgresql/9.2/main/postgresql.conf "
это только check (проверка) если всё ок проходит, то убираем ключ -c и делаем реальный upgrade
Опубликовано ср, 06/24/2015 - 15:19 пользователем talifa
В ОС Linux понятие открытие порта немного звучит некорректно. Можно, конечно закрыть сначала все соединения и потом открыть порт Linux, который необходим.
Но это задача для опытных пользователей. Операционная система и установленные программы используют множество портов для своей работы, обновлений и т.д. При таком подходе можно просто заработать много проблем.
Опубликовано ср, 06/24/2015 - 15:18 пользователем talifa
осле настройки сетевых служб важно обратить внимание на порты, принимающие подключения на сетевых интерфейсах. Любые открытые порты могут быть доказательством вторжения.
Опубликовано пн, 06/22/2015 - 15:04 пользователем talifa
Смотрим что имеем
cat /etc/*-release
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Инсталируем PostgreSQL 9.4 Repository
rpm -Uvh http://yum.postgresql.org/9.4/redhat/rhel-5-i386/pgdg-redhat94-9.4-1.noarch.rpm
Опубликовано пт, 06/19/2015 - 14:55 пользователем talifa
Можно узнать к какому типу относится ОС:
Опубликовано ср, 06/17/2015 - 14:52 пользователем talifa
Достаточно часто администраторы БД Oracle недооценивают возможности Shared server при большом количестве соединений. Ниже будет на примере базы Супермага рассмотрена настройка Shared сервера, но суть подойдет и для других баз Oracle. Итак, Супермаг, собака такая, даже на простое подключение к БД тратит минимум 3 сессии, что в сумме дает целый ворох простаивающих, но выделенных процессов на сервере, пожирающих достаточное количество оперативки. Маленький ликбез, хоть он и описан уже на миллионе сайтов: Oracle позволяет организовать два типа подключений.
Опубликовано вт, 06/16/2015 - 17:45 пользователем talifa
только метданные некоторых схем
expdp system METADATA_ONLY chemas=DWHMOS,ODI_MREP,ODI_WREP,BO31REP,ODI_D,SRV2,APLLO,BO31REP2,OUTLN,TEST_APLLO,BO31AUDIT,FLOWS_FILES,DBFMOS,TRACKER,ORDPLUGINS,ODI_R,ODI_WREP_2,SRV,SI_INFORMTN_SCHEMA,OWB,DWH
directory=DP_DIR dumpfile=dit1.dmp logfile=dit1.log
часто используемый
[oracle@dit-prod ~]$ expdp system tables=DWHMOS.TMP_EMIAS_APRWORK,DWHMOS.TMP_EMIAS_APSTO directory=DP_DIR dumpfile=tmp_emias.dmp logfile=tmp_emias.log
Опубликовано пн, 06/15/2015 - 11:45 пользователем talifa
grant select on V_$SQL to SSDR_SOURCE;
grant select on V_$SQL_PLAN to SSDR_SOURCE;
grant select on V$SQL_BIND_CAPTURE to SSDR_SOURCE;
Создадим таблицы для хранения полезной информации для анализа:
-- таблица для хранение информации из V$SQL по интересным для нас обьектам
CREATE TABLE monitoring_index_usage_table as
SELECT *
FROM v$sql s
WHERE s.hash_value IN
(SELECT v.hash_value FROM v$sql_plan v WHERE v.object_name = 'I#SA$DISTR_STOCK#SP_ST_DT_MT');
-- Add/modify columns
-- Add/modify columns
Опубликовано вт, 06/09/2015 - 17:21 пользователем talifa
Задача:
На железнодорожных станциях A, B и C имеются билетные кассы, в которых пассажир может купить билет на любой участок маршрута с любой станции: как на весь маршрут, так и на любой из его отрезков. Компьютеры во всех билетных кассах соединены локальной сетью, которая ненадежна и может давать сбои. Кроме того, компьютер каждой станции соединен локальной сетью с платежной системой. Оплатить билет пассажир может только с помощью карты этой системы. Вы участвуете в разработке ряда компонентов системы, предназначенной для бронирования билетов.
Опубликовано пн, 06/08/2015 - 18:26 пользователем talifa
ALTER TABLE DROP PARTITION UPDATE GLOBAL INDEXES;
добываем все таблицы с партициями
select TABLE_NAME,PARTITIONED
from all_tables
where owner='BILLING7' and PARTITIONED!='NO'
BM_ACTION_LOG YES DAILY_BACKUP YES BM_CDR_ACCT YES BM_CDR_FILE YES BM_APERIODIC_ACCT YES BM_PERIODIC_ACCT YES RADACCT YES BM_SERVICE_MONEY YES
или все пучком
Опубликовано ср, 05/27/2015 - 13:55 пользователем talifa
Просмотреть ново созданную таблицу можно воспользовавшись командой \d
, которая выведет содержимое таблицы . Эта же
команда без параметров приведет к выводу на терминал названий всех
таблиц в базе данных (аналог "show tables;" в MySQL).
Помимо "\d" среда Postgres предоставляет и другие не SQL команды.
Рассмотрим их:
Опубликовано ср, 05/27/2015 - 11:16 пользователем talifa
Многие разговоры про бэкапы начинаются с присказки что люди делятся на две категории… так вот я отношусь к тем людям которые делают бэкапы. Правильно настроенное резервное копирование и проверка резервных копий укрепляет сон. А наличие заранее написаных и проигранных инструкций по восстановлению вообще укрепляет пищеварение и иммунитет. Так вот, за время работы с PostgreSQL мне довелось часто настраивать резервное копирование, при этом условия и требования были самые разные. Однако при этом набор инструментов за редким исключением оставался неизменным.
Опубликовано вт, 05/26/2015 - 13:52 пользователем talifa
Стоп - старт 9.4.4
/usr/pgsql-9.4/bin/pg_ctl -D /u02/pg4 stop
/usr/pgsql-9.4/bin/pg_ctl -D /u02/pg4 start
pwd
/usr/local/pgsql/bin
/usr/local/pgsql/bin/pg_ctl -D /u02/pg start
/usr/local/pgsql/bin/pg_ctl -D /u02/pg stop
Name
pg_ctl -- start, stop, or restart a PostgreSQL server
Synopsis
Опубликовано пт, 05/22/2015 - 12:18 пользователем talifa
Задача: реализовать самую простую систему логирования пользователей. Она будет следить за изменениями в таблице пользователей и при изменениях добавлять текстовые акшены в таблицу логов.
Так как задача простая, то я не буду приводить рабочие таблицы со всеми полями. Для примера возьмем максимально простые (расширить всегда можно, главное смысл понять):
-- Таблица пользователей
CREATE TABLE users
(
"name" text
)
Опубликовано ср, 05/20/2015 - 15:51 пользователем talifa
Индексы используются только для ускорения операций
Результат выполнения запроса не зависит от использования индексов
Индексы не всегда ускоряют операции
Для ускорения полнотекстового поиска можно использовать два индекса - на основе GiST [GIST] или GIN [GIN].
Опубликовано ср, 05/20/2015 - 05:53 пользователем talifa
Быть знаменитым некрасиво.
Не это подымает ввысь.
Не надо заводить архива,
Над рукописями трястись.
Цель творчества - самоотдача,
А не шумиха, не успех.
Позорно, ничего не знача,
Быть притчей на устах у всех.
Но надо жить без самозванства,
Так жить, чтобы в конце концов
Привлечь к себе любовь пространства,
Услышать будущего зов.
И надо оставлять пробелы
В судьбе, а не среди бумаг,
Места и главы жизни целой
Отчеркивая на полях.
Опубликовано пн, 05/18/2015 - 18:57 пользователем talifa
Введение
Данная статья содержит материалы, посвященные написанию на C функций
для PostgreSQL - оказывается, делать это довольно легко, ну а бонусов
вы получаете существенно больше, чем если бы вы писали всю ту же
логику на процедурных языках. Скомпиленные в shared object функции
затем можно будет загрузить в PostgreSQL и использовать по своему
усмотрению как SQL команды, например.
Опубликовано чт, 05/14/2015 - 17:33 пользователем talifa
Опубликовано ср, 05/13/2015 - 15:21 пользователем talifa
Введение
Полнотекстовый поиск (Full Text Search, FTS) - это не новая технология. Самые ранние патенты, связанные с поиском документов по заданной теме, были зарегистрированы в 1963 году, более чем 45 лет назад. Эти патенты включают "CONTENT ADDRESSABLE MEMORY APPARATUS" (US Pat. 3290659 - зарег. 30.12.1963), "SCAN CONTROL, AND NORMALIZATION FOR A CHARACTER RECOGNITION SYSTEM" (US Pat. 3295105 - зарег. 27.08.1964) и "INFORMATION RETRIEVAL SYSTEM AND METHOD" (US Pat. RE26429 - зарег. 08.12.1964).
Опубликовано чт, 04/09/2015 - 14:59 пользователем talifa
Схемы в postgresql это несколько иное понятие, чем в oracle. Понятие пользователь и схема несколько разнесены.
Когда мы создаем в postgresql базу - мы создаем кластер баз.
./postmaster -i -D /u02/pgsdata >logfile 2>&1 &
/usr/local/pgsql/bin/initdb -D /u02/pg --locale=ru_RU.UTF-8
потом создаем базу в кластере
/usr/local/pgsql/bin/createdb test
цепляемся к ней
/usr/local/pgsql/bin/psql -d test
Опубликовано вт, 04/07/2015 - 15:36 пользователем talifa
Восстановление на контрольную точку:
Для просмотра контрольной точки до которой необходимо произвести восстановление :
RMAN> LIST BACKUP OF ARCHIVELOG ALL;
List of Archived Logs in backup set 4
Thrd Seq Low SCN Low Time Next SCN Next Time
---- ------- ---------- --------- ---------- ---------
1 142 1559239 07-NOV-11 1559289 07-NOV-11
Перед восстановлением монтируем БД:
SQL> alter database mount;
Опубликовано пн, 04/06/2015 - 14:09 пользователем talifa
CREATE TYPE complex AS (
r double precision,
i double precision
);
CREATE TYPE inventory_item AS (
name text,
supplier_id integer,
price numeric
);
CREATE TABLE on_hand (
item inventory_item,
count integer
);
INSERT INTO on_hand VALUES (ROW('fuzzy dice', 42, 1.99), 1000);
Опубликовано ср, 04/01/2015 - 17:39 пользователем talifa
ORACLE в оперативной памяти держит 2 больших структуры памяти:
Опубликовано вт, 03/31/2015 - 12:15 пользователем talifa
Привлекает внимание волнение компании Oracle, которые проявляет озабоченность по поводу возможности наиболее жадных (смотри экономных) адептов перейти на бесплатный продукт типа postgresql. А компания Oracle так просто озабочиваться ничем не будет. Значит чуют достойного конкурента. Изучим как этот вопрос поподробнее.
Марк Ривкин из Oracle просит не спешить с миграцией на PostgreSQL. Слева направо: Владимир Захаров («Ланит»), Владимир Рубанов («НТЦ ИТ РОСА»), Марк Ривкин, Александр Жижкин («Иновентика технолоджес») и Олег Бартунов (Postgres Professional)
Опубликовано чт, 03/26/2015 - 17:24 пользователем talifa
при хеш-индексе, ты просто берешь искомое значение, строишь от него хеш (которое должно быть меньше по-колву чем возможный диапазон) и полученное значение задает смещение от начала до списка значений с таким же хешем..
Опубликовано чт, 03/26/2015 - 17:00 пользователем talifa
window function выполняет вычисления над списком строк в таблице, которые как-то относятся к текущей строке. Это сравнимо с типом вычислений, которые могут быть выполнены с помощью какой-либо агрегатной функции. Но в отличие от обычных агрегатных функций, использование оконной функции не заставляет строки группироваться в одну; строки сохраняют свои отдельные значения. Другими словами, оконная функция позволяет получить доступ более чем только к текущей строке результата запроса.
Опубликовано чт, 03/26/2015 - 16:50 пользователем talifa
Статья разбита на следующие параграфы:
Немного теории
Общее понятие
Классификация функций
Конструкция секционирования
Конструкция упорядочения
Конструкция окна
Окна диапазона
Окна строк
Небольшие важные замечания
Немного примеров
Перечень функций из книги Тома Кайта
Аналитические функции используют общий синтаксис и предоставляют специфические возможности.
Чтобы понять принцип написания аналитических функций, необходимо понять
как секционировать данные
как упорядочивать данные
Опубликовано ср, 03/25/2015 - 10:37 пользователем talifa
full_backup.sh
#!/bin/bash
## prepare variables
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export PATH=/u01/app/oracle/product/11.2.0/db_1/bin:$PATH
export ORACLE_SID=hd
export NLS_DATE_FORMAT='dd.mm.yyyy hh24:mi:ss'
CONN=/
SCRIPT_DIR=`dirname $0`
if [ "$SCRIPT_DIR" = "." ]; then
SCRIPT_DIR=`pwd`
fi
SCRIPT_FILE=`basename $0 | cut -f1 -d'.'`
echo script-file=$SCRIPT_FILE
RMAN_FILE=$SCRIPT_DIR/$SCRIPT_FILE.rman
Опубликовано вт, 03/24/2015 - 10:12 пользователем talifa
Настройка сервера
В этом разделе описаны рекомендуемые значения параметров, влияющих на производительность СУБД. Эти параметры обычно устанавливаются в конфигурационном файле postgresql.conf и влияют на все базы в текущей установке.
Используемая память
Общий буфер сервера: shared_buffers
PostgreSQL не читает данные напрямую с диска и не пишет их сразу на диск. Данные загружаются в общий буфер сервера, находящийся в разделяемой памяти, серверные процессы читают и пишут блоки в этом буфере, а затем уже изменения сбрасываются на диск.
Опубликовано пн, 03/23/2015 - 18:37 пользователем talifa
Убедимся что запущено
[root@bi-6 u02]# ps -fu postgres
UID PID PPID C STIME TTY TIME CMD
postgres 1168 22959 0 18:17 pts/0 00:00:00 /usr/local/pgsql/bin/postgres -D /u02/pg
postgres 1173 1168 0 18:17 ? 00:00:00 postgres: checkpointer process
postgres 1174 1168 0 18:17 ? 00:00:00 postgres: writer process
postgres 1175 1168 0 18:17 ? 00:00:00 postgres: wal writer process
postgres 1176 1168 0 18:17 ? 00:00:00 postgres: autovacuum launcher process
Опубликовано пн, 03/23/2015 - 18:09 пользователем talifa
Возникли вопросы по вставке данных в таблицу. PostgreSQL база не с тем Encoding создана (надо UTF8 а у меня LATIN1).
Смотрим какие БД и с чем созданы
Опубликовано вт, 03/17/2015 - 14:43 пользователем talifa
NOT NULL
Не допускает появление значений NULL в колонке. При insert или update null выйдет ошибка.
UNIQUE
Создание уникального индекса для колонки, при этом можно вставить несколько значений NULL. Если нужно ограничение на несколько колонок (комбинация значений уникальна) - нужно использователь отдельную колонку с указанием UNIQUE и перечислением колонок, по которым ограничение. Добавление ограничения уникальности автоматически создаст уникальный btree индекс на колонку или группу колонок, использующих данное ограничение.
PRIMARY KEY
Опубликовано вт, 03/17/2015 - 12:48 пользователем talifa
PostgreSQL предлагает 4-ре типа индексов: B-tree, Hash, GiST и GIN. Каждый тип индекса имеет свой алгоритм реализации, что позволяет существенно увеличить быстродействие, если для определённого вида данных выборать определённый типа индекса.
PostgreSQL позволяет создавать индексы с использованием выражений, например: CREATE INDEX test1_lower_col1_idx ON test1 (lower(col1));
PostgreSQL позволяет создавать частичные (partial) индексы, используя выражение WHERE, например: CREATE INDEX orders_unbilled_index ON orders (order_nr) WHERE billed IS NOT true;.
Опубликовано пн, 03/16/2015 - 07:29 пользователем talifa
Размер базы данных
Максимальный размер БД Неограничен
Максимальный размер таблицы 32 TB
Максимальный размер записи (строки) в таблице 1.6 TB
Максимальный размер поля в записи (строке) 1 GB
Максимальное количество записей (строк) в таблице не ограничено
Максимальное количество полей (колонок) в таблице 250 - 1600 в зависимости от типа данных в колонке
Максимальное количество индексов на таблицу не ограничено
Опубликовано вс, 03/15/2015 - 16:55 пользователем talifa
Основное понятие в Postgres - это класс, т.е. именованный набор экземпляров объектов. Каждый экземпляр имеет одинаковое множество именованных атрибутов, а каждый атрибут имеет определенный тип. К тому же, каждый экземпляр имеет постоянный идентификатор объекта (OID), который является уникальным во всей установке. Т.к. синтаксис SQL ссылается на таблицы, мы будем использовать термины таблица и класс как взаимозаменяемые. Также, SQL строка - это экземпляр и SQL колонки - это атрибуты.
Опубликовано сб, 03/14/2015 - 13:33 пользователем talifa
Откуда все взялось.
Генеалогическое дерево PostgreSQL начинается в 1977 году в Калифорнии в университете Беркли. Реляционная база данных Ingres разрабатывалась там с 1977 по 1985 год. В 1986 году она вышла на коммерческий рынок от компании Relation Technologies / Ingres Corporation, сейчас она живет и здравствует под названием CA-INGRES II владелец компания Computer Associates.
Опубликовано пт, 03/13/2015 - 17:53 пользователем talifa
SELECT * FROM information_schema.tables WHERE table_type='BASE TABLE' and ...
Опубликовано пт, 03/13/2015 - 14:02 пользователем talifa
Ora2Pg использование
По определению исполняемый файл дежит тут /usr/local/bin/ora2pg или тут /usr/bin/ora2pg.
Файл с конфигурацией /etc/ora2pg/ora2pg.conf
По идее исполняемый файл можно просто запустить и он сам найдет файл конфигурации, но хорошо бы посмотреть что там наконфигурировалось по умолчанию и поправить.
Что я и сделала.
Если вы хотите вызвать другой конфигурационный файл, то укажите его с ключом -с.
/usr/local/bin/ora2pg -c /etc/ora2pg/new_ora2pg.conf
Опубликовано чт, 03/12/2015 - 17:45 пользователем talifa
Опубликовано ср, 03/11/2015 - 13:41 пользователем talifa
PostgreSQL является объектно-реляционной системой управления базами данных (ОРСУБД) на основе POSTGRES, версия 4.2, разработанной в Университете Калифорнии в Беркли департаменте компьютерных наук.
PostgreSQL является open source потомком оригинального кода Berkeley. Он поддерживает большую часть стандарта SQL и предлагает множество современных функций:
Cложные запросы
Внешние ключи
Триггеры
Представление
Транзакционная целостность (transactional integrity)
Управление конкурентным доступом с помощью многоверсионности
Опубликовано ср, 03/11/2015 - 13:39 пользователем talifa
Опубликовано вт, 02/24/2015 - 15:00 пользователем talifa
select sid,serial#,pid from v$session where sid=280
begin
sys.dbms_system.set_ev(280, 48459, 10046, 12, '');
end;
\
SELECT s.SID, s.SERIAL#,p.spid, p.pid
FROM V$SESSION S, V$PROCESS p
WHERE s.sid=280 and
(
s.STATUS = 'ACTIVE'
) AND ( (s.USERNAME is not null) and (NVL(s.osuser,'x') <> 'SYSTEM') and (s.type <> 'BACKGROUND') )
and (p.addr(+)=s.paddr)
order by "SID" ASC
Опубликовано ср, 02/18/2015 - 15:37 пользователем talifa
сколько логов переключается в час
Опубликовано ср, 02/18/2015 - 05:44 пользователем talifa
select * from v$statname q, v$sesstat v where q.name='redo size' and v.STATISTIC#=q.STATISTIC# and v.VALUE>0 order by v.VALUE desc
Покажет сессии, которые больше всего сгенерили логов с момента своего возникновения.
Опубликовано вт, 02/03/2015 - 14:41 пользователем talifa
Закрепи SGA в памяти через HugePages.
Увеличиваешь SGA до скольки тебе надо. Проверяешь, что вышло через ipcs -m (там в байтах).
Проверяешь, какого размера страницы - grep Huge /proc/meminfo (тут вкилобайтах)
Далее поделить значение из ipcs -m на Hugepagesize (не забыть про разный масштаб), к полученному добавить несколько десятков единиц, и установить в vm.nr_hugepages (через sysctl.conf).
Проверить limits.conf на предмет ограничения memlock для оракла.
Опубликовано вт, 01/27/2015 - 13:41 пользователем talifa
select
name,
decode(unit,'bytes',round((value/1024/1024),2),value) AS VALUE,
decode(unit,'bytes','MB',unit) as unit
from v$pgastat;
SQL> select name,decode(unit,'bytes',round((value/1024/1024),2),value) AS VALUE,decode(unit,'bytes','MB',unit) as unit from v$pgastat;
Опубликовано пт, 01/23/2015 - 09:34 пользователем talifa
Если достаточно просто понять для чего Supplemental Logging нужен, то вопросы об условном и обязательном журналировании, объеме дополнительно генерируемого потока журнальных данных и другие более тонкие технические вопросы всегда вызывают дополнительные вопросы.
Кроме того, еще и сам Oracle не так глубоко описывает это влияние, а если и описывает то в разных местах документации. Теоретическую информацию о Supplemental Logging еще можно найти в блогах и на металинке, но с практической информацией все сложно.
Опубликовано ср, 01/21/2015 - 12:46 пользователем talifa
оздание резервной копии и восстановление метаданных
Многие люди считают ASM базой данных со своей собственной памятью. Это не совсем так – ASM не хранит данные; их хранит база данных. Однако экземпляр ASM хранит метаданные, такие как имена дисковых групп; диски, входящие в них; директории и т.д. Эти метаданные хранятся в заголовках дисков.
Опубликовано ср, 01/21/2015 - 11:40 пользователем talifa
Flashback Data archive is one of the Oracle 11g feature (Oracle Total Recall).
A flashback data archive это логический контейнер для хранения исторической информации. Хранится в одном или более тейблспейсе и хранит историю одной или более таблиц.
Retention Period :
Администратор создает flashback data archive с именем fla1, which uses up to unlimited of the tablespace and whose data will be retained for one years. If you want to set up your database so that information in the fla1 is automatically deleted, the day after 1 years is complete.
Опубликовано ср, 01/21/2015 - 11:14 пользователем talifa
В Oracle Database 11g функциональность Flashback Data Archive (архивирование ретроспективных данных) совмещает лучшее из двух миров: простоту и мощь ретроспективных запросов, которые не зависят от скоротечной памяти типа undo (отката). Это потому, что Flashback Data Archive записывает изменения в место более длительного хранения, в область Flashback Recovery Area.
Опубликовано пн, 01/19/2015 - 17:54 пользователем talifa
Вывести все значения поля salary на протяжении какого-то периода времени.
SELECT salary
FROM employees3
VERSIONS BETWEEN SCN MINVALUE AND MAXVALUE
WHERE employee_id=107;
Узнать время, когда произошло изменение данных
SELECT versions_starttime "START_DATE", versions_endtime "END_DATE" , salary
FROM employess
VERSIONS BETWEEN SCN NIMVALUE AND MAXVALUE
WHERE last_name = 'Lorentz';
Опубликовано пн, 01/19/2015 - 17:46 пользователем talifa
В Oracle есть интересная возможность - извлекать данные по состоянию на заданное время в прошлом.
Эта технология называется Flashback Query. Давайте рассмотрим пример.
--создаем тестовую таблицу
create table tTest
(
id number,
value varchar2(100)
);
--вставляем строку:
insert into tTest(id,value) values(1,'oldValue');
commit;
--смотрим, что получилось:
select * from tTest;
--вот, что в таблице:
Id Value
1 oldValue
Опубликовано пн, 01/19/2015 - 15:30 пользователем talifa
Опубликовано ср, 01/14/2015 - 16:36 пользователем talifa
SQL> STARTUP;
ORACLE instance started.
Total System Global Area 2.1379E+10 bytes
Fixed Size 2185160 bytes
Variable Size 1.0133E+10 bytes
Database Buffers 1.1207E+10 bytes
Redo Buffers 36151296 bytes
Database mounted.
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-01578: ORACLE data block corrupted (file # 3, block # 240)
ORA-01110: data file 3: 'G:\APP\ORACLE\ORADATA\ORUSX2\UNDOTBS01.DBF'
При попыке пересоздать
Опубликовано пн, 01/12/2015 - 17:34 пользователем talifa
Бекапы могут храниться как backup set (по умолчанию) и image copies:
backup set - данные хранятся в формате понятном только для RMAN. В Backup set состоит из Backup piece, каждый из которых может представлять из себя копию файла данных или копию управляющего файла, или копию архивлогов.
image copies - отличаются от копий, создаваемых, например с помощью команды cp, лишь тем, что информация о них заносится в управляющий файл или каталог восстановления.
Команда:
RMAN> BACKUP AS BACKUPSET DATABASE;
Создаст резернвую копию как backup set
Опубликовано ср, 12/24/2014 - 16:48 пользователем talifa
Теория
Итак, журнальные файлы обычно используются для восстановления экземпляра и восстановления носителя данных. Данные, которые необходимы для этих операций автоматически заносятся в журнальные файлы. Например, перед фиксацией транзакции сначала в журнал пишется информация, необходимая для ее повторения в случае форс-мажорной ситуации (например, выключение электропитания).
Опубликовано ср, 12/24/2014 - 15:56 пользователем talifa
Изменение свойств планов в SMB
Процедура ALTER_SQL_PLAN_BASELINE позволяет устанавливать атрибутам ENABLED, FIXED и AUTOPURGE плана требуемые значения явочным порядком. Пример:
EXECUTE :retcode := DBMS_SPM.ALTER_SQL_PLAN_BASELINE -
( :sqlhandle, 'SYS_SQL_PLAN_38c100c08916fd8c', 'enabled', 'no' )
SELECT :retcode "Plans disabled:" FROM dual;
@baseline :sqlhandle
Опубликовано вт, 12/23/2014 - 14:27 пользователем talifa
Опубликовано пн, 12/22/2014 - 15:40 пользователем talifa
create table a as select * from v$instance;
insert into a select * from v$instance;
commit;
insert into a select * from v$instance;
commit;
insert into a select * from v$instance;
commit;
SELECT to_char(START_SCN),to_char(START_TIMESTAMP,'dd-mm-yyyy mi:hh24'), to_char(COMMIT_SCN),to_char(COMMIT_TIMESTAMP,'dd-mm-yyyy mi:hh24'),
OPERATION FROM flashback_transaction_query where TABLE_NAME='A' order by 4;
Опубликовано пн, 12/22/2014 - 12:20 пользователем talifa
Возможности AWR
Можно разделить статистические данные собираемые AWR на два больших класса:
Опубликовано ср, 12/17/2014 - 16:15 пользователем talifa
Опубликовано чт, 12/04/2014 - 14:17 пользователем talifa
SQLNET.INBOUND_CONNECT_TIMEOUT появилась начиная с версии 9i.Определяется в sqlnet.ora и определяет в секундах сколько по времени клиент будет ждать коннект с базой и идентификацию.
Если в сети большие задержки и клиент не может установить соединение и аутентификацию в срок, то сервер БД терменирует попытку коннекта и пишет в журнал sqlnet.log сообщение про таймаут ORA-12170: TNS:Connect timeout occurred.
Сам клиент получает сообщение ORA-12547: TNS:lost contact или ORA-12637: Packet receive failed error message. IНачиная с 10g ORA-3136 может появляться в alert.log.
Опубликовано вт, 10/21/2014 - 18:37 пользователем talifa
FlashBack бывает полезен, когда нужно откатить изменения или посмотреть предыдущее состояние объектов в базе данных. Как следствие растет нагрузка на сервер, т.к. приходится хранить дополнительную информацию.
$ sqlplus / as sysdba
SQL> shutdown immediate;
SQL> startup mount exclusive;
SQL> alter database flashback on;
SQL> alter database open;
SQL> select flashback_on from v$database;
FLASHBACK_ON ------------------ YES
Опубликовано пт, 10/17/2014 - 10:14 пользователем talifa
CREATE OR REPLACE FUNCTION LONG_TO_CHAR
( in_table_name varchar,
in_column varchar2,
in_column_name varchar2,
in_tab_name varchar2)
RETURN varchar AS
text_c1 varchar2(32767);
sql_cur varchar2(32767);
begin
sql_cur := 'select '||in_column||' from '||in_table_name||' where ' ||in_column_name ||' = '|| in_tab_name ;
dbms_output.put_line (sql_cur);
execute immediate sql_cur into text_c1;
text_c1 := substr(text_c1, 1, 2000);
Опубликовано вт, 10/07/2014 - 15:08 пользователем talifa
ctive Standby :
PRIMARY DB- APEX
STANDBY DB- APEXDG
Now you can bring up the standby database in read-only mode and continue to have the standby database updated from the primary. Here are the steps to achieve that:
1. Stop the managed recovery process on STANDBY database :
In APEXDG ( Standby database )
SQL > alter database recover managed standby database cancel;
Database altered.
2. Open the APEXDG – standby database as read-only:
SQL > alter database open read only;
Database altered.
Опубликовано пн, 09/29/2014 - 11:25 пользователем talifa
Находим максимальное значение и тащим от него, таблицы работают только на вставку
CREATE OR REPLACE PROCEDURE BILLING7.sync_append
IS
i number := 0;
sql_del varchar(5000);
sql_text varchar(5000);
begin
sql_text :='select max(RADACCTID) i from billing7.RADACCT where trunc(ACCTSTARTTIME,''mm'')= TO_DATE(''2014-06-01'', ''YYYY-MM-DD'')';
execute immediate sql_text into i;
Опубликовано пн, 09/29/2014 - 10:58 пользователем talifa
Без рассмотрения контекста, в котором используется индекс, проанализируем некоторые величины, чтобы оценить состояние конкретного индекса.
1. INDEX_STATS
Опубликовано пт, 09/26/2014 - 12:14 пользователем talifa
Основные команды: создание и удаление групп, элементов групп, очистка файлов, выполнение контрольной точки, переключение журналов.
ALTER DATABASE ADD LOGFILE GROUP NN (‘C:\ORACLE\ORADATA\MY_DB\REDO1.LOG’, ‘C:\ORACLE\ORADATA\MY_DB\REDO2.LOG’) SIZE 100M; - создание группы оперативных журналов
ALTER DATABASE ADD LOGFILE MEMBER ‘C:\ORACLE\ORADATA\MY_DB\REDO3.LOG’ TO GROUP NN; - для добавления в существующую группу
Опубликовано пн, 09/08/2014 - 17:17 пользователем talifa
Опубликовано пн, 09/08/2014 - 17:15 пользователем talifa
Описание технологии
Для того чтобы четко определить функциональность используемых рабочих областей в операционной системе Solaris их гипотетически разделили на два основных типа: project(проекты) и task(задачи). Проекты представляют собой совокупность распределенных по сети задач, а сами задачи включают в себя рабочие процессы.
Опубликовано пт, 08/29/2014 - 12:27 пользователем talifa
В Oracle 11 по умолчанию профиль устанавливает всякие лимиты. Например.
ORA-28002: дата действия пароля истечет в течение 6 дней
смотрим под каким профилем ходит проблемным пользователем. заодно и остальных глянем.
select username, profile from dba_users;
select * from dba_profiles where resource_name like '%PASS%' order by 1;
ALTER PROFILE DEFAULT LIMIT password_grace_time UNLIMITED;
ALTER PROFILE DEFAULT LIMIT password_life_time UNLIMITED;
Опубликовано пт, 08/22/2014 - 11:55 пользователем talifa
Getting this error,
RMAN-00571: ======================================================
RMAN-00569: ========= ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: =====================================================
RMAN-03009: failure of backup command on ch02 channel at 10/08/2012 18:18:35
ORA-19566: exceeded limit of 0 corrupt blocks for file /testdb/dev/oradata/test13.dbf
Get the file id of the above file using
select file_id from dba_data_files where file_name=’/testdb/dev/oradata/test13.dbf’;
File_id
——
16
Опубликовано вт, 08/19/2014 - 13:49 пользователем talifa
Копировать с одного сервера на другой, можно между 2 другими
scp database.tar oracle@192.168.3.7:/u01/distrib
Краткая памятка по работе с архиваторами (программами управления файловыми архивами) из консоли в Linux.
Работа с TAR
в настоящее время tar используется для хранения нескольких файлов внутри одного файла, для распространения программного обеспечения, а также по прямому назначению — для создания архива файловой системы.
Например чтобы запаковать текущую папку в tar-архив напишем где foo.tar имя которое будет присвоено полученному архиву, а "./" указание папки
Опубликовано вт, 07/29/2014 - 15:45 пользователем talifa
Перед импортом устанавливает нужную кодировку, куда будем грузить
select value from nls_database_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';
nls_lang=AMERICAN_AMERICA.AL32UTF8
NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251
export nls_lang=AMERICAN_AMERICA.CL8MSWIN1251
Создаем каталог
CREATE OR REPLACE DIRECTORY NOVARTIS_DIR AS '/oraupload/novartis';
GRANT READ, WRITE ON DIRECTORY SYS.NOVARTIS_DIR TO NOVADWH WITH GRANT OPTION;
GRANT READ, WRITE ON DIRECTORY SYS.NOVARTIS_DIR TO SYSTEM WITH GRANT OPTION;
Опубликовано ср, 07/16/2014 - 15:28 пользователем talifa
FRA - Fast Recovery Area - область на диске для бекапов и архивных журналов
RMAN - Recovery Manager (утилита для резервного копирования и восстановление данных)
В большинстве случаев, рекомендуется настроить работу базы данных в режиме работы ARCHIVELOG.
ARCHIVELOGи и BACKUPы хранятся в FRA, необходимо, чтобы база данных имела возможность записи данных в эту область, иначе возникнет ошибка и база перестанет принимать команды пользователей. Поэтому, по мере заполенения FRA, необходимо ее очищать (исключительно средствами RMAN).
Посмотреть данные FRA:
Опубликовано пт, 07/04/2014 - 10:15 пользователем talifa
Сессии к базе данных Oracle
Список:
Посмотреть текущие сессии к базе данных
Найти блокирующую сессию
Убить сессию
Убийство всех сессий к одной схеме
Посмотреть текущие сессии к базе данных
Опубликовано пт, 07/04/2014 - 10:03 пользователем talifa
Irina Fast (23:56) :
сервер на солярке
оракл 11
билинг
висит не коннектися нормально
teo (23:57) :
на пинги отвечает?
Irina Fast (23:57) :
я зашла рутом много оракловых процессо и все висят
teo (23:57) :
ссх войти можешь?
Irina Fast (23:57) :
рман убила, убила несколько больших запросов
teo (23:57) :
а что в алерт логе?
Irina Fast (23:59) :
Fatal NI connect error 12170.
Опубликовано чт, 07/03/2014 - 17:32 пользователем talifa
I knew in Oracle 11g with Automatic Memory Management (AMM), the database was able to give unused memory back to the OS, controlled by MEMORY_TARGET and MEMORY_MAX_TARGET.
This mechanism is present in 11g since day 1 (in 2007), but I never actually played with it.
MEMORY_TARGET and MEMORY_MAX_TARGET
The Oracle documents state the following:
MEMORY_TARGET specifies the Oracle system-wide usable memory.
MEMORY_MAX_TARGET (…) decide on a maximum amount of memory that you would want to allocate to the database for the foreseeable future.
Опубликовано ср, 06/25/2014 - 11:51 пользователем talifa
select table_name, max(sys_connect_by_path (column_name, ',' )) scbp from (select table_name, column_name, row_number() over
(partition by table_name order by column_name) rn from SYS.DBA_CONS_COLUMNS )
start with rn = 1
connect by prior rn = rn-1
and prior table_name = table_name
group by table_name
order by table_name
Опубликовано чт, 06/19/2014 - 18:41 пользователем talifa
#!/bin/ksh
#============================================================================
# File: oramem.sh
# Type: UNIX korn-shell script
# Author: Tim Gorman (Sagelogix Inc.)
# Date: 28jun02
#
# Description:
#
# This shell script utilizes the "pmap -x" command to total up the
# total amount of virtual memory used by all of the Oracle server
# processes (both "background" and "foreground") belonging to a
# database instance.
#
# Modifications:
# TGorman 28jun02 written for Solaris 2.8
Опубликовано пн, 06/02/2014 - 16:46 пользователем talifa
Опубликовано пт, 05/30/2014 - 12:09 пользователем talifa
Question: I need be able to sign-on with my end-users accounts to test the functionality of their application. I know that I can change their password, sign-on, do my testing, and then expire their password, but I don't want to unnecessarily force them my users to change their passwords. How can I extract a user password, save it, and then restore it after I have completed user testing?
Answer: A smart DBA always remembers that their customers are the end-users, and it's an Oracle best practice to be unobtrusive as possible.
Опубликовано пт, 05/23/2014 - 15:47 пользователем talifa
Перед установкой
Необходимо проверить, что прослушиватель БД (listener) настроен.
Экземпляр Oracle должен быть сконфигурирован c XML DB. Если изначально это не было сделано, добавить XML DB можно с помощью утилиты Database Configuration Assistant (dbca).
Остановить все сервисы oracle (listener и пр.). Экземпляр БД (instance) при этом остается запущенным.
Загрузка последней версии Oracle Application Express
Опубликовано пн, 05/12/2014 - 17:17 пользователем talifa
taskmgr диспетчер задач из командной строки
1. Tasklist : This command is similar to “ps” command on Linux and is used to see the details of the programs and processes that are running in Windows. Tasklist can be applied to see how much memory and CPU time running processes are using, what DLL files they rely on, and other information. Thus it can be a very useful troubleshooting tool.trans WindowsXP: Using the Command prompt to see and kill processes
Опубликовано пн, 04/28/2014 - 18:02 пользователем talifa
Nested loop - (сильно грубое описание) Пробегаем по таблице 1 и для каждой строки из нее смотрим какие строки из таблицы 2 ей подходят.
Обычно очень быстро дает первые строки результата (если конечно таблица 2 не гигантская, а единственная строка из первой таблицы, которая попадет в результат - последняя). Еще алгоритм, практически не требует дополнительной памяти для промежуточной работы и индекс во второй таблице может сильно помочь.
Опубликовано вт, 04/22/2014 - 10:39 пользователем talifa
Переход на новую версию Oracle то есть upgrade присходит 3 способами:
start upgrade
ставить другой новый нужный cофт с другом новом нужном хоуме
export ORACLE_HOME=новый хоум
open with upgrade option
upgrade database в скрипте $ORACLE_HOME/rdbms/admin/catupgrd.sql
shutdown
startup
скрипт $ORACLE_HOME/rdbms/admin/utlrp.sql для починки инвалидов
Опубликовано чт, 04/03/2014 - 13:45 пользователем talifa
Стартуем с spfile специально сделанном на продакшн и подправленом в разумных пределах.
Опубликовано вт, 04/01/2014 - 13:53 пользователем talifa
export TZ=Etc/GMT+3
export TZ=Europe/Moscow
env | grep TZ
emctl resetTZ agent
...
This can be done for example by logging into sqlplus and doing at emdb
SQL> exec mgmt_target.set_agent_tzrgn('xxx:3872','Etc/GMT+3')
SQL> commit
unset TZ
Опубликовано вт, 04/01/2014 - 13:47 пользователем talifa
Мы остро нуждаемся в DBID всякий раз, когда мы потеряли все файлы базы данных, или всякий раз, когда нам нужно восстановить SPFile или управления файл.
После разного рода исследований нашли несколько способов узнать эту штуку и ниже приводится несколько путей получения DBID.
V$DATABASE
Если база данных открыта или смонтирована, запрос V$database с удовольствием снабдит вас DBID, а заодно и кучей другой полезной информации.
Если база данных лежит, но у вас есть control file тогда вы можете смонтировать базу и опять же спросить V$DATABASE.
Опубликовано вт, 04/01/2014 - 12:54 пользователем talifa
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
SET UNTIL SEQUENCE 34427 THREAD 1;
restore controlfile from '/qnap/vinny_backup/bm7_rman/cntrl_BM7_14896_1_20140401';
set dbid=3096235568;
alter database mount;
CATALOG START WITH '/qnap/vinny_backup/bm7_rman';
restore database;
release channel c4;
release channel c3;
release channel c2;
release channel c1;
}
Опубликовано вт, 04/01/2014 - 12:36 пользователем talifa
Опубликовано пн, 03/31/2014 - 15:26 пользователем talifa
Primary Site
Archive the current online redo log
ALTER SYSTEM ARCHIVE LOG CURRENT;
Send the ARCH files to the standby site
Standby Site
Опубликовано пт, 03/28/2014 - 16:06 пользователем talifa
Восстанавливать старый контролфайл можно:
restore controlfile from 'path/filename'
restore until time ... controlfile from autobackup
restore controlfile from autobackup maxdays 100
Все ты попробовал и у тебя везде 6172 (хотя при выводе от 2 и 3 у тебя должны были быть показаны правильные данные, за какой день файл ищется)
Осталось прочитать вторую часть ошибки (признайся -- тащил через FTP в ASCII режиме )
Опубликовано ср, 03/19/2014 - 15:11 пользователем talifa
Опубликовано вт, 03/18/2014 - 17:23 пользователем talifa
ALTER DISKGROUP ALL MOUNT;
ALTER DISKGROUP FRA MOUNT;
SQL> alter system set asm_diskstring = '/dev/rdsk/*';
System altered.
SQL> select substr(name,1,10) name,substr(path,1,50) path, REDUNDANCY, TOTAL_MB, free_mb from V$ASM_DISK;
Опубликовано вт, 03/18/2014 - 14:58 пользователем talifa
RAID (англ. redundant array of independent disks — избыточный массив независимых жёстких дисков) — массив из нескольких дисков, управляемых контроллером, взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. В зависимости от типа используемого массива может обеспечивать различные степени отказоустойчивости и быстродействия. Служит для повышения надёжности хранения данных и/или для повышения скорости чтения/записи информации (RAID 0).
Опубликовано ср, 03/12/2014 - 17:34 пользователем talifa
Контрольные файлы
Для переноса или переименования контрольников нужно
1.изменить параметр control_files с помощью команды ALTER SYSTEM,
2. остановить базу
3. перенести файлы физически
4. открыть номоунт базу
5. переименовывать файлы .
4. запустить базу.
Смотрим где лежат контрольные файлы в вьюшке V$CONTROLFILE.
SQL> select name from v$controlfile;
Опубликовано пт, 01/31/2014 - 19:04 пользователем talifa
Удалить символ # в файле и записать в другой файл
cat output_insert.sql | sed 's/#//g' > out.sql
Удалить строки содержащие шаблон и записать в другой файл
cat output_insert.sql | sed '/aabxvwaanaaar6rabh/d' > out.sql
Пространство между строками:
Двойное пространство между строками:
sed G
Двойное пространство между строками исключая пустые строки (на
выходе содержаться не больше одной пустой строки между двумя
строками с текстом):
sed '/^$/d;G'
Опубликовано пт, 01/31/2014 - 18:52 пользователем talifa
find /mnt/flstor/oracle/navgt/rman -mtime +2 -type f -print | sed 's/mnt\/flstor\/oracle/u01\/oradata\/bkup/g;' | while read f; do if [[ -e "$f" ]]; then ls -l $f; fi; done
find /mnt/flstor/oracle/ibso/rman/ -mtime +2 -type f -print | sed 's/mnt\/flstor\/oracle/u02\/oradata\/bkup/g;' | while read f; do if [[ -e "$f" ]]; then ls -l $f; fi; done
Опубликовано ср, 01/15/2014 - 16:55 пользователем talifa
Неужели не я, освещенный тремя фонарями,
Столько лет в темноте по осколкам бежал пустырями,
И сиянье небес у подъемного крана клубилось?
Неужели не я? Что-то здесь навсегда изменилось.
Кто-то новый царит, безымянный, прекрасный, всесильный.
Над отчизной горит, разливается свет темно-синий,
А в глазах у борзых мельтешат фонари - по цветочку,
Кто-то вечно идет возле новых домов в одиночку.
Опубликовано пн, 01/13/2014 - 14:22 пользователем talifa
1. Приложение:
1.1. Плохо написанный SQL
1.2. Распределение ресурсов
1.3. Плохое управление сессией
2. Настройка инстанса
2.1. Память
2.2. Структура базы данных
2.3. Конфигурация инстанса
3. Операционная система
3.1. Ввод-вывод
3.2. Своп
3.3. Параметры
Опубликовано пн, 12/30/2013 - 17:07 пользователем talifa
Размер и свободное место табличных пространств
SELECT a.tablespace_name, "Free, MB", "Total, MB" FROM
(SELECT tablespace_name, ROUND(SUM(bytes)/1024/1024) AS "Total, MB" FROM dba_data_files GROUP BY tablespace_name
UNION
SELECT tablespace_name, ROUND(SUM(bytes)/1024/1024) AS "Total, MB" FROM dba_temp_files GROUP BY tablespace_name) a,
(SELECT tablespace_name, ROUND(SUM(bytes)/1024/1024) AS "Free, MB" FROM dba_free_space GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name (+)
ORDER BY a.tablespace_name;
Опубликовано пн, 12/23/2013 - 17:07 пользователем talifa
1. SGA
1.1. Database Buffer Cache
1.1.1. Write List
1.1.2. Least Recent Used (LRU) List
1.1.2.1. Pinned buffers
1.1.2.2. Clean buffers
1.1.2.3. Free buffers или Unused
1.1.2.4. Dirty buffers
1.2. Redo Log Buffer
1.3. Shared Pool
1.3.1. Library Cache
1.3.1.1. Shared SQL Area
1.3.1.2. Private SQL Area (Shared Server Only)
1.3.2. Data Dictionary Cache
1.3.3. Server Result Cache
1.3.4. Other
1.3.5. Reserved Pool
1.4. Larger Pool
1.4.1. Response Queue
1.4.2. Request Queue
Опубликовано пн, 12/23/2013 - 17:03 пользователем talifa
Опубликовано пн, 12/23/2013 - 15:22 пользователем talifa
spfile
SGA allocated
background proccesses
control file is read
redo log files are opend
datafile headers are checked for consistency
instance recovery is started (if abort)
Опубликовано ср, 12/18/2013 - 14:15 пользователем talifa
0-ой уровень - это фул бекап(то есть тот, который содержит все блоки с данными(10-ка)) при этом поддерживается возможность инкрементального бекапирования.
1-ый уровень - это бекап который содержит блоки данных, которые были изменены со времени последнего инкрементального бекапа 0 уровня (это если вы делаете комулятивный)
или предыдущего(по времени) бекапа 1-го уровня(это если у вас дифференциальный)....
Опубликовано ср, 12/18/2013 - 13:49 пользователем talifa
connect - create session, alter session, create synonym, create view, create database link, create table, create cluster and create sequence
resource - create table , create cluster, create sequence, create trigger create procedure, create type, create indextype and create operator
dba - все с опцией DBA
delete_catalog_role, execute_catalog_role, select_catalog_role Accessing data dictionary views (v$ views and static dictionary views)
Опубликовано чт, 12/12/2013 - 18:29 пользователем talifa
Select * from DBA_users u where U.USERNAME = :OneObjectName order by username
Опубликовано чт, 12/12/2013 - 14:49 пользователем talifa
BACKUP_DIR=C:\ORA_BACKUP\NOVADWH
RMAN_FILE=D:\oracle\rman\cold_backup.rman
Recovery Manager: Release 10.2.0.4.0 - Production on Thu Dec 12 06:30:00 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: NOVADWH (DBID=2113033022)
using target database control file instead of recovery catalog
RMAN> # Cold Backup NOVADWH
2> shutdown immediate;
3> startup nomount;
4> sql 'alter database mount';
5> allocate channel for maintenance type disk;
6> crosscheck backup;
Опубликовано ср, 12/11/2013 - 16:39 пользователем talifa
Смотрим хвост чего-нибудь
@echo off
cd "\Users\bipartners"
(
echo LLCMN:
echo.
tail.exe -10 D:\oracle\admin\scripts\backup_llcmn\hot_backup.log
echo.
echo LLCPRMN:
echo.
tail.exe -10 D:\oracle\admin\scripts\backup_llcprmn\hot_backup.log
) > tails.log
start notepad tails.log
смотрим логи
@start notepad D:\oracle\admin\scripts\backup_llcmn\hot_backup.log
@start notepad D:\oracle\admin\scripts\backup_llcprmn\hot_backup.log
Горячий бекап в архивлоге база
Опубликовано вт, 12/10/2013 - 12:23 пользователем talifa
Профиль (profile) – это поименованный набор ограничений на использование вычислительных ресурсов. Аналогия профиля – это роль. Заметьте, что роль – это набор привилегий (разрешений), а профиль – набор ограничений (запрещений). Самое важное отличие это то, что одному пользователю может быть назначен только один профиль (ролей может быть назначено сколько угодно).
Если не назначить явно никакого профиля, то будет назначен специальный профиль "по-умолчанию" (DEFAULT).
Опубликовано пт, 12/06/2013 - 17:24 пользователем talifa
SQL> startup
ORACLE instance started.
Опубликовано пт, 11/29/2013 - 16:41 пользователем talifa
Размер занимаемого таблицей табличного пространства можно посмотреть в представлении dba_extents с помощью следующего запроса:
SELECT owner, segment_name, segment_type,tablespace_name,
ROUND(SUM (BYTES) / 1024 / 1024) "SIZE (MB)",
SUM (blocks) blocks, COUNT (*) extents
FROM dba_extents
WHERE owner = ‘HR’ AND segment_name = 'EMPLOYEES'
AND segment_type = ‘TABLE’
GROUP BY owner, segment_name, segment_type, tablespace_name
Размер таблицы так же можно посмотреть и в представлении dba_extents:
Опубликовано чт, 11/28/2013 - 18:58 пользователем talifa
■ UNION Returns the combined rows from two queries, sorting them and removing duplicates.
■ UNION ALL Returns the combined rows from two queries without sorting or removing duplicates.
■ INTERSECT Returns only the rows that occur in both queries’ result sets, sorting them and removing duplicates.
■ MINUS Returns only the rows in the first result set that do not appear in the second result set, sorting them and removing duplicates.
Опубликовано ср, 11/27/2013 - 18:41 пользователем talifa
SET DEFINE OFF - избежать запроса по амперсанту
SET DEFINE ON - соответственно разрешить
SET PAGESIZE 0 Сбрасывает всю информацию о форматировании страницы - заголовки столбцов, титулы, начальную пустую строку, разрыв страницы и т.п.
SET HEADING OFF Отключает изображение заголовков столбцов
SET FEEDBACK OFF Отключает вывод на экран строк возвращаемых запросом
SET VERIFY OFF Отключает вывод на экран текста SQL-команд до и после замены SQL*Plus формальных переменных их значениями
Опубликовано ср, 11/27/2013 - 16:45 пользователем talifa
The Data Manipulation Language (DML) commands:
■ SELECT
■ INSERT
■ UPDATE
■ DELETE
■ MERGE
The Data Definition Language (DDL) commands:
■ CREATE
■ ALTER
■ DROP
■ RENAME
■ TRUNCATE
■ COMMENT
The Data Control Language (DCL) commands:
■ GRANT
■ REVOKE
The Transaction Control Language (TCL) commands:
■ COMMIT
■ ROLLBACK
■ SAVEPOINT
Опубликовано вт, 11/26/2013 - 19:26 пользователем talifa
Ограничения, накладываемые на предложение HAVING те же, что и ограничения для запросов с группировкой, но есть ряд дополнений.
Опубликовано вт, 11/26/2013 - 13:46 пользователем talifa
ORDER BY [ABS | DESC] [NULLS FIRST| LAST]
order by сортировка в прямом порядке NULL внизу
order by desc сортировка в обратном порядке NULL вверху
order by desc nulls last сортировка в обратном порядке NULL внизу
сортировки чувствительны к регистру
Опубликовано пт, 11/15/2013 - 16:58 пользователем talifa
System privileges to users and roles.
Roles to users and roles. Both privileges and roles are either local, global, or external.
Object privileges for a particular object to users, roles, and PUBLIC.
To grant a system privilege, you must either have been granted the system privilege with the ADMIN OPTION or have been granted the GRANT ANY PRIVILEGE system privilege.
To grant a role, you must either have been granted the role with the ADMIN OPTION or have been granted the GRANT ANY ROLE system privilege, or you must have created the role.
Опубликовано пт, 11/15/2013 - 16:40 пользователем talifa
Вопрос: а зачем это вот такое вот файлы *.aud и почему по 15 штук в минуту. Есть ли в них смысл.
Аудит является функцией по умолчанию на сервере Oracle. Параметры инициализации , влияющие на его поведение можно отобразить с помощьюSHOW ПАРАМЕТР SQL * Plus команды.
select * from v$parameter where name like '%audit%'
или
SQL> SHOW PARAMETER AUDIT
SQL> SHOW PARAMETER AUDIT
Опубликовано пт, 11/15/2013 - 14:26 пользователем talifa
Сеть является неотъемлемой частью клиент-серверной архитектуры, что является основой для всех современных реляционных баз. База данных имела потенциал для клиент-серверных вычислений с первой версии 1978 года, когда было сделано разделение между серверным и пользовательским кодом. Но только с 4 версии в 1984 году представил взаимодействие между ПК и сервером. Нормальная клиент-серверная технология появилась в 5 версии в 1986 году. Эта глава посвящена Oracle NET сервисам.
Опубликовано ср, 11/06/2013 - 13:16 пользователем talifa
Универсальный инсталлятор Oracle OUI проверяет основные параметры сервера, необходимые для нормальной работы oracle перед тем как запуститься. Эти параметры для разных платформ записаны в таком специальном файле.
• /install/oraparam.ini (Unix)
• \install\oraparam.ini (Windows)
Опубликовано вт, 11/05/2013 - 15:57 пользователем talifa
Тут об этом же другими словами. Исторически сложилось, что управление программным обеспечением oracle, установленным на сервере может стать сложной задачей. Потому что DBA ответственен за установку и нормальную работу софта. Можно поставить один продукт, второй, третий и нормально, а четвертый нарушит работу первых трех. Проблема несовместимости заключалась в использовании базы библиотек, которая обеспечивает средства которые являются общими для всех продуктов. Например, все оракловые продукты используют Oracle Net коммуникационный протокол.
Опубликовано вт, 10/29/2013 - 14:49 пользователем talifa
Oracle экземпляры бывают 3-х видов: Real Application Clusters (RAC), Streams или Dataguard
Как понять что перед тобой.
1. соединяемся с базой как SYSTEM или SYS.
2. Определяем, является ли экземпляр частью RAC :
select parallel from v$instance;
Если вохвращается NO , то нет, не кластер.
3. Определяем, защищена ли база от потерь стендбаем:
select protection_level from v$database;
Вернулось MAXIMUM PERFORMANCE есть стендбай или она сама стендбай. Вернулось UNPROTECTED значит Dataguard не про нее.
4. То же про стрим:
Опубликовано пн, 10/28/2013 - 13:15 пользователем talifa
Сжатие с помощью Gzip и Zip
Сжатые файлы занимают меньше места на диске и загружаются из сети быстрее, чем большие, несжатые файлы. Вы можете сжать файлы Linux свободно распространяемыми утилитами сжатия Gzip или Zip, такой формат распознаётся большинством операционных систем. По умолчанию, сжатые файлы получают расширение .gz. Команда Gzip создаёт сжатый файл с расширением .gz; Gunzip извлекает сжатые файлы и удаляет файл .gz.
Чтобы сжать файл, в приглашении оболочки введите следующая команду:
gzip filename.ext
Опубликовано пт, 10/25/2013 - 19:20 пользователем talifa
Опубликовано ср, 10/23/2013 - 18:01 пользователем talifa
Итак, вы поняли, что без офиса в интернете сейчас вести реальный бизнес невозможно. Или есть желание создать интернет-бизнес. Или у вас есть веб-ресурс, но нужно мобильное приложение, которое увеличит посещаемость в 2-3 раза. Или вы хотите просто громко и красиво заявить о себе . Не важно. Важно, что вы на верном пути и вам нужно интернет-агенство.
Бриф
Опубликовано ср, 10/23/2013 - 11:44 пользователем talifa
В жизни каждого пользователя Linux наступает момент, когда в ответ на команду "umount /mnt/cdrom/" выдается безжалостное "umount: /mnt/cdrom: device is busy". После этого начинается изнурительная (особенно в случае сильно загруженной системы) процедура убиения процессов "по одному" с целью найти источник блокировки. Однако, проблему можно решить более изящным способом...
Виктор Костромин (kos AT rus-linux.net)
Опубликовано вт, 10/22/2013 - 17:10 пользователем talifa
О программе установки Инвентаризация Oracle Universal
Тут об этом же другими словами
Oracle Universal Installer инвентори хранит информацию обо всех программных продуктах Oracle установлены во всех домах Oracle на хост, если продукт был установлен с использованием Oracle Universal Installer.
Инвентаризация информация хранится в Extensible Markup Language (XML) формат.Формате XML облегчает диагностику проблем и быстрой загрузки данных.
Структура программы установки Инвентаризация Oracle Universal
Опубликовано пт, 10/18/2013 - 18:20 пользователем talifa
Онлайн-инструменты позволяют распознать текст или символы с любого изображения (сканированный документ, многостраничные документы TIFF и PDF, цифровая фотография или просто картинка в формате JPG, BMP, PNG и др.) и конвертировать полученный текст в форматы: PDF, Word, Excel, HTML, RTF, TXT.
* - некоторые из представленных онлайн-инструментов имеют ограниченные возможности.
Бесплатные онлайн-инструменты, распознающие текст на русском языке:
Опубликовано чт, 10/17/2013 - 17:24 пользователем talifa
cd /bin
emctl stop agent
cd /Opatch
opatch lsinventory -detail
например так еще
opatch lsinventory -detail | grep Net
Если инвентори не там где надо, то совершенно ничего не видно. Как посмотреть в этом случае - не знаю. Кто знает - не таите.
О, как я поздно понял,
Зачем я существую,
Зачем гоняет сердце
По жилам кровь живую,
И что, порой, напрасно
Давал страстям улечься,
И что нельзя беречься,
И что нельзя беречься...
Опубликовано пн, 10/14/2013 - 12:04 пользователем talifa
погасить сервис
oradim -SHUTDOWN -SID VAK -SHUTTYPE srvc -SHUTMODE normal
создать сервис
oradim -NEW -SID VAK -SRVC OracleServicevak -STARTMODE auto -SRVCSTART system -PFILE C:\app\admin\vak\pfile\initvak.ora
удалить сервис
oradim -DELETE -SRVC OracleServicevak
Опубликовано вс, 10/13/2013 - 01:40 пользователем talifa
SELECT /* + RULE */ df.tablespace_name "Tablespace",
df.bytes / (1024 * 1024) "Size (MB)",
SUM(fs.bytes) / (1024 * 1024) "Free (MB)",
Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) "% Free",
Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used"
FROM dba_free_space fs,
(SELECT tablespace_name,SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,df.bytes
UNION ALL
Опубликовано пт, 10/11/2013 - 14:03 пользователем talifa
Here is a script that will display the contents of the TEMP tablespace.
set pagesize 60 linesize 132 verify off
break on file_id skip 1
column file_id heading "File|Id"
column tablespace_name for a15
column object for a15
column owner for a15
column MBytes for 999,999
Опубликовано чт, 10/10/2013 - 16:07 пользователем talifa
Создала пустую базу с sid=vak
Пересоздала файл паролей
Перенесла все отстатки от старой базы:
файлы базы данных:
C:\app\oradata\vak\SYSAUX01.DBF
C:\app\oradata\vak\SYSTEM01.DBF
C:\app\oradata\vak\UNDOTBS01.DBF
C:\app\oradata\vak\USERS01.DBF
C:\app\oradata\vak\VAK_DATA.DBF
логи:
C:\app\oradata\vak\REDO01.LOG
C:\app\oradata\vak\REDO02.LOG
C:\app\oradata\vak\REDO03.LOG
контрол файлы:
c:\app\oradata\vak\control01.ctl
c:\app\flash_recovery_area\vak\control02.ctl
Опубликовано ср, 10/09/2013 - 17:23 пользователем talifa
recover database until cancel
recover database until time '2004-03-21:22:59:04'
recover database until change 123456
recover datafile 'filename' until cancel
recover datafile 'filename' until time '2004-03-21:22:59:04'
recover datafile 'filename' until change 123456
recover tablespace ts_name until cancel
recover tablespace ts_name until time '2004-03-21:22:59:04'
recover tablespace ts_name until change 123456
recover database using backup controlfile
Опубликовано вт, 10/08/2013 - 14:04 пользователем talifa
Подключение к Oracle с правами SYSDBA и с правами обычного пользователя имеет коренные отличия.
Опубликовано пт, 10/04/2013 - 18:44 пользователем talifa
Изучение архитектуры Oracle
Опубликовано пт, 10/04/2013 - 13:49 пользователем talifa
Определение функции
Функция-это программа, написанная чтобы принимать входные параметры, если это необходимо, выполнять операции и возвращать одиночное значение. Функция возвращает только одно значение за одно выполнение.
Есть 3 важные составляющие определения функции.
1. Список входных параметров. Это может быть ноль или более аргументов, которые могут передаваться функции в качестве входных данных для обработки. Эти аргументы или параметры могут быть различающихся типов данных, некоторые являются обязательными, а другие могут быть необязательными.
Опубликовано ср, 10/02/2013 - 17:46 пользователем talifa
desc v$instance_recovery
desc v$mttr_target_advice
а именно TARGET_MTTR, ESTIMATED_MTTR
Путем анализа по этим полям выявить необходимое значение FAST_START_MTTR_TARGET
Параметр устанавливает желаемое максимальное время восстановления после сбоя экземпляра (MTTR – Mean Time To Recover). Желаемое время задается в секундах от 0 до 3600, причем значение 0 запрещает этот механизм.
Опубликовано ср, 10/02/2013 - 15:40 пользователем talifa
Для каждого разработчика рано или поздно встаёт задача создание формы для сайта, как минимум это форма обратной связи или создание больших форм,- как например составление ТЗ сайта. С такими задачами в Drupal легко справляется модуль Webform, скачать его можно вот отсюда, а как с ним работать я сейчас продемонстрирую.
Опубликовано вт, 10/01/2013 - 17:08 пользователем talifa
На standby.
0. создать точную физическую структуру каталогов, что и на primary. ОС и архитектура не должны отличаться.
1. Создать Listener на стендбай следующего содержания и после создания перезапустить:
# listener.ora Network Configuration File: /u01/app/oracle/product/11.1.0/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = STANDBY.DOMAIN.LAN)
(ORACLE_HOME = /u01/app/oracle/product/11.1.0)
(SID_NAME = STANDBY)
))
# lsnrctl reload
Опубликовано пт, 09/27/2013 - 15:55 пользователем talifa
к фоновым процессам относятся следующие:
SMON - PMON
DBWR
LGWR
Dnnn
ARCH
CKPT
RECO
SPNn
LCKn
Pnnn
Snnn
Так же есть процессы User и Server выполняющие обработку транзакций, конечного пользователя БД. Рассмотрим их, более подробно.
Опубликовано пт, 09/27/2013 - 14:49 пользователем talifa
Те, кому часто приходится поднимать сайты на Drupal, имеют в загашнике постоянный набор модулей и тем, которые так или иначе могут использоваться на поднимаемом ресурсе.
При отсутствии данного набора приходится вспоминать и скачивать модули для воплощения на сайте того или иного функционала.
Поскольку актуальной на данный момент версией является седьмая, о ней и пойдёт речь.
Администрирование
Опубликовано чт, 09/26/2013 - 16:54 пользователем talifa
NVL2(a,b,c) == if 'a' is not null then return 'b' else return 'c'.
Examples
SELECT nvl2(ename, 'Do have a name', 'No Name') FROM emp;
Опубликовано пн, 09/23/2013 - 14:02 пользователем talifa
По разным, не всегда зависящим от ДБА причинам, могут исчезнуть логи с основной базы. Поэтому, когда возникает такая ситуация, выходящая за рамки понимания, почему архив журнала(ы) пропали без вести, откинем в негодовании вопрос "Кто виноват?" сосредоточим внимание на вопросе "Что делать?".
Первое - это устраним коренную причину этого.
Далее, существуют 3 варианта устранения проблемы:
- Восстановить пропавший архив журнала из резервной копии на сервере-источнике.
Опубликовано пн, 09/23/2013 - 12:43 пользователем talifa
Anyone who has done time on the “tech frontline” knows that there are occasions in production systems when the unexpected transpires. Whether such events are of human origin, for example, accidentally deleting a file or setting an overly agressive retention policy, or otherwise (corruptions and disk failures), these threaten to compromise the integrity of the system(s) you are responsible for.
Опубликовано пт, 09/20/2013 - 14:12 пользователем talifa
Это составная часть SGA
Используется для быстрого доступа к данным
Использует LRU алгоритм, для того чтобы лишаться непопулярных данных
Содержит внутренние структуры: Default buffer pool, Keep buffer pool и Recycle buffer pool
Параметром DB_CACHE_SIZE устанавливается размер
Опубликовано чт, 09/19/2013 - 17:05 пользователем talifa
1 select
2 to_char(trunc(completion_time), 'dd-mm') "Date",
3 count(completion_time) "Count",
4 to_char(min(completion_time-prev_time)*24*60, '99999,990.99') "Min",
5 to_char(avg(completion_time-prev_time)*24*60, '99,990.99') "Mid",
6 to_char(max(completion_time-prev_time)*24*60, '99,990.99') "Max"
7 from (select completion_time,
8 lag(completion_time) over (order by completion_time) prev_time
9 from v$archived_log
10 where dest_id=1
Опубликовано пт, 09/13/2013 - 16:49 пользователем talifa
Oracle, осознавая чудовищную сложность в управлении одним из флагманских продуктов, пытается повернуться к пользователю лицом. Странно, но или лицо у корпорации такое загадочное или это всё-таки какая-то другая часть тела.
Появилась в новой версии (10g) такая возможность, как ASMM (Automatic Shared Memory Management) и APMM (Automatic PGA Memory Management). Согласно рекламе выставил пару параметров и забыл про управление памятью вручную. Но это реклама. В жизни всё не так безоблачно.
Работает ASMM так:
Когда так много позади
Всего, в особенности - горя,
Поддержки чьей-нибудь не жди,
Сядь в поезд, высадись у моря.
Оно обширнее. Оно
И глубже. Это превосходство -
Не слишком радостное. Но
Уж если чувствовать сиротство,
то лучше в тех местах, чей вид
волнует, нежели язвит.
Опубликовано пт, 09/06/2013 - 15:36 пользователем talifa
В этом документе речь идет лишь о переходе с физической бд на резервную. PRIM первичная БД и STAN - резервная.
Перед Переключением:
1. Рекомендовано протестирвовать переход на тестовых, а потом лезть к рабочим БД .
2. Проверить, что PRIM открыта, а STAN смонтирована
3. Убедитесь в отсутствии активных пользователей, подключенных к базам данных.
4. Убедитесь в том, последний лог из PRIM был применен в резервной базе данных.
Выполните следующие команды на Основной базе данных и резервной базы данных, чтобы узнать:
Опубликовано чт, 09/05/2013 - 16:09 пользователем talifa
ping– send ICMP (ICMP6) ECHO_REQUEST packets to network hosts
Synopsis
/usr/sbin/ping host [timeout]
/usr/sbin/ping -s [-l | -U] [-adlLnrRv] [-A addr_family]
[-c traffic_class] [-g gateway [-g gateway...]] [-F flow_label]
[-I interval] [-i interface] [-P tos] [-p port] [-t ttl]
host [data_size] [npackets]
Description
...может – глотая слезы, ты расстаешься с морем?
Скоро мы соль морскую в душе столичном смоем!
Съездим к друзьям на дачу – 20 минут в электричке,
съездим к друзьям – подарим миг ожидания птички...
...там на семейном фото, под санаторной пальмой,
где на переднем плане виден газон двуспальный,
все-таки не хватает хрестоматийных сосен...
Место, куда мы летим, называется ОСЕНЬ.
Опубликовано вт, 09/03/2013 - 15:48 пользователем talifa
Coalesce is an SQL function that returns the first expression that is NOT NULL.
Examples
SELECT COALESCE(NULL, '2', '5') FROM dual;
SELECT 'Dear '||COALESCE(preferred_name, first_name, 'Sir or Madam')
FROM emp2;
Опубликовано вт, 09/03/2013 - 15:46 пользователем talifa
Nullif is an SQL function that returns a NULL value if both parameters are equal in value. If not, the first value will be returned.
This function is mostly provided for compatibility with other database systems (like SQL Server) and not frequently used in the Oracle world.
Examples
This query will return NULL:
SELECT NULLIF(ename, ename) FROM emp;
This query will return 1:
SELECT NULLIF(1, 2) FROM dual;
The following query will return NULL if the bind variable 'b' is zero-valued, otherwise it will return the inverse of b:
Опубликовано чт, 08/22/2013 - 10:22 пользователем talifa
ttitle left 'Display Roles granted to Users and Roles' -
skip 2
set feed off
set pagesize 10000
break on grantee skip 1
column datum new_value datum noprint
column grantee format A27 heading 'User or Role|receiving the Grant'
column granted_role format A30 heading 'Granted|Role'
column default_role format A10 heading 'Default|Role'
column admin_option format A10 heading 'Admin|Option'
Опубликовано вт, 08/20/2013 - 19:42 пользователем talifa
pscp C:\Distrib\APEX\apex_4.0.2.zip oracle@156.4.128.86:/home/oracle/distrib/apex
Передача файлов осуществляется с помощью утилиты pscp (Putty SCP). Для того чтобы настроить работу pscp из командной строки или файлового менеджера, надо в переменных средах windows в разделе Системные переменные отредактировать переменную path и добавить туда путь до каталога в котором находится pscp. В этом случае мы получим возможность набрав команду pscp в командной строке работать с утилитой pscp.
Опубликовано вт, 08/20/2013 - 14:36 пользователем talifa
если это нормальный линукс - то netstat -nltp
если старый то только netstat -na |grep LISTE
Опубликовано пн, 08/19/2013 - 14:54 пользователем talifa
Перед установкой
Необходимо проверить, что прослушиватель БД (listener) настроен.
Экземпляр Oracle должен быть сконфигурирован c XML DB. Если изначально это не было сделано, добавить XML DB можно с помощью утилиты Database Configuration Assistant (dbca).
Остановить все сервисы oracle (listener и пр.). Экземпляр БД (instance) при этом остается запущенным.
Загрузка последней версии Oracle Application Express
Опубликовано пн, 08/19/2013 - 14:51 пользователем talifa
SQL> select * from dba_objects where owner='XDB' and status='INVALID';
Опубликовано пн, 08/19/2013 - 12:50 пользователем talifa
Download APEX installation archive. Unzip it (Oracle database home seems to be a good location). All scripts are then run from that unzipped apex directory.
Identify or create a tablespace for APEX (or two to separate the framework and applications). I created APEX tablespace.
Install APEX framework schemas in the database — @apexins APEX APEX TEMP /i/.
Reset ADMIN password — @apxchpwd
Next is the trick — remove some security on XDB, which is not a good thing, by the way, but I can live with it on my development box that’s available on localhost only:
Опубликовано пт, 08/16/2013 - 15:14 пользователем talifa
Достаточно часто сталкиваюсь с проблемой, когда расчет ТД не считается, потому, что кто-то забыл закрыть Супермаг. Бывает, что кто-то регулярно кладет базу своими тяжелыми запросами, выбивая мелких создателей карточек и накладных из колеи. Я уже говорил о том, что лучше перевести в shared сервер. Теперь упомяну о том, чем я давно пользуюсь, ставя любителей рукописных поделий на место.
Во-первых, с самого начала надо выставить:
Цитата:
alter system set resource_limit=true scope=both;
Опубликовано чт, 08/15/2013 - 17:28 пользователем talifa
2-1. Создание флэш-области
Выключение параметров log_archive_dest и log_archive_duplex_dest
SQL> alter system set log_archive_duplex_dest = '';
System altered.
SQL> alter system set log_archive_dest = '';
System altered.
Если при изменении параметров выводится ошибка :
Опубликовано чт, 08/15/2013 - 17:25 пользователем talifa
Subject: Performing Switchover in a Data Guard Configuration
Doc ID: Note:232240.1 Type: BULLETIN
Last Revision Date: 10-NOV-2003 Status: PUBLISHED
Overview
---------------
Опубликовано вт, 08/13/2013 - 14:36 пользователем talifa
При запуске ораклового инстанса инициализационные параметры читаются из spfile/pfile файлов, которые формируются при создании БД. Практически все параметры имеют значение по умолчанию, но некоторые необходимо указывать вручную и знать какие из них обязательно необходимы для запуска БД как минимум полезно. Поскольку я всегда работал с однотипными базами писать с нуля pfile не приходилось никогда, но тема довольно интересная и, к тому же, не освещенная официальной документацией.
Опубликовано пт, 08/09/2013 - 16:13 пользователем talifa
SQL> sho parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 86700
undo_tablespace string UNDOTBS1
SQL> select sum(bytes)/1024/1024 from dba_undo_extents;
SUM(BYTES)/1024/1024
--------------------
4199.5
Опубликовано пт, 08/09/2013 - 12:14 пользователем talifa
Если приводить выдержку из документации:
OS_AUTHENT_PREFIX specifies a prefix that Oracle uses to authenticate users attempting to connect to the server. Oracle concatenates the value of this parameter to the beginning of the user's operating system account name and password. When a connection request is attempted, Oracle compares the prefixed username with Oracle usernames in the database.
Итак попробуем:
oracle@v-pc-dev-3:~> sqlplus /
ERROR:
ORA-01017: invalid username/password; logon denied
Опубликовано ср, 08/07/2013 - 12:27 пользователем talifa
Start asmcmd
The ASM Command Line Utility can be started by executing the asmcmd command. Here is a Linux/Unix example:
$ export ORACLE_SID=+ASM
$ cd $ORACLE_HOME/bin
$ asmcmd
ASMCMD> exit
$
The asmcmd utility also provides a useful "-p" option that will display the current path in the prompt. Here is an example:
$ asmcmd -p
ASMCMD [+] > cd FLASH
ASMCMD [+FLASH] >
Asmcmd commands
Some of the more interesting commands are described below -
Getting some help:
ASMCMD> help
Опубликовано пн, 08/05/2013 - 14:11 пользователем talifa
Oracle technology is constantly changing, so don't miss my notes on updates to Oracle PGA behavior. Also see these important notes on over-riding the Oracle PGA defaults.
This is an excerpt on RAM sizing for Oracle from my bestselling book "Oracle Tuning: The Definitive Reference". In this book I have complete coverage of RAM management plus automated scripts for the initial sizing of your SGA and PGA regions.
If you want an automated tool, check-out Ion monitor for Oracle.
Опубликовано пт, 08/02/2013 - 16:42 пользователем talifa
Oracle Linux, formerly known as Oracle Enterprise Linux, is a Red Hat Enterprise Linux-compatible distribution, repackaged and distributed by Oracle, available under the GNU General Public License (GPL) since late 2006. Oracle Linux can be freely downloaded from Oracle’s E-delivery service (edelivery.oracle.com).
I’ll show how to install Oracle Linux 5.6. First you need to download the DVD (or CDs) from edelivery website and burn them. Then insert your Oracle Linux media in your CD/DVD drive and reboot your system (be sure to set your computer to boot from the CD/DVD drive).
Опубликовано чт, 08/01/2013 - 13:43 пользователем talifa
Процессы сервера Oracle Database делятся на три типа:
Фоновые процессы – выполняют служебные функции, стартуют вместе со стартом экземпляра Oracle.
Пользовательские процессы – предназначены для взаимодействия пользователей и Oracle, управляют входным и выходным потоком.
Серверные процессы – запускаются на сервере после подключения клиента, выполняют обработку запросов пользователей.
Опубликовано ср, 07/31/2013 - 16:59 пользователем talifa
Размер базы данных
SELECT round((sum(bytes)/1048576/1024),2) "Total(GB)" FROM V$DATAFILE;
Размер и свободное место в базе данных
SELECT
"RESERVED_SPACE(MB)", "RESERVED_SPACE(MB)" - "FREE_SPACE(MB)" "USED_SPACE(MB)","FREE_SPACE(MB)"
FROM(
SELECT
(SELECT SUM(BYTES/(1014*1024)) FROM DBA_DATA_FILES) "RESERVED_SPACE(MB)",
(SELECT SUM(BYTES/(1024*1024)) FROM DBA_FREE_SPACE) "FREE_SPACE(MB)"
FROM DUAL);
----------- фрагментация
exec dbms_stats.gather_table_stats('HR', 'BIG1');
Опубликовано ср, 07/31/2013 - 16:57 пользователем talifa
alter index NAT_ADMIN.XPR33_CO01ID rebuild online;
alter index NAT_ADMIN.FN12DOCUMENT_FN13_NUM_UNIQ REBUILD TABLESPACE NTOURS_INDEXES online;
select TABLESPACE_NAME, SEGMENT_TYPE table_type, SEGMENT_NAME,
ceil(sum(bytes) / 1024/1024/1024) sizeGb
from dba_segments
where TABLESPACE_NAME in ('NTOURS_DATA') and SEGMENT_TYPE='INDEX'
group by TABLESPACE_NAME, SEGMENT_TYPE, SEGMENT_NAME
order by 1,2
;
Опубликовано ср, 07/31/2013 - 16:10 пользователем talifa
Для начала рассмотрим что такое HWM и куда девается пространство. Предположим, что мы заполнили таблицу с 1 000 000 строк. HWM установился на уровне 1 000 000. Затем мы удаляем 500 000 строк, но HWM остается по прежнему на первоначальном уровне, т.е. 1 000 000. И это означает, что у нас имеются свободные блоки, ниже HWM. Для Oracle есть веские причины не опускать уровень HWM, при каждом удалении строк.
Опубликовано ср, 07/31/2013 - 15:54 пользователем talifa
COLUMN block_size NEW_VALUE v_block_size
SELECT TO_NUMBER(value) AS block_size
FROM v$parameter
WHERE name = 'db_block_size';
COLUMN tablespace_name FORMAT A20
COLUMN file_name FORMAT A50
COLUMN current_bytes FORMAT 999999999999999
COLUMN shrink_by_bytes FORMAT 999999999999999
COLUMN resize_to_bytes FORMAT 999999999999999
SET VERIFY OFF
SET LINESIZE 200
Когда теряет равновесие
твое сознание усталое,
когда ступеньки этой лестницы
уходят из под ног,
как палуба,
когда плюет на человечество
твое ночное одиночество,
ты можешь
размышлять о вечности
и сомневаться в непорочности
Опубликовано ср, 07/31/2013 - 13:41 пользователем talifa
The move command compacts the rows within Oracle blocks, resolves row chaining, and resets a table's High Water Mark
Both the move and shrink commands reset the high water mark of a table, but which command is more efficient? This article discusses re-organizing a table using the move and shrink commands, then compares how the rows are compacted within Oracle blocks and how row chaining is resolved.
Опубликовано вт, 07/30/2013 - 15:49 пользователем talifa
SGA_TARGET - параметр инициализации, впервые представлен в Oracle 10g, позволяет использовать автоматическое управление размером SGA.
Описание:
Oracle Docs пишет:
Parameter description:
SGA_TARGET
Property Description
Parameter type Big integer
Syntax SGA_TARGET = integer [K | M | G]
Default value 0 (SGA autotuning is disabled)
Modifiable ALTER SYSTEM
Range of values 64 to operating system-dependent
Basic Yes
Опубликовано вт, 07/30/2013 - 15:48 пользователем talifa
Основная структура памяти Oracle – System Global Area (SGA, системная глобальная область). Размер SGA вычисляется по определенным параметрам инициализации.
SGA разбивается на четыре раздела:
фиксированный раздел,
переменный раздел,
журнальный буфер,
пул буферов блоков базы данных.
Размер SGA – сумма размеров этих четырех разделов.
Все это Вы видите, когда стартует екземпляр:
SQL> startup nomount
ORACLE instance started.
Опубликовано пт, 07/19/2013 - 14:33 пользователем talifa
Для начала небольшая справка.
Есть 4 уровня сертификации Oracle:
Опубликовано пт, 07/19/2013 - 13:41 пользователем talifa
Разница между day и fmday, month и fmmonth
Режим заполнения. Oracle использует символы пробела, чтобы заполнить элементы формата на элементы постоянной ширины, равное по величине элемент для соответствующей модели в формате языка текущей сессии. Например, когда NLS_LANGUAGE AMERICAN, наибольший элемент за MONTH - SEPTEMBER, поэтому все значения MONTH дополняются до 9 отображения символов. Этот модификатор подавляет пустые значение которые возвращает TO_CHAR функция:
Опубликовано пт, 07/19/2013 - 11:17 пользователем talifa
CHR(x)
Возвращает символ, имеющий код, равный x в наборе символов БД. Пример
строка 1*.
CONCAT(строка 1, строка2)
Возвращает "строка 1", конкатенированную, (сцепленную) со "строка 2". То
же что и операция "||"! Пример строка 2*.
INITCAP(строка)
Возвращает "строка", в которой каждое слово начинается с прописной буквы и
продолжается строчными. Слова разделяются пробелами или не буквенно-цифровыми
символами. Символы не являющиеся буквами не изменяются. Пример строка 3*.
LOWER(строка)
Опубликовано чт, 07/18/2013 - 19:12 пользователем talifa
Below are the steps on how to add a new online redo-group. It could be of the same size as other groups or different size.
1) List log groups, their archive status, activity status and size
SQL> SELECT GROUP#, ARCHIVED, STATUS, BYTES FROM V$LOG;
GROUP# ARC STATUS BYTES
———- — —————- ———–
1 NO ACTIVE 104857600
2 NO CURRENT 104857600
3 NO INACTIVE 104857600
Опубликовано чт, 07/18/2013 - 19:06 пользователем talifa
По логам увидел, что переключение на пике работы происходит 3 или 30 секунд. Обычная работа базы - переключение 3-6 минут. Oracle рекомендует 15-20 минут.
#смотрим чтобы удаляемый logfile не был текущим или активным. Хоть Оракл и проругается
#береженого бог бережет.
select * from v$log;
alter system switch logfile;
alter database drop logfile group 1;
alter database add logfile group 1 ('g:\oracle\...\acs_log1a','h:\oracle\...\acs_log1b') size 100M reuse;
Опубликовано чт, 07/18/2013 - 11:37 пользователем talifa
2.5. Информация, ориентированная на Red Hat Enterprise Linux
Red Hat Enterprise Linux поставляется с большим набором инструментом для мониторинга ресурсов. Хотя ниже перечислены далеко не все инструменты, перечисленные здесь явяются хорошими представителями своего класса с точки зрения функциональности:
free
top (и Системный монитор GNOME (GNOME System Monitor) — версия top, больше ориентированная на графическую среду)
vmstat
Sysstat — набор инструментов для мониторинга ресурсов
Опубликовано ср, 07/17/2013 - 12:35 пользователем talifa
Режим архивации
При попытке осуществить резервное копирование вашей базы данных с помощью RMAN у вас выдается ошибка:
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 02/17/2011 09:43:56
ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode
Сообщение говорит о том, что прежде чем начинать резервное копирование с помощью RMAN, нужно перевести базу данных в режим архивации.
Включение режима архивации базы данных
Опубликовано вт, 07/16/2013 - 11:59 пользователем talifa
nohup
или screen - это новая сессия, к которой потом можно подсоединиться и увидеть результат
Опубликовано пт, 07/12/2013 - 18:12 пользователем talifa
Опубликовано чт, 07/11/2013 - 20:06 пользователем talifa
When a grid control agent was installed during a RAC setup an error showed up at the end of the agent configuration assistant.
The agent was started successfully, but it was not possible to force the agent to have the XML files uploaded to the grid server, it was when the dreaded error "EMD upload error: uploadXMLFiles skipped :: OMS version not checked yet.." showed up.
The problem basically was due to a password typing error during the configuration phase.
The Troubleshooting Procedure Outline was:
Опубликовано ср, 07/10/2013 - 12:01 пользователем talifa
How to Clone a Management Agent
Как клонировать грид агент
Only implement solution below under Oracle Support guidance
export AGENT_HOME=/u01/app/oracle/product/10.2.0/agent10g
export PATH=$AGENT_HOME/bin:$PATH
To implement the solution, please execute the following steps:
Опубликовано вт, 07/02/2013 - 20:03 пользователем talifa
Если вы случайно, не нарочно, сделали alter database open resetlogs; на стендбае, то не отчаивайтесь.
Делаем контрольник на продакшн.
ALTER DATABASE CREATE PHYSICAL STANDBY CONTROLFILE AS '/u00/standby01.ctl';
Подсовываем его вместо родного, просто тот прячем и
startup nomount;
alter database mount;
alter database recover managed standby database disconnect from session;
и смотрим как душевно накатываются логи
Опубликовано пн, 07/01/2013 - 13:59 пользователем talifa
Disaster recovery Кратенько
-- создать экземпляр в винде
-- восстановить spfile с автобэкапа (настроив параметры или указав файл напрямую) (startup force nomount; restore spfile from ...)
-- стартануть в NOMOUNT
-- создать pfile
-- поправить пути для контролов в pfile
-- перестартовать в NOMOUNT
-- восстановить контролы из автобэкапа restore controlfile from ...
-- смонтировать экземпляр
-- закаталогизировать бэкап
-- прописать новые пути для файлов
-- восстановить БД (RESTORE+RECOVER) -- открыть с RESETLOGS
Опубликовано пн, 07/01/2013 - 11:16 пользователем talifa
Смена UNDO TABLESPACE Во-первых, необходимо узнать текущие UNDO параметры:
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
Опубликовано чт, 06/27/2013 - 14:07 пользователем talifa
На примере JSC:
1. Рестартуем базу в nomount
set ORACLE_SID=t1JSC
sqlplus / as sysdba
startup force nomount exit
2. Находим последний бэкап контолфайла и восстанавиваем его dir /s \\ruistrdb10\backup\JSC
rman target / restore controlfile from '\\ruistrdb10\backup\JSC\...';
alter database mount;
Опубликовано ср, 06/19/2013 - 18:57 пользователем talifa
На приемнике
Connected to:
Oracle9i Release 9.2.0.8.0 - 64bit Production
JServer Release 9.2.0.8.0 - Production
Опубликовано ср, 06/19/2013 - 18:56 пользователем talifa
Опубликовано ср, 06/19/2013 - 18:39 пользователем talifa
останов:
alter system set log_archive_dest_state_2='defer' scope=both;
возобновление:
alter system set log_archive_dest_state_2='enable' scope=both;
посмотреть логи
SELECT THREAD#,MAX(SEQUENCE#) FROM V$ARCHIVED_LOG GROUP BY THREAD#;
Опубликовано ср, 06/19/2013 - 12:38 пользователем talifa
Сценарий, который на тестовых БД, располоденных на одном сервере работал отлично и многократно, но нагрузка на прамари БД там была невольшая:
1. На праймари приостановить (задержать) передачу архлогов на standby
SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER;
После первого переключения журналов alter system switch logfile;
2.Остановить standby БД.
3. Выключить standby-сервер
4.Включить сервер standby-сервер на новом месте через 7 часов, standby БД откроется в реад-онли режиме, т.к. сработают rc-скрипты по автостарту БД.
Опубликовано пн, 06/17/2013 - 19:12 пользователем talifa
How to export from oracle 11.2 and import into 10.2 version
by Mohamed Azar on January 23, 2011
I think many OTN users asked repeately this question How do i export from higher version and import into lower version.I just show here How do we do.
First : Using Datapump from Oralce 11.2 and import into 10.2 version
Source DB 11.2 Version :
Step 1: Create Directory
SQL> create or replace directory test_dir as 'D:\backupnew\dump';
Directory created.
SQL> grant read,write on directory test_dir to scott;
Grant succeeded.
Опубликовано чт, 06/13/2013 - 15:51 пользователем talifa
select * from registry$history;
[oracle@armada2 OPatch]$ ./opatch lsinventory -invPtrLoc /u00/oraInventory/oraInst.loc
[oracle@armada2 OPatch]$ ./opatch lsinventory -help
Opatch
Jump to: navigation, search
OPatch is the Oracle database's Interim (one-off) Patch Installer.
If OPatch is not installed into your Oracle Home ($ORACLE_HOME/OPatch), you may need to download it from Metalink and install it yourself.
Syntax
Syntax and options can be displayed using the -help option:
Опубликовано пт, 06/07/2013 - 16:34 пользователем talifa
rpm (RPM Package Manager) - система управления пакетами. Команда rpm позволяет осуществлять основные действия с пакетами - установку, обновление, удаление, получение информации о пакетах. В случае с rpm, атрибуты коренным образом влияют на поведение команды. Перечислим основные из них:
Опубликовано чт, 06/06/2013 - 16:51 пользователем talifa
Выключение режима ARCHIVELOG Для выключения режима ARCHIVELOG выполните следующие команды: ALTER SYSTEM SET log_archive_start=FALSE scope=spfile; CREATE pfile FROM spfile; shutdown IMMEDIATE; startup mount excluseve; ALTER DATABASE noarchivelog; ALTER DATABASE OPEN; ALTER DATABASE OPEN READ ONLY; только для чтения
Опубликовано ср, 06/05/2013 - 16:57 пользователем talifa
Опубликовано ср, 06/05/2013 - 16:00 пользователем talifa
Опубликовано ср, 06/05/2013 - 14:38 пользователем talifa
Опубликовано пн, 06/03/2013 - 13:08 пользователем talifa
######################################################################
#
# Name:
# mkclone.sh
# Purpose:
# RMAN-based make/refresh clone Oracle Database >=10g from backup sets (on disk)
# Parameters:
# none
#
# Restrictions:
# 1. All backups sets stored in one place ($BACKUP_DIR).
# 2. A backup of the control file has a mask *_CTL_* ($CONTROLFILE_BACKUP_MASK) for the file name
Опубликовано ср, 05/22/2013 - 11:30 пользователем talifa
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Solaris: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
Опубликовано вт, 05/21/2013 - 12:06 пользователем talifa
У меня windows 7 максимальная. Все драйвера и кодеки установлены. Подключил стандартную учетную запись администратора, захожу через нее. При попытке открыть видео файл формата flash (.swf) появляется окно с текстом: "Текущая настройка системы безопасности запрещает это действие". Как исправить?
в свойствах обозревателя на вкладке "Безопасность" в зоне "Интернет" установить разрешение "Разное -> Запуск программ и небезопасных файлов" в "Предлагать" или "Включить"
Опубликовано вт, 05/21/2013 - 10:40 пользователем talifa
Goal
Can RMAN be used to create backuppieces on CIFS?
Fix
We do not in general certify against particular storage vendors and use of NAS devices (NFS/CIFS) is treated as any other file system.
Oracle does not support CIFS protocol in general because CIFS does not guarantee
atomic write of 512 byte (Oracle log block size) like NFS can (with wsize parameter). So in case of power failure, it is possible to corrupt Oracle archived logs.
Опубликовано пт, 05/17/2013 - 17:16 пользователем talifa
Вот такие мерзкие штуки выделывает ОС Windows Server 2008 или же ОС Windows Server 2003 с браузером Internet Explorer 8.0. При попытке скачать любой файл из инета он получает ошибку: «Текущая настройка безопасности не допускает загрузку этого файла» («Your current security settings do not allow this file to be downloaded») В качестве дополнительной защиты в Windows 2008 и Windows 2003 загрузка файлов по умолчанию отключена.
Чтобы разрешить скачивание файлов средствами Internet Explorer, нужно изменить ключ реестра (без админских прав обходится):
Опубликовано чт, 05/16/2013 - 12:05 пользователем talifa
show parameter dump_dest
SELECT NAME,VALUE FROM V$PARAMETER WHERE NAME like '%_dump_dest%';
Опубликовано вт, 05/14/2013 - 15:30 пользователем talifa
Список команд Unix настолько велик, что даже перечислить их трудно.
Тем не менее, для начала, можно ограничиться следующими полезными командами.
Для получения подробной информации о любой команде просто исполните man <имя команды>.
Основные крманды:
cd Изменяет текущий каталог. После логина Вы находитесь в своем "домашнем" каталоге.
ls Выдает список файлов в каталоге (Аналогична DOS-команде DIR).
pwd Выводит рабочий (текущий) каталог.
cp Копирует файл или каталог.
Опубликовано вт, 05/14/2013 - 15:18 пользователем talifa
lshw - команда выведет полную информацию о железе, следует выполнять с правами root'а (sudo lshw).
hwinfo - вывод информации о железе. Предварительно требуется установить утилиту (sudo apt-get install hwinfo).
uname -a - вывод информации о системе, версии ядра, дистрибутиве и архитектуре (32/64 бита).
lsb_release -a - выведет название и версию используемого дистрибутива.
cat /etc/*release* - аналогично предыдущей команде, плюс информация о базовом дистрибутиве (например, для Linux Mint 9 выведет еще и Ubuntu 10.04, как базовый дистрибутив).
Опубликовано вт, 05/14/2013 - 13:20 пользователем talifa
Все «зеркальные» уровни – RAID 1, 1+0, 10, 1E, 1E0.
Давайте еще раз попробуем досконально разобраться, чем же различаются эти уровни?
Опубликовано вт, 05/14/2013 - 11:20 пользователем talifa
Представим себе ситуацию, когда наш проект, использующий в качестве СУБД Oracle, неожиданно (или с надеждой ожидаемо) стал критически важным для бизнеса (соответственно, появилась готовность выделять средства на обеспечение надежности системы).
До этого момента мы вполне обходились ежедневным или даже еженедельным бэкапом («горячим» или «холодным» копированием, а может и просто экспортом данных) и нас устраивало время восстановления системы порядка суток (будем считать, что данных у нас на пару терабайт).
Опубликовано пн, 05/13/2013 - 18:43 пользователем talifa
Вместо русского шрифта и рамочек нормального вида часто получаются кракозябры Putty. Несколько простых вещей спасают глаза от переломов. Вот шаги по её (Putty) настройке:
закладка Terminal --> Keyboard: The Function keys and keypads ставим Linux
закладка Connection --> Data: Terminal-type string ставим linux или xterm-color (если нужна мышка в MC)
закладка Window --> Translation: Received data assumed... ставим UTF-8, и ниже указываем Handling of line drawing... = Use Unicode line drawing code points
Опубликовано ср, 05/08/2013 - 16:04 пользователем talifa
Таксономия для Drupal 7
На первый взгляд таксономия - штука сложная и не понятная. На второй тоже. Но опытный въедливый перфекционист завсегда разберется.
Самое главное в сайте это не дизайн, не наполнение, не раскрутка. Самое главное - правильная структура. Это костяк на который растет много чего хорошего. Или не растет, как структурируешь. И таксономия Drupal 7 дает отличные возможности все разложить.
Опубликовано вс, 05/05/2013 - 12:26 пользователем talifa
Три простых шага для русификации уже установленного Drupal 7
Скачиваем и включаем модуль Localization update (в простонародье l10n_update). http://drupal.org/project/l10n_update
На странице admin/config/regional/language добавляем новый язык — Russian и делаем его языком по умолчанию.
На странице admin/config/regional/translate/update обновляем перевод с помощью кнопки Update translations.
Опубликовано сб, 05/04/2013 - 13:24 пользователем talifa
Ну нет на маках кнопки PrintScreen и не понятно, как сделать снимок экрана в Mac OS. Все просто и даже в нескольких вариантах.
Вариант для трудолюбивых.
Опубликовано сб, 05/04/2013 - 12:03 пользователем talifa
Если вы счастливый обладатель продукции Apple, то радость обладания все-таки омрачается тем, что куча отличных и полезных программ работает только из-под винды. И в один прекрасный момент таки встает вопрос второй системы. В этой статье изложен личный опыт установки Windows 7 на Mac.
Перво-наперво нужно определить 32 или 64 разрядный Win будем ставить. Установим некоторые соответствия:
x86 – это архитектура соответствующая 32-битной разрядности
x64 – это архитектура соответствующая 64-битной разрядности
Опубликовано пн, 04/29/2013 - 15:12 пользователем talifa
Ниже приведен краткий перечень команд, необходимых для того, чтобы переписать требуемый файл или файлы при использовании FTP-клиента с командной строкой. Если есть желание узнать остальные команды, которые нужны для профессиональной работы с FTP, то введите help в Вашем FTP-клиенте.
При работе с графическим клиентом, поддерживающим современный интерфейс, Вам, скорее всего, все будет понятно без объяснений.
Учтите, что в именах файлов большие и маленькие буквы различаются.
open имя_сервера - открыть соединение
Опубликовано пн, 04/29/2013 - 12:36 пользователем talifa
Опубликовано пт, 04/26/2013 - 13:55 пользователем talifa
из базы
select * from sys.registry$history;
из системы
opath lsinventOry -all
opath lsinventOry
oracle@ds02:~> cd $ORACLE_HOME
oracle@ds02:/u01/app/oracle/product/10.2.0/db_1> cd OPatch/
oracle@ds02:/u01/app/oracle/product/10.2.0/db_1/OPatch> ./opatch Isinventory
Invoking OPatch 10.2.0.3.0
$ORACLE_HOME/OPatch/opatch lsinventory
OPatch failed with error code 14
oracle@ds02:/u01/app/oracle/product/10.2.0/db_1/OPatch>
Опубликовано пт, 04/26/2013 - 13:54 пользователем talifa
Exec dbms_ddl.alter_compile ( type , schema, name);
select OBJECT_NAME from all_objects where STATUS ='INVALID' and OBJECT_TYPE='TRIGGER';
create or replace PROCEDURE repair_trigger
IS
sql_text varchar(500);
cnt number(3);
begin
cnt:=0;
select count(*) into cnt from all_objects where STATUS ='INVALID' and OBJECT_TYPE='TRIGGER';
if cnt > 0 then
sql_text:= NULL;
Опубликовано пт, 04/26/2013 - 13:48 пользователем talifa
PROCEDURE kill_long_session
IS
sql_text varchar(500);
cnt number(3);
result_txt varchar(500);
k_id number;
MAX_TTL CONSTANT PLS_INTEGER := 600;
begin
cnt:=0;
select count(*) into cnt
from v$session vs, v$sqlarea vsa
where vs.sql_address=vsa.address
--and (upper(sql_text) not like '%UPDATE%' or upper(sql_text) not like '%INSERT%')
--and program='JDBC Thin Client'
and osuser='weblogic'
--and username='FSERG'
and status='ACTIVE'
Опубликовано пт, 04/26/2013 - 13:47 пользователем talifa
SELECT
s.SID, s.SQL_ID, s.LAST_CALL_ET
FROM V$SESSION S, V$PROCESS p,
(select ss.sid stat_sid,
sum(decode(sn.name, 'CPU used when call started', ss.value, 0)) CPU_this_call_start,
sum(decode(sn.name, 'CPU used by this session', ss.value, 0)) CPU,
sum(decode(sn.name, 'session uga memory', ss.value, 0)) uga_memory,
sum(decode(sn.name, 'session pga memory', ss.value, 0)) pga_memory,
sum(decode(sn.name, 'user commits', ss.value, 0)) commits,
Опубликовано пт, 04/26/2013 - 13:44 пользователем talifa
Опубликовано пт, 04/26/2013 - 13:30 пользователем talifa
declare
v_Owner dba_indexes.owner%type; -- Setup Index Owner
v_IdxName dba_indexes.index_name%type; -- Setup Index Name
Опубликовано чт, 04/25/2013 - 16:15 пользователем talifa
включаем монитоинг
ALTER INDEX summit.orders_id_idx MONITORING USAGE
Делаем запрос в :
V$OBJECT_USAGE
Опубликовано вт, 04/23/2013 - 19:12 пользователем talifa
D Удаляет текст от позиции курсора до конца строки
dd Удаляет всю строку целиком.
ndd Здесь n - число удаляемых строк. Например, 5dd удаляет текущую строку и четыре следующие за ней
rc Здесь c - символ. Это команда заменяет символ в позиции курсора символом, который указан за r
R Текст, вводимый после этой команды, замещает текущий текст, начиная с позиции курсора. Этот режим действует до тех пор, пока не будет нажата клавиша Escape, возвращающая редактор в командный режим.
S Удаляет текущую строку и начинает ввод текста на новой строке.
Опубликовано вт, 04/23/2013 - 18:31 пользователем talifa
По не знаю какой уж там исторической традиции "честные" (канонические, особенно коммерческие) системы Unix не имеют в своем базовом комплекте ни одного нормального (еще раз подчеркну это слово - НОРМАЛЬНОГО) текстового редактора. Поэтому системный администратор должен уметь пользоваться тем, что ему дают. А дают ему несравненный "Визуальный" экранный редактор файлов - Редактор VI.
Редактор VI имеет три режима:
Опубликовано вт, 04/23/2013 - 18:19 пользователем talifa
DROP TABLE FAST.DB_TABLES_SIZE CASCADE CONSTRAINTS;
Опубликовано вт, 04/23/2013 - 18:03 пользователем talifa
CREATE OR REPLACE procedure NAT_ADMIN.extend_LG01JUNIPER as
--declare
/*
ALTER TABLE NAT_ADMIN.LG01JUNIPER
ADD
PARTITION LG01_2012_07 VALUES LESS THAN (TO_DATE(' 2012-07-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
Опубликовано вт, 04/23/2013 - 17:57 пользователем talifa
По партициям
CREATE OR REPLACE PROCEDURE NAT_ADMIN.GATHER_PR32_STAT is
p_name sys.all_tab_partitions.partition_name%type;
begin
Опубликовано вт, 04/23/2013 - 14:03 пользователем talifa
Возможность настройки запросов при помощи построения SQL profiles обеспечивается установленными Tuning& Diagnostic Pack (требуется версия Oracle 10 EE или 11 EE). С точки зрения рассматриваемой задачи интересным в использовании SQL profiles является тот факт, что профили можно создавать вручную через импорт. Недокументированная процедура dbms_sqltune.import_sql_profile обычно используется при импорте профиля, созданного ранее на основе списка специальных хинтов, предназначенных для корректировки статистики.
Опубликовано вт, 04/23/2013 - 13:58 пользователем talifa
Cпособ настройки основан на функционале Stored Outlines и заключается в подмене хинтов private outline проблемного запроса хинтами настроенного запроса и последующего создания public outline. Особенно актуален такой вариант для версии Standard Edition, где Plan Stability является доступной опцией. Этот способ настройки работает во всех редакциях версий 9,10,11.
Итак, допустим, нужно оптимизировать выполнение некоего запроса с помощью outline. План действий следующий:
Опубликовано вт, 04/23/2013 - 13:30 пользователем talifa
declare
cursor sss is
select rownum, v.*
from v$sql v
where parsing_schema_name = 'NAT_ADMIN'
and sql_id = 'cpp3gqz0kk2hh';
r sss%rowtype;
qqq varchar2(32000);
a varchar(100);
hv varchar(30);
begin
for r in sss
loop
select address, hash_value into a, hv
from v$sqlarea where sql_id = r.sql_id;
Не выходи из комнаты, не совершай ошибку.
Зачем тебе Солнце, если ты куришь Шипку?
За дверью бессмысленно все, особенно - возглас счастья.
Только в уборную - и сразу же возвращайся.
Опубликовано пн, 09/03/2012 - 14:31 пользователем talifa
Зачастую работа «в поле» требует сбора и анализа информации на сайте заказчика в условиях наличия крайне скудного списка утилит. В частности собрать информацию об использовании системы ввода-вывода в течении дня.
В статье я попробую показать, как располагая только iostat и gnuplot можно попробовать провести анализ системы и какие выводы можно сделать.
Я не претендую на доскональное владение предметом и точное использование терминов. Более того, я постараюсь говорить «обычным» языком и не бросаться терминами.
Опубликовано вт, 06/05/2012 - 17:40 пользователем talifa
Public key - Публичный ключ
Для соединения с удаленным хостом без ввода пароля, можно использовать так называемый Public key (публичный ключ). Нужно добавить запись о публичном ключе в файл ~/.ssh/authorized_keys на удаленном хосте. В данном случае для подключения используются ключи сгенерированные на стороне-клиенте. В cygwin создать /home директорию и .csh в ней, можно с помощью
# mkdir -p /home/USER/.ssh