суббота, 4 августа 2012 г.

oracle 11g, advanced compression

начало

Жмем таблицу, напичканную varchar2, с целью освободить занятый tablespace.

SQL> ALTER TABLE NET.ACCESS COMPRESS FOR OLTP;
Table altered.


Лежащие в таблице данные не изменяются, что бы их сжать, нужно пошевелить таблицу, передвинуть например.

SQL> alter table NET.ACCESS move tablespace TYYY;
Table altered.


Ждем, если нужно, возвращаем обратно:

SQL> alter table NET.ACCESS move tablespace TXXX;
Table altered.


Проверяем состояние индексов:

SQL> select index_name, status, index_type from user_indexes;
INDEX_NAME STATUS INDEX_TYPE
------------------------------ -------- ---------------------------
IDX_ACCESS$DTO       UNUSABLE NORMAL
IDX_ACCESS$PERSON    UNUSABLE NORMAL
IDX_TMP$NET_LOGIN    VALID    NORMAL

3 rows selected.


Ребилдим и для большего экономического и тормозящего эффекта сжимаем индексы:

SQL> alter index IDX_ACCESS$DTO rebuild compress 1;
Index altered.


Для ускорения можно не писать в redo log:

SQL> alter index IDX_ACCESS$DTO rebuild unrecoverable;
Index altered.


...

Проверяем
SQL> select index_name, status, index_type from user_indexes;

INDEX_NAME                STATUS INDEX_TYPE
------------------------------  --------      ---------------------------
IDX_ACCESS$DTO         VALID   NORMAL
IDX_ACCESS$PERSON      VALID   NORMAL
IDX_TMP$NET_LOGIN      VALID   NORMAL

3 rows selected.


Данная конкретная таблица сжалась с 35 до 8 Гб, из-за обилия повторяющегося текста.

PROFIT! =)

четверг, 2 августа 2012 г.

Backup / Restore MSSQL 2005

 
Д.Копирование базы данных с помощью BACKUP и RESTORE
В следующем примере с помощью инструкций BACKUP и RESTORE создается копия базы данных AdventureWorks2012.
Инструкция MOVE восстанавливает файлы данных и  журнала в указанные места.
Количество и имена восстанавливаемых файлов базы данных можно определить с помощью инструкции RESTORE FILELISTONLY.
Новая копия базы данных называется TestDB. Дополнительные сведения см. в разделе Инструкция RESTORE FILELISTONLY (Transact-SQL).

BACKUP DATABASE AdventureWorks2012 
 TO AdventureWorksBackups ;
GO
---------------------------это бекап, тут пока все логично--------------------------------


RESTORE FILELISTONLY 
 FROM AdventureWorksBackups ;   <- этот sql вернет список файлов из файла резервной копии, 
                                   который мистическим образом будет передан запросу RESTORE

RESTORE DATABASE TestDB 
 FROM AdventureWorksBackups 
 WITH MOVE 'AdventureWorks2012_Data' TO 'C:\MySQLServer\testdb.mdf',
 MOVE 'AdventureWorks2012_Log' TO 'C:\MySQLServer\testdb.ldf';
GO 
 
без FILELISTONLY получится:
 
Msg 3154, Level 16, State 4, Line 1
The backup set holds a backup of a database other than the existing 'TestDB' database.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally. 





------------------------------------------------
Жадные крохаборы 
 
CREATE DATABASE DB_Account_SNAP ON
(NAME = DB_Account, FILENAME = 'D:\DB_SNAP\DB_Account_SNAP.ss' )
AS SNAPSHOT OF DB_Account;
GO
 
Msg 1844, Level 16, State 1, Line 1
Database Snapshot is not supported on Standard Edition (64-bit).

Why is Oracle masculine?


http://www.dba-oracle.com/t_why_is_oracle_male.htm

Question:  I have read your fantastic web pages and I notice that you refer to Oracle as “he”.  Why do you call Oracle as a man?  Are you a sexist pig?

Answer:  No, I’m not sexist, I am simply honoring database tradition.  One sure sign of an experienced DBA is referring to a database as male, a tradition that only a seasoned veteran will know. 

Just as the Spanish language arbitrarily refers to nouns as either masculine or feminine, database systems have been traditionally referred to as male.  Ever since the 1970’s IMS databases, all database management systems have been referred to as masculine, such as “When Oracle complies a precompiler, he checks the semantics”. 

When I started as a full-time DBA in 1983, all DBA referred to the database software as “he” or “him”.  Calling a database masculine is database tradition, not sexist!

If you want to appear as an Oracle expert, referring to Oracle as "he" or "him" will instantly mark you as a savvy Oracle professional!

Создание постоянных имен дисковых устройств.

http://www.novell.com/communities/node/6691/create-convert-disks-persistent-device-names

sles10:~ # udevinfo -q symlink -n /dev/cciss/c0d0p1
disk/by-id/cciss-3600508b1001035303620202020200003-part1 disk/by-path/pci-0000:06:00.0-cciss-0:40000000-part1

вторник, 31 июля 2012 г.

Netbackup: Ways to change expiration date (retention levels) of media and backup IDs

Дока

/usr/openv/netbackup/bin/admincmd/bpexpdate -recalculate -backupid  YYYY_098843420 -d mm/dd/yy

DROP DATABASE

sqlplus "/AS SYSDBA"

SQL> alter system enable restricted session; || STARTUP RESTRICT;

DROP DATABASE INCLUDING BACKUPS NOPROMPT;


понедельник, 30 июля 2012 г.

HBA, как посмотреть wwn в linux.

Как найти  wwn HBA на линукс машине.

1. cat  /sys/class/scsi_host/host{n}/device/fc_host:host{n}/port_name

2. cat /proc/scsi/{adapter-type}/{n} где  {adapter-type} будет qlaxxxx для QLogic или lpfc для Emulex.

3. systool -c fc_host -v

Список HBA можно выдернуть фразой: # lspci | grep -i "Fibre"