Показаны сообщения с ярлыком oracle. Показать все сообщения
Показаны сообщения с ярлыком oracle. Показать все сообщения

четверг, 16 июня 2016 г.

отправка письма из oracle ssl/tls

Ingrediets
So, what do we need for this task:
  • Oracle database version should be at least 11.2.0.2 , because UTL_SMTP got STARTTLS and AUTH procedures first in that version
  • SMTP Server which supports SSL/TLS
  • SSL certificates
  • Oracle Wallet
  • ACL (Access Control List) privileges
http://oracle.ninja/sending-secure-e-mails-out-of-the-database-ssltls-utl_smtp-openssl-acl-wallet/

RESTORE DATABASE

RMAN> SET DBID 914610606;
RMAN> STARTUP NOMOUNT;
RMAN> RESTORE CONTROLFILE FROM "/oradb/zfra/iis/ctl_sp/a20160615_634_1_1_914610606.ctl

тут должен быть startup mount

RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
внезапно не нашелся файл лога
RMAN> run {
2> SET UNTIL SEQUENCE 3047;
 # SET UNTIL SCN 1000;  
 # SET UNTIL TIME 'Nov 15 2004 09:00:00';
 # SET UNTIL SEQUENCE 9923;
 # RESTORE DATABASE;
 # RECOVER DATABASE;
3> RECOVER DATABASE;
4> }
RMAN> ALTER DATABASE OPEN RESETLOGS;

среда, 20 мая 2015 г.

fujitsu: Improved data reliability combined with Oracle DB - DB (Data Base) Data Guard

ETERNUS disk storage systems check data security using Data Block Guard technology.
While this is very important, it does not cover situations where data corruption occurs in the interfaces between systems. This is because Data Block Guard only verifies data after it has reached the storage device.
That is why Fujitsu also uses another data protection mechanism called "DB (Data Base) Data Guard". This combination of data security measures Oracle Data Base, means ETERNUS disk storage systems are able to deliver very robust data integrity.
As data is written into the disk storage system, the database adds check codes. The disk storage system has knowledge of the logic of these check codes and where the codes are placed enabling it to verify the data using the check codes.
If an ETERNUS disk storage system identifies any data corruption, it will stop further operation and notify the administrator; thereby preventing the use of data known to be corrupt.

http://www.fujitsu.com/global/products/computing/storage/disk/eternus-dx/feature/strsys-a05.html


Фактически вместо ORA-600 при обращении к битому экстенту получите полную остановку до устранения, путь истинного самурая =)

пятница, 14 ноября 2014 г.

Oracle ctx index

https://docs.oracle.com/cd/B28359_01/text.111/b28304/cddlpkg.htm#CCREF0652

The time limit specified is treated as approximate. The actual time taken may be somewhat less than or greater than what you specify. The "time clock" for maxtime does not start until the SYNC lock is acquired.

четверг, 14 ноября 2013 г.

Oracle остановить все job-ы в sheduler


если по босяцки:

declare
 c_job_name varchar2(40);
 c_job_ownr varchar2(40);


cursor c_jobs Is
SELECT JOB_NAME,OWNER from ALL_SCHEDULER_JOBS
                where JOB_NAME not in ('PURGE_LOG', 'ORA$AUTOTASK_CLEAN') and ENABLED = 'TRUE';


Begin
dbms_output.enable ;
OPEN c_jobs;
 

Loop
FETCH c_jobs into c_job_name, c_job_ownr;
      EXIT WHEN c_jobs%NOTFOUND;
dbms_output.put_line(c_job_ownr||'.'||c_job_name);
--DBMS_SCHEDULER.stop_job(Name => c_job_ownr||'.'||c_job_name, FORCE => TRUE);
DBMS_SCHEDULER.DISABLE(Name => c_job_ownr||'.'||c_job_name );
 

End Loop;
close c_jobs;
 

END;
/

четверг, 31 октября 2013 г.

Oracle: rename datafile

SQL> alter tablespace tfastlob offline;
Раздел изменен.
....

[oracle@aix2 app]$ for i in `ls *.dbf` ; do mv /oradb/zfastlob/app/$i /oradb/zblob00/app/zfastlob/ ; done

....

SQL> alter tablespace tfastlob rename datafile '/oradb/zfastlob/app/tfastlob001.dbf' to '/oradb/zblob00/app/zfastlob/tfastlob001.dbf';
Раздел изменен.
....
SQL> alter tablespace tfastlob rename datafile '/oradb/zfastlob/app/tfastlob008.dbf' to '/oradb/zblob00/app/zfastlob/tfastlob008.dbf';
Раздел изменен

SQL> alter tablespace tfastlob online;
Раздел изменен.


понедельник, 28 октября 2013 г.

sqlnet over NAT


для win32/64  USE_SHARED_SOCKET=TRUE


четверг, 17 октября 2013 г.

migrate to 12c

migrate from 11gR2 AIX to 12C linux x86-64

create db link
SQL> create database link link_system_cisdev_aix connect to system identified by "*******" using 'cisdev' ;

Database link created.


check link

SQL> select count(*) from dba_data_files@link_system_cisdev_aix;

  COUNT(*)
----------
       275


migrate
oracle@thor1:~/product>impdp system network_link=link_system_cisdev parallel=4 REUSE_DATAFILES=Y  STATUS=60  FULL=Y
Import: Release 12.1.0.1.0 - Production on Thu Oct 17 13:56:16 2013
Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.
Password:



пятница, 4 октября 2013 г.

Sun Flash Accelerator F40 PCIe Card


Sun Flash Accelerator F40 PCIe Card

400 RAW GB capacity
149K IOPS, and 2.1 GB/sec throughput performance
0.095 msec write latency

US$5,832.00


среда, 31 июля 2013 г.

dns lookup из оракла.


SELECT utl_inaddr.get_host_name(’87.250.251.3′) from dual;
SELECT utl_inaddr.get_host_address(‘ya.ru’) FROM dual;

вторник, 9 июля 2013 г.

Oracle: import schema

Импорт схемы.

SQL>create tablespace xmn datafile '/oradb/zfastlob/xmn.dbf' size 6g

SQL>create user xmn_xxmn identified by xxx default tablespace xmn_xxmn temporary tablespace temp;

SQL>grant resource to xmn_xxmn;
SQL>grant connect   to xmn_xxmn;

SQL>create or replace directory xmn_dir AS '/oradb/zfra/dump';

impdp sys@oradev schemas=xmn_xxmn directory='XMN_DIR' dumpfile=XMN_DUMP.DMP logfile=import.xmn.log

SQL>drop user xmn_xxmn cascade;




четверг, 30 мая 2013 г.

ORA-01251 или почему не следует забивать на powerpath

SQL> startup
ORACLE instance started.

Total System Global Area 1.9792E+10 bytes
Fixed Size                   768776 bytes
Variable Size            3674210304 bytes
Database Buffers         1.6106E+10 bytes
Redo Buffers               10760192 bytes
Database mounted.

ORA-01122: database file 160 failed verification check
ORA-01110: data file 160: '/u5/apir_data/tlobi06.dbf'
ORA-01251: Unknown File Header Version read for file number 160


 
dba замонтировал кларионовскую лунку в обход powerpath =)

sqlplus '/as sysdba'
startup mount
alter database datafile '/u5/apir_data/tlobi06.dbf' offline;
alter database open;

Database opened.



ORA-01251 или почему не следует забивать на powerpath

SQL> startup
ORACLE instance started.

Total System Global Area 1.9792E+10 bytes
Fixed Size                   768776 bytes
Variable Size            3674210304 bytes
Database Buffers         1.6106E+10 bytes
Redo Buffers               10760192 bytes
Database mounted.

ORA-01122: database file 160 failed verification check
ORA-01110: data file 160: '/u5/apir_data/tlobi06.dbf'
ORA-01251: Unknown File Header Version read for file number 160


 
Коррапченый заголовок лечению уже не подлежит, только полный бекап, только хардкор.
Если сильно надо можно поднять базу без поломанного файла, что-то как-то жить и шевелиться будет.

sqlplus '/as sysdba'
startup mount
alter database datafile '/u5/apir_data/tlobi06.dbf' offline;
alter database open;

Database opened.



среда, 17 октября 2012 г.

Чистка Oracle trace & audit файлов.

Годная заготовка для своего скрипта: http://andrewfraserdba.com/2010/02/26/shell-script-to-clean-old-oracle-trace-and-log-files/

Желание прибивать alert_*.log странное.






#! /bin/bash

# Remove old oracle-owned aud, trc, trw, core files
# Remove old recv error files (these have format ".err_[0-9]")
# Remove access_log., error_log., emoms.log. files - which are generated in large numbers

echo "*** REMOVE OLD ORACLE AUDIT FILES and OLD RECV Error Files and OLD TRACE FILES ***"

 ORABASE='/u0/apps/oracle/'

FILELIST=`/usr/bin/find $ORABASE \
    -mtime +1 -user oracle \( \
    -name *.aud -o\
    -name '*.trw' -o \
    -name '*.err_[0-9]*' -o \
    -name 'access_log.[0-9]*' -o \
    -name 'error_log.[0-9]*' -o \
    -name 'emoms.log.[0-9]*' \) \
    `


for file in $FILELIST ;
   do
    echo "Remove olds trash file: $file"
    rm $file;
   done

FILELISTTR=`/usr/bin/find $ORABASE \
    -mtime +31 -user oracle \
    -name '*.trc*'`


for file in $FILELISTTR ;
   do
    echo "Remove TRACE file: $file"
    rm $file;
   done

# Cut down alert logs and listener logs, and also access_log and event_log
# Old log files are ignored - only log files modified in the last 7 days are worked on.
# Small log files are ignored - only files bigger than 3mb (=6144*512 byte blocks) are worked on.
# 3mb is approximately 30,000 lines of text.

echo "*** CUT DOWN THE ALERT LOGS and ORACLE LISTENER.LOG FILE ***"

FILELISTLOG=`find $ORABASE \
    -mtime -7 -size +6144 -user oracle \( \
    -name 'listener*.log' -o \
    -name 'access_log' -o \
    -name 'event_log' -o \
    -name 'http-web-access.log' -o \
    -name 'server.log' \)`


for file in $FILELISTLOG
   do
    echo -n "*** cutting $file ***"
    cp $file $file.tmp
    tail -10000 $file.tmp > $file
    rm $file.tmp;
   done


# Rotate alert log when files size bigger than 3mb (=6144*512 byte blocks)

echo "*** ROTATE ALERT LOGS ***"

date=`date '+%Y%m%d'`

FILELISTLOG=`find $ORABASE -size +6144 -user oracle -name 'alert_*.log'`

for file in $FILELISTLOG
   do
    name=`echo $file | cut -d'.' -f1`
    echo "*** rotate $file to $name.$date.log ***"
    echo mv $file $name"."$date".log"
    echo gzip -9 $name"."$date".log";
   done

вторник, 9 октября 2012 г.

database instance failed to turn on flashback

Database mounted.

ORA-38760: This database instance failed to turn on flashback database

Решение - выключить опцию и перезапустить базу.


SQL> startup mount;
SQL> alter database flashback off;

далее
SQL>alter database open;
или
SQL> shutdown;
SQL>startup


UPDATE
путь, указанный в db_recovery_file_dest должен существовать и быть доступен, иначе будет смерть на взлете.

SQL> Connected to an idle instance.
SQL> ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated
ORA-01262: Stat failed on a file destination directory
IBM AIX RISC System/6000 Error: 2: No such file or directory
SQL> SP2-0103: Nothing in SQL buffer to run.
SQL> alter database flashback off
*
ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

суббота, 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 г.

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!

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

DROP DATABASE

sqlplus "/AS SYSDBA"

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

DROP DATABASE INCLUDING BACKUPS NOPROMPT;


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

четверг, 12 июля 2012 г.

yum repos файл, мистическая parsing errors...

[root@hermes ~]# yum update
Loaded plugins: security
Error: File contains parsing errors: file://///etc/yum.repos.d/local.repo
[line 2]: name=Local CD Repo
[line 3]: baseurl = file:///media/cdrom
[line 4]: enabled = 1

Ругается на пробелы и табы в начале строки. правильный конфиг у yum без выравнивания.

[My_local]
name=Local CD Repo
baseurl = file:///media/cdrom
enabled = 1