Friday, July 07, 2006

Oralce Data Pump export some sequence and import

we want to export and import tables, functions and sequences, that they have "REWARD%" name.

we created parfile for export and import(when table exist)

parfile for export =>
DIRECTORY=INVENTORY2
dumpfile=REWARD.dmp
logfile=REWARD2.log
include=TABLE:\"like'REWARD%'\"
include=FUNCTION:\"like'REWARD%'\"
include=SEQUENCE:\"like'REWARD%'\"

parfile for import =>
DIRECTORY=INVENTORY2
dumpfile=REWARD.dmp
logfile=REWARD2.log
include=TABLE:\"like'REWARD%'\"
include=FUNCTION:\"like'REWARD%'\"
include=SEQUENCE:\"like'REWARD%'\"
TABLE_EXISTS_ACTION=replace


#expdp parfile=parexport

#impdp parfile=parimport

Monday, July 03, 2006

Example: oracle search session to kill session

SQL> SELECT s.INST_ID ,s.sid,
p.spid,
s.osuser,
s.program,a.SQL_TEXT
FROM gv$sqltext a, gv$process p,
gv$session s WHERE s.sql_address = a.address and s.sql_hash_value = a.hash_value and p.addr = s.paddr and s.machine='mch' and s.osuser='van'
SQL> /

INST_ID SID SPID OSUSER PROGRAM
---------- ---------- ------------ ------------------------------ ------------------------------------------------
SQL_TEXT
----------------------------------------------------------------
1 230 1760 van sqlplus@DB(TNS V1-V3)
SELECT * FROM AH@LINK WHERE CUSID=:B3 AND CREATEDATE > :B2 AN

1 230 1760 van sqlplus@DB(TNS V1-V3)
D CREATEDATE <= :B1

2 223 15350 van sqlplus@DB (TNS V1-V3)
BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END;

2 223 27604 van sqlplus@DB (TNS V1-V3)
BEGIN DBMS_OUTPUT.GET_LINES(:LINES, :NUMLINES); END;

>>> After that we can use "alter system kill session ..."
But this case we can use : # kill -9 1760

Oracle DATA PUMP include exclude tables

Export table by exclude and include tables
example:
#expdp DIRECTORY=tmp dumpfile=test2.dmp logfile=log include=TABLE:\"IN \(\'ADDRESS_BOOKS\', \'ADDR\'\)\" schemas=surachart

expdp DIRECTORY=tmp dumpfile=test2.dmp logfile=log exclude=TABLE:\"IN \(\'ADDRESS_BOOKS\', \'ADDR\'\)\" schemas=surachart


Import table by exclude and include tables
example:
#impdp DIRECTORY=tmp dumpfile=test2.dmp logfile=log2 REMAP_SCHEMA=surachart:chart INCLUDE=TABLE:\"= \'ADDRESS_BOOKS\'\"

#impdp DIRECTORY=tmp dumpfile=tetst2.dmp logfile=log2 REMAP_SCHEMA=surachart:chart EXCLUDE=TABLE:\"= \'ADDRESS_BOOKS\'\"


otherwise case
remap_tablespace
# impdp DIRECTORY=tmp dumpfile=tet,dmp logfile=log2 REMAP_tablespace=one:DEVELOPERS

How can I rotate log from schdule job on oracle

we have used schedule job every 10 seconds for sendmail.
So we had many logs


whem i queried

select count(*) from dba_schedule_job_run_detail;
263201 rows selected.

So I used DBMS_SCHEDULER.PURGE_LOG package for purge log

keep 10 days of MAIL_ALERT_TIME job
SQL> exec dBMS_SCHEDULER.PURGE_LOG(log_history => 10, job_name => 'MAIL_ALERT_TIME');

or purge all every jobs
SQL>DBMS_SCHEDULER.PURGE_LOG();