Допустим необходимо узнать сколько места занимает какая-нибудь схема, для этого подключимся к Oracle из под sysdba и выполнить запрос: select owner,to_char(sum(bytes)/1024/1024)||’Mb’ sch_size from dba_segments group by owner order by sch_size desc
Рубрика: Базы данных
Про работу с различными базами данных
Oracle dblink с 10g на 11g
Допустим у нас есть две базы данных, одна их них 11g, другая — 10g. Наша задача сделать доступными данные с 11g на 10g. Но когда делаешь обычный dblink ничего не происходит, и система каждый раз ругается на ошибку логина и пароля. чтобы это исправить нужно на базе 11g выполнить из под SYS команду: ALTER SYSTEM […]
REGRESS.RDBMS.DEV.US.ORACLE.COM
Способ 1: Либо отключить глобальные имена: alter session set global_names = false;alter database rename global_name to MYDB;update global_name set global_name = ‘MYDB’;select global_name from global_name; Затем нужно перезапустить базу через shutdown/startup. Способ 2: Либо использовать полное TNS имя при создании DBLink’a LINK1.REGRESS.RDBMS.DEV.US.ORACLE.COM
Мониторинг активных сессиий черезе SQL Developer
Для того чтобы отобразить список сессий нужно открыть программу и в верхнем меню выбрать пункт «Tools» в выпавшем меню выбираем «Session Monitoring»: В открывшемся окошке выбираем конфигурацию и нажимаешь «Ok». Там же, воспользовавшись Combobox, можно выбрать с какой частотой будет происходить «Refresh».
Как узнать SID сессии и убить её по SQL_ID
Через sqlplus выполним запрос: select sid, serial#, machine, program from v$session where sql_id in (‘7aqfaga9ax4fv’); Вот пример функции, которая использует указанный ранее запрос: begin for x in ( select sid, serial#, machine, program from v$session where sql_id in (‘7aqfaga9ax4fv’) ) loop execute immediate ‘Alter System Kill Session »’|| x.Sid || ‘,’ || x.Serial# || »’ IMMEDIATE’; end loop;end;/
Выполнить CROSSCHECK DBF-файлов Oracle
Данными командами можно вывести полный список ошибок базы, после чего сгенерим скрипт, затем выполним его: list failure;advise failure;repair failure; Теперь необходимо выполнить кроссчеки: CROSSCHECK backup;CROSSCHECK copy;CROSSCHECK backup of database;CROSSCHECK backup of controlfile;CROSSCHECK archivelog all;
Как убить зависшие процессы RMAN
Из под oracle зайти rman target / Отобразить все сессии select sid, serial#, status, logon_time from v$session where program like ‘%rman%’; Отобразить все работы пользователя SYS select username, program from v$session where username = ‘SYS’; Сгенерировать команды удаления зависших процессов rman select ‘kill -9 ‘||p.spid kill_rman_processfrom v$session s, v$process pwhere s.paddr=p.addrand s.program like ‘rman%’order by […]
Запросить таблицы доступные через Database Link
Там можно выгрузить все таблицы: SELECT OWNER, TABLE_NAME FROM ALL_TABLES@<dblink>; А таr можно запросить все пользовательские таблицы: SELECT TABLE_NAME FROM USER_TABLES@<dblink>;
Отключение бекапа конфигурационных файлов в Oracle 11g через RMAN
oracle@oracledb:~$ rman TARGET sys/***@test NOCATALOG Recovery Manager: Release 11.2.0.2.0 — Production on Mon Apr 29 14:19:21 2013 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: TESTusing target database control file instead of recovery catalog RMAN> configure controlfile autobackup off; old RMAN configuration parameters:CONFIGURE CONTROLFILE AUTOBACKUP ON;new RMAN configuration […]
Если не стартует Enterprise Manager на HP-UX
Залогинимся в базу из под SYS sqlplus /nologconn / as sysdba Очистить базу от старых настроек exec DBMS_AQADM.DROP_QUEUE_TABLE(queue_table=>’SYSMAN.MGMT_NOTIFY_QTABLE’,force=>TRUE); DECLARECURSOR c1 ISSELECT owner, synonym_name nameFROM dba_synonymsWHERE table_owner = ‘SYSMAN’;BEGINFOR r1 IN c1 LOOPIF r1.owner = ‘PUBLIC’ THENEXECUTE IMMEDIATE ‘DROP PUBLIC SYNONYM ‘||r1.name;ELSEEXECUTE IMMEDIATE ‘DROP SYNONYM ‘||r1.owner||’.’||r1.name;END IF;END LOOP;END;/ DROP USER mgmt_view CASCADE;DROP ROLE mgmt_user;DROP USER sysman […]