oracle能否限制某个用户的访问的进 …read.pudn.com/downloads101/ebook/415158/oracle.doc · Web view例如,假设一个程序运行10分钟,调用了10000次Oracle

Embed Size (px)

Citation preview

oracle/processes

oracle/processes

bugproccess

>

PROFILE

PROFILEcreateprofile ses_conn limitsessions_per_user n; n

PROFILEalter user xxx profile ses_conn;

RESOURCE_LIMITTRUEalter system set recource_limit=TRUE;

Oracle SQL

select distinct p.spid unix_process, s.terminal, to_char(s.logon_time,'YYYY/MON/DD HH24:MI') Logon_Time, s.usernamefrom v$process p, v$session swhere p.addr=s.paddr order by 2

SQL

1. select event,sum(decode(wait_time,0,0,1)) prev, sum(decode(wait_time,0,1,0)) curr,count(*)from v$session_wait group by event order by 4;2.select name,waits,gets,waits/gets ratio from v$rollstat a,v$rollname b where a.usn=b.usn;3.I/Oselect df.tablespace_name name,df.file_name "file",f.phyrds pyr,f.phyblkrd pbr,f.phywrts pyw,f.phyblkwrt pbw from v$filestat f,dba_data_files dfwhere f.file#=df.file_id4.I/Oselect substr(a.file#,1,2) "#",substr(a.name,1,30) "name",a.status,a.bytes,b.phyrds,b.phywrtsfrom v$datafile a,v$filestat bwhere a.file#=b.file#5.select user_indexes.table_name, user_indexes.index_name,uniqueness, column_namefrom user_ind_columns, user_indexeswhere user_ind_columns.index_name = user_indexes.index_nameand user_ind_columns.table_name = user_indexes.table_name order by user_indexes.table_type, user_indexes.table_name,user_indexes.index_name, column_position;6. SGA

select a.value + b.value "logical_reads", c.value "phys_reads",round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO" from v$sysstat a, v$sysstat b, v$sysstat cwhere a.statistic# = 38 and b.statistic# = 39 and c.statistic# = 40;

7. SGA

select parameter, gets,Getmisses , getmisses/(gets+getmisses)*100 "miss ratio",(1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 "Hit ratio"from v$rowcache where gets+getmisses 0group by parameter, gets, getmisses;

8. SGA 1%

select sum(pins) "Total Pins", sum(reloads) "Total Reloads",sum(reloads)/sum(pins) *100 libcachefrom v$librarycache;

select sum(pinhits-reloads)/sum(pins) "hit radio",sum(reloads)/sum(pins) "reload percent" from v$librarycache;

9.

select count(name) num_instances ,type ,sum(source_size) source_size ,sum(parsed_size) parsed_size ,sum(code_size) code_size ,sum(error_size) error_size,sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size) size_required from dba_object_size group by type order by 2;

10. SGA 1%

SELECT name, gets, misses, immediate_gets, immediate_misses,Decode(gets,0,0,misses/gets*100) ratio1,Decode(immediate_gets+immediate_misses,0,0,immediate_misses/(immediate_gets+immediate_misses)*100) ratio2FROM v$latch WHERE name IN ('redo allocation', 'redo copy');

11. .10 sort_area_size

SELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts (disk)');

12. SQL

SELECT osuser, username, sql_text from v$session a, v$sqltext bwhere a.sql_address =b.address order by address, piece;

13.

SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE;SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM V$ROWCACHE;SELECT SUM(PINS) "EXECUTIONS", SUM(RELOADS) "CACHE MISSES WHILE EXECUTING" FROM V$LIBRARYCACHE;

,1%,0%

SELECT SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES"FROM V$ROWCACHE

14. ORACLE

select * from sys.props$ where name='NLS_CHARACTERSET';

15. MTS

select busy/(busy+idle) "shared servers busy" from v$dispatcher;

0.5

select sum(wait)/sum(totalq) "dispatcher waits" from v$queue where type='dispatcher';select count(*) from v$dispatcher;select servers_highwater from v$mts;

servers_highwatermts_max_servers

16.

select tablespace_name,count(tablespace_name) from dba_free_space group by tablespace_name having count(tablespace_name)>10;

alter tablespace name coalesce;alter table name deallocate unused;

create or replace view ts_blocks_v asselect tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_spaceunion allselect tablespace_name,block_id,bytes,blocks,segment_name from dba_extents;

select * from ts_blocks_v;

select tablespace_name,sum(bytes),max(bytes),count(block_id) from dba_free_space group by tablespace_name;

SELECT segment_name table_name , COUNT(*) extentsFROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM') GROUP BY segment_nameHAVING COUNT(*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY segment_name);

17.

select segment_name,sum(bytes),count(*) ext_quan from dba_extents where tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_name;

select segment_name,count(*) from dba_extents where segment_type='INDEX' and owner='&owner'group by segment_name;

18CPUsession

12cpu used by this session

select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 valuefrom v$session a,v$process b,v$sesstat cwhere c.statistic#=12 and c.sid=a.sid and a.paddr=b.addr order by value desc;

20.log_buffer(1%log_buffer )select rbar.name,rbar.value,re.name,re.value,(rbar.value*100)/re.value||'%' "radio"from v$sysstat rbar,v$sysstat rewhere rbar.name='redo buffer allocation retries'and re.name='redo entries';

19SQL

SELECT SQL_TEXTFROM V$SQL

SQL

SQL select * from cat; select * from tab; select table_name from user_tables; select text from user_views where view_name=upper('&view_name'); select index_name,table_owner,table_name,tablespace_name,status from user_indexes order by table_name; select trigger_name,trigger_type,table_owner,table_name,status from user_triggers; select owner,name,master,table_name,last_refresh,next from user_snapshots order by owner,next; select * from syn; select * from seq; select * from user_db_links; select TABLE_NAME,CONSTRAINT_NAME,SEARCH_CONDITION,STATUS from user_constraints WHERE TABLE_name=upper('&TABLE_Name'); select * from user_tab_privs; select * from user_sys_privs; select * from all_users order by user_id; select tablespace_name,sum(bytes) ,max(bytes),count(*) from dba_free_space group by tablespace_name select table_name from dict order by table_name; select * from v$lock;DDL select name,value$ from props$ where name='NLS_CHARACTERSET'; inin.ora select name,value from v$parameter order by name; SQL select sql_text from v$sqlarea; select * from v$database select * from V$controlfile; select * from V$logfile; select * from V$log; select * from V$datafile; NLS select * from V$nls_parameters; ORACLE select * from v$version; select * from v$bgprocess; select * from product_component_version;

select substr(table_name,1,20) tabname,substr(column_name,1,20)column_name,rtrim(data_type)||'('||data_length||')' from system.dba_tab_columnswhere owner='username'

select a.file_id "FileNo",a.tablespace_name "Tablespace_name",round(a.bytes/1024/1024,4) "Total MB",round((a.bytes-sum(nvl(b.bytes,0)))/1024/1024,4) "Used MB",round(sum(nvl(b.bytes,0))/1024/1024,4) "Free MB",round(sum(nvl(b.bytes,0))/a.bytes*100,4)"%Free"from dba_data_files a, dba_free_space bwhere a.file_id=b.file_id(+)group by a.tablespace_name,a.file_id,a.bytes order by a.tablespace_name

declareCursor c is select TNAME from tab;vCount Number;table_nm Varchar2(100);sq varchar2(300);beginfor r in c looptable_nm:=r.TNAME;sq:='selectcount(*)from '|| table_nm;execute immediate sq into vCount;if vCount>0 then dbms_output.put_line(r.tname);end if;end loop;end;

SELECTSYS_CONTEXT('USERENV','TERMINAL') TERMINAL,SYS_CONTEXT('USERENV','HOST') HOST,SYS_CONTEXT('USERENV','OS_USER') OS_USER,SYS_CONTEXT('USERENV','IP_ADDRESS') IP_ADDRESSFROM DUAL

OracleSQL

Windows NT 4.0 510.2GB SCSIC:D:E:F:G:Oracle 8.0.4 for Windows NTNTC:\WINNTOracleC:\ORANT

10MIS50-100I/O

C:NTOracleD:13GB11GBE:23GB21GBF:12GB10.5GBG:22GB20.5GB

I/O

1

SQL> col owner format a20SQL> col status format a10SQL> col segment_name format a20SQL> col tablespace_name format a20

SQL> SELECT OWNER,SEGMENT_NAME,TABLESPACE_NAME,SUM(BYTES)/1024/1024 M 2FROM DBA_SEGMENTS 3WHERE SEGMENT_TYPE='ROLLBACK' 4GROUP BY OWNER,SEGMENT_NAME,TABLESPACE_NAME5/

OWNER SEGMENT_NAME TABLESPACE_NAME M-------------------- -------------------- -------------------- ---------SYS RB1 ROLLBACK_DATA .09765625SYS RB10 ROLLBACK_DATA .09765625SYS RB11 ROLLBACK_DATA .09765625SYS RB12 ROLLBACK_DATA .09765625SYS RB13 ROLLBACK_DATA .09765625SYS RB14 ROLLBACK_DATA .09765625SYS RB15 ROLLBACK_DATA .09765625SYS RB16 ROLLBACK_DATA .09765625SYS RB2 ROLLBACK_DATA .09765625SYS RB3 ROLLBACK_DATA .09765625SYS RB4 ROLLBACK_DATA .09765625SYS RB5 ROLLBACK_DATA .09765625SYS RB6 ROLLBACK_DATA .09765625SYS RB7 ROLLBACK_DATA .09765625SYS RB8 ROLLBACK_DATA .09765625SYS RB9 ROLLBACK_DATA .09765625SYS RB_TEMP SYSTEM .24414063SYS SYSTEM SYSTEM .1953125

18.

SQL> SELECT SEGMENT_NAME,OWNER,2 TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS 3 FROM DBA_ROLLBACK_SEGS4/

SEGMENT_NAME OWNER TABLESPACE_NAME SEGMENT_ID FILE_ID STATUS-------------------- -------------------- -------------------- ---------- --------- ----------SYSTEM SYS SYSTEM 0 1 ONLINERB_TEMP SYS SYSTEM 1 1 OFFLINERB1 PUBLIC ROLLBACK_DATA 2 3 ONLINERB2 PUBLIC ROLLBACK_DATA 3 3 ONLINERB3 PUBLIC ROLLBACK_DATA 4 3 ONLINERB4 PUBLIC ROLLBACK_DATA 5 3 ONLINERB5 PUBLIC ROLLBACK_DATA 6 3 ONLINERB6 PUBLIC ROLLBACK_DATA 7 3 OFFLINERB7 PUBLIC ROLLBACK_DATA 8 3 OFFLINERB8 PUBLIC ROLLBACK_DATA 9 3 OFFLINERB9 PUBLIC ROLLBACK_DATA 10 3 OFFLINERB10 PUBLIC ROLLBACK_DATA 11 3 OFFLINERB11 PUBLIC ROLLBACK_DATA 12 3 OFFLINERB12 PUBLIC ROLLBACK_DATA 13 3 OFFLINERB13 PUBLIC ROLLBACK_DATA 14 3 OFFLINERB14 PUBLIC ROLLBACK_DATA 15 3 OFFLINERB15 PUBLIC ROLLBACK_DATA 16 3 OFFLINERB16 PUBLIC ROLLBACK_DATA 17 3 OFFLINE

18.

2.sqlcg_sys.sqlSQL> @cg_sys.sql

--oradata

--alter rollback segment rb1 offline;alter rollback segment rb2 offline;alter rollback segment rb3 offline;alter rollback segment rb4 offline;alter rollback segment rb5 offline;alter rollback segment rb6 offline;alter rollback segment rb7 offline;alter rollback segment rb8 offline;alter rollback segment rb9 offline;alter rollback segment rb10 offline;alter rollback segment rb11 offline;alter rollback segment rb12 offline;alter rollback segment rb13 offline;alter rollback segment rb14 offline;alter rollback segment rb15 offline;alter rollback segment rb16 offline;

--drop rollback segment rb1;drop rollback segment rb2;drop rollback segment rb3;drop rollback segment rb4;drop rollback segment rb5;drop rollback segment rb6;drop rollback segment rb7;drop rollback segment rb8;drop rollback segment rb9;drop rollback segment rb10;drop rollback segment rb11;drop rollback segment rb12;drop rollback segment rb13;drop rollback segment rb14;drop rollback segment rb15;drop rollback segment rb16;

--1--create tablespace USER_DATA1 datafile 'd:\oradata\user1_1.ora' size 512M, 'd:\oradata\user1_2.ora' size 512M, 'd:\oradata\user1_3.ora' size 512M, 'd:\oradata\user1_4.ora' size 512M, 'd:\oradata\user1_5.ora' size 512M, 'd:\oradata\user1_6.ora' size 512M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITEDdefault storage (initial 128K next 2M pctincrease 0);--initial 128K----initial5M5M--AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITED5M

--2--create tablespace USER_DATA2 datafile 'e:\oradata\user2_1.ora' size 512M,'e:\oradata\user2_2.ora' size 512M,'e:\oradata\user2_3.ora' size 512M,'e:\oradata\user2_4.ora' size 512M,'e:\oradata\user2_5.ora' size 512M,'e:\oradata\user2_6.ora' size 512M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITEDdefault storage (initial 128K next 2M pctincrease 0);

--1create tablespace INDEX_DATA1 datafile 'f:\oradata\index1_1.ora' size 512M,'f:\oradata\index1_2.ora' size 512M,'f:\oradata\index1_3.ora' size 512M,'f:\oradata\index1_4.ora' size 512M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITEDdefault storage (initial 128K next 2M pctincrease 0);

--2create tablespace INDEX_DATA2 datafile 'g:\oradata\index2_1.ora' size 512M,'g:\oradata\index2_2.ora' size 512M,'g:\oradata\index2_3.ora' size 512M,'g:\oradata\index2_4.ora' size 512M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITEDdefault storage (initial 128K next 2M pctincrease 0);

--1--40Minitial 40M--40Mcreate tablespace ROLLBACK_DATA1 datafile 'd:\oradata\roll1_1.ora' size 512M'd:\oradata\roll1_2.ora' size 512M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITEDdefault storage (initial 40M next 5M pctincrease 0);

--2create tablespace ROLLBACK_DATA2 datafile 'e:\oradata\roll2_1.ora' size 512M,'e:\oradata\roll2_2.ora' size 512M AUTOEXTEND ON NEXT 5M MAXSIZE UNLIMITEDdefault storage (initial 40M next 5M pctincrease 0);

--1create tablespace TEMPORARY_DATA1 datafile 'f:\oradata\temp1_1.ora' size 512M default storage (initial 10M next 3M pctincrease 0);

--2create tablespace TEMPORARY_DATA2 datafile 'g:\oradata\temp2_1.ora' size 512M default storage (initial 10M next 3M pctincrease 0);

--alter tablespace TEMPORARY_DATA1 temporary;alter tablespace TEMPORARY_DATA2 temporary;

------50-100Oracle20

create public rollback segment rb01 tablespace rollback_data1;create public rollback segment rb02 tablespace rollback_data1;create public rollback segment rb03 tablespace rollback_data1;create public rollback segment rb04 tablespace rollback_data1;create public rollback segment rb05 tablespace rollback_data1;create public rollback segment rb06 tablespace rollback_data1;create public rollback segment rb07 tablespace rollback_data1;create public rollback segment rb08 tablespace rollback_data1;create public rollback segment rb09 tablespace rollback_data2;create public rollback segment rb10 tablespace rollback_data2;--8182create public rollback segment rb11 tablespace rollback_data2;create public rollback segment rb12 tablespace rollback_data2;create public rollback segment rb13 tablespace rollback_data2;create public rollback segment rb14 tablespace rollback_data2;create public rollback segment rb15 tablespace rollback_data2;create public rollback segment rb16 tablespace rollback_data2;create public rollback segment rb17 tablespace rollback_data2;create public rollback segment rb18 tablespace rollback_data2;create public rollback segment rb19 tablespace rollback_data2;create public rollback segment rb20 tablespace rollback_data2;

--onlinealter rollback segment rb01 online;alter rollback segment rb02 online;alter rollback segment rb03 online;alter rollback segment rb04 online;alter rollback segment rb05 online;alter rollback segment rb06 online;alter rollback segment rb07 online;alter rollback segment rb08 online;alter rollback segment rb09 online;alter rollback segment rb10 online;alter rollback segment rb11 online;alter rollback segment rb12 online;alter rollback segment rb13 online;alter rollback segment rb14 online;alter rollback segment rb15 online;alter rollback segment rb16 online;alter rollback segment rb17 online;alter rollback segment rb18 online;alter rollback segment rb19 online;alter rollback segment rb20 online;

--col segment format a30SELECT SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM DBA_ROLLBACK_SEGS;

--col file_name format a40col tablespace_name format a20select file_name,file_id,tablespace_name,bytes,status from dba_data_files;

OracleOracleOracleSGAininorcl.ora

COLUMN roll_name FORMAT a13 HEADING 'Rollback Name'COLUMN tablespaceFORMAT a11 HEADING 'Tablspace'COLUMN in_extentsFORMAT a20 HEADING 'Init/Next Extents'COLUMN m_extents FORMAT a10 HEADING 'Min/Max Extents'COLUMN status FORMAT a8 HEADING 'Status'COLUMN wraps FORMAT 999 HEADING 'Wraps' COLUMN shrinks FORMAT 999 HEADING 'Shrinks'COLUMN opt FORMAT 999,999,999HEADING 'Opt. Size'COLUMN bytes FORMAT 999,999,999HEADING 'Bytes'COLUMN extents FORMAT 999 HEADING 'Extents'

SELECT a.owner || '.' || a.segment_name roll_name, a.tablespace_name tablespace, TO_CHAR(a.initial_extent) || ' / ' || TO_CHAR(a.next_extent) in_extents, TO_CHAR(a.min_extents) || ' / ' || TO_CHAR(a.max_extents) m_extents, a.status status, b.bytes bytes, b.extents extents, d.shrinks shrinks, d.wraps wraps, d.optsize optFROM dba_rollback_segs a, dba_segments b, v$rollname c, v$rollstat dWHERE a.segment_name = b.segment_nameANDa.segment_name = c.name (+)ANDc.usn = d.usn (+)ORDER BY a.segment_name;

PL/SQL

PL/SQL

1.1 PL/SQL

PL/SQLORACLEPL/SQLSQLSQLPL/SQL

1.2 PL/SQL

DECLAREBEGINEXCEPTIONEND;1.3 PL/SQL

NUMBER

BINARY_INTEGER

DECNUMBER

DOUBLE PRECISIONNUMBER

INTEGERNUMBER

INTNUMBER

NUMERICNUMBERNUMBER

REALNUMBERNUMBER

SMALLINTNUMBERINTEGER

VARCHAR2

CHAR

LONG32,767

DATE

BOOLEANTRUE OR FALSE

ROWIDROWID

DECLARE ORDER_NO NUMBER(3); CUST_NAME VARCHAR2(20); ORDER_DATE DATE; EMP_NO INTEGER:=25; PI CONSTANT NUMBER:=3.1416;BEGINNULL;END;1.4 PL/SQL

1.4.1 PL/SQL

DECLARE X NUMBER;BEGIN X:= 'yyyy';--Error HereEXCEPTION WHEN VALUE_ERROR THEN DBMS_OUTPUT.PUT_LINE('EXCEPTION HANDED');END;

EXCEPTION WHEN first_exception THENWHEN second_exception THENWHEN OTHERS THEN /*THERS*/END;

1.4.2

ORACLE

CURSOR_ALREADY_OPENORA-6511

DUP_VAL_ON_INDEXORA-0001

INVALID_CURSORORA-1001

INVALID_NUMBERORA-1722

LOGIN_DENIEDORA-1017

NO_DATA_FOUNDORA-1403

NOT_LOGGED_ONORA-1012

PROGRAM_ERRORORA-6501

ROWTYPE_MISMATCHORA-6504

STORAGE_ERRORORA-6500

TIMEOUT_ON_RESOURCEORA-0051

TOO_MANY_ROWSORA-1422SELECT INTD

TRANSACTION_BACKED_OUTORA-006

VALUE_ERRORORA-6502

ZERO_DIVIDEORA-1476

1.4.3

DECLARE BAD_ROWID EXCEPTION; X ROWID;PRAGMA EXCEPTION_INIT(BAD_ROWID,-01445);BEGIN SELECT ROWID INTO X FROM TAB WHERE ROWNUM=1;EXCEPTION WHEN BAD_ROWID THEN DBMS_OUTPUT.PUT_LINE('CANNOT QUERY ROWID FROM THIS VIEW');END;

-01445 PRAGMA EXCEPTION_INIT(-01455)ORACLE PRAGMA EXCEPTION_INIT(exception_name, error_number);error_number

1.4.4

oracleDECLARE SALARY_CODE VARCHAR2(1); INVALID_SALARY_CODE EXCEPTION;BEGIN SALARY_CODE:='X'; IF SALARY_CODE NOT IN('A', 'B', 'C') THEN RAISE INVALID_SALARY_CODE; END IF;EXCEPTION WHEN INVALID_SALARY_CODE THEN DBMS_OUTPUT.PUT_LINE('INVALID SALARY CODE');END;

1.5 PL/SQL

PL/SQLDECLARE ln_dno NUMBER; lvs_dname VARCHAR2(40);BEGIN SELECT DEPT_NO,DEPT_NAME INTO ln_dno,lvs_dname FROM dept WHERE DEPT_NO=1; DBMS_OUTPUT.PUT_LINE(TO_CHAR(ln_dno)||'.'||lvs_dname);EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.PUT_LINE('NO DATA_FOUND'); WHEN TOO_MANY_ROWS THEN DBMS_OUTPUT.PUT_LINE('TOO_MANY_ROWS');END;

1.6

CURSORPGA

1.6.1

DECLARE CURSOR C1 IS SELECT VIEW_NAME FROM ALL_VIEWS WHERE ROWNUMtrue, binds=>true) /* code to be traced goes here */ dbms_support.stop_trace()

DBMS_SUPPORT DBMS_SUPPORTMetaLink ( metalink.oracle.com) /SQLV$SESSION.SIDV$SESSION.SERIAL#TIMED_STATISTICSMAX_DUMP_FILE_SIZE

[Copy to clipboard]

CODE:

dbms_system.set_bool_param_in_session( sid => 42, serial# => 1215, parnam=> 'timed_statistics', bval => true)dbms_system.set_int_param_in_session( sid => 42, serial# => 1215, parnam=> 'max_dump_file_size', intval=> 2147483647)

Oracle8 8.1.6ALTER SYSTEM DBMS_SUPPORT

[Copy to clipboard]

CODE:

dbms_support.start_trace_in_session( sid => 42, serial# => 1215, waits => true, binds => true)/* code to be traced executes during this time window */dbms_support.stop_trace_in_session(sid => 42,serial => 1215)

SQLSET_SQL_TRACE_IN_SESSIONDBMS_SUPPORT Oracle10g DBMS_MONITOROracle10gOracle

[Copy to clipboard]

CODE:

dbms_monitor.serv_mod_act_trace_enable(service_name=> 'APPS1',module_name => 'PAYROLL',action_name => 'PYUGEN', waits => true,binds => true,instance_name => null)/* code to be traced executes during this time window */dbms_monitor.serv_mod_act_trace_disable(service_name=> 'APPS1',module_name => 'PAYROLL',action_name=> 'PYUGEN')

DBMS_MONITOROracle SQLSQL*Plus

[Copy to clipboard]

CODE:

alter session set timed_statistics=true; alter session set max_dump_file_size=unlimited; alter session set tracefile_identifier='Hello'; /* only in Oracle Database 8.1.7and later */ alter session set events '10046 trace name context forever, level 12'; select 'Howdy, it is '||sysdate from dual; exit;

USER_DUMP_DEST"Hello".trc Oracle MetaLink39817.1Optimizing Oracle PerformanceOracletkproftkproftkprof SELECT from DUAL SQL

[Copy to clipboard]

CODE:

select object_type, owner, object_name from dba_objects;

Oracle 2070

[Copy to clipboard]

CODE:

Response Time Component Duration ------------------------------------Freeway at shutdown2:osmv or move3:connect / as sysdba>startup mountalter database rename file 'xxxxx' to 'xxxxx'alter open4:alter database open;systemalter tablespace 1:connect internal as sysdba;alter tablespace xxxx offline(drop);2:osmv or move3:alter tablespace xxxx rename datafile 'xxxx' to 'xxxxx';4:alter tablespace xxxx online;

1:connect internal as sysdba;alter tablespace xxxx offline(drop);2:osmv or move3:alterdatabase xxxx rename datafile 'xxxx' to 'xxxxx';4:alter tablespace xxxx online;

:oracle8.1.7,,system

create database extent management local,invlid option.

select * from sm$ts_free;select * from sm$ts_used;select * from sm$ts_all; ?

SELECT UPPER(F.TABLESPACE_NAME) "", D.TOT_GROOTTE_MB "(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2), '990.99') "", F.TOTAL_BYTES "(M)", F.MAX_BYTES "(M)"FROM (SELECT TABLESPACE_NAME, ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES, ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT DD.TABLESPACE_NAME, ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) DWHERE D.TABLESPACE_NAME = F.TABLESPACE_NAMEORDER BY 4 DESC

[]standby Database

standby Databasesnowhitechao_pingSTANDBY DATABASESTANDBY DATABASEITITdatabase serveroracleIBMAIX UNIX UNIX AIXOracleOracleAIXbugspatchSTANDBY DATABASESTANDBY DATABASEDATEBASEHIGH AVAILABLEDISASTER RECOVERYSCALABILITYDATABASEHIGH AVAILABLE, SCALABILITYOPSOPSLICENSING FEEOPSDATABASEOPSSTANDBY DATABASEOracleOPSSTANDBYOPSclient/serverITDATABASEIT

[] Standby Database 1. Oracle High Availability, Disaster Recovery Data Duplicate Oracle High Availability Oracle (1) system faults and crashes(2) application and middleware failures(3) network failures(4) media failures(5) Human Error(6) Disasters and extended outages(7) Planned downtime, maintenance and management tasksdisaster recovery disaster recovery high availability Oracle database Oracle high availability (1) Oracle Fail Safe on NT(2) Oracle Parallel Server(3) Oracle Parallel Fail Safe(4) Oracle Advanced Quening(5) Oralce Advanced Replication(6) Oracle Standby DatabaseDuplication data distribited data Advanced Replication standby databaseOPSstandby database Advanced Replication OPS (Oracle Parallel Sever)OPS system/application high availabilityOPS CUPSMP(Symmetric Multi-Processing system) cluster (MPP Massively Parallel Processing) cluster node ()oracle instances database (1) database data files raw devices OS OS(2) database node on-line redo log file groupsbackup recovery (3) OPS data files redundance media failure RAID (redundant array of inexpensive disk) subsystem.Oracle 8i OPSOSFail Safe/Failover Advanced ReplicationReplication application access database locallydatabase TablesIndexesViewsPackages and Package BodiesProcedures and FunctionsTriggersSequencesSynonymsdatabasedatabase high availabilityyahoodatabase replication databasedatabasehigh availabilityhigh availability HR databaseaccounting database HRviewreplication accounting database replicas redundance dataReplication database high availability2. standby database standby database primary database redundance data database high availabilitystandby database primary database primary database archived log files primary database archive mode archived log files standby database standby database recovery modeapply primary database archived log files.(1) primary database standby database version release version, release patch oracle RDBMS (2) Oracle primary standby database databases physical disk drives mount instances databases(3) Primary database archive log mode(4) Oracle version 7.3 standby database7.3.x 8.0.x copy archived log files primary server standby server recovery archived log files ( OS shell scripts, sql scripts ) standby database close/nomount/mount (5) Oracle version 8i (8.1.5) primary database arhived log files remote site (standby database server) standby database mount managed recovery modestandby database apply primary node archived log files(6) Oracle version 8i (8.1.5) standby databasemount recovery modedatabase read only modestandby databasereports primary database(7) standby databaseactivatedprimary database standby database modeprimary databasestandby databaseactivedprimary database primary/standby node primary/standby databasedatabase(8) standby database primary databaseprimary database log file switchdatabase current on-line redo log fileoracle9i data guardoracle8isolaris data guard(5) (6) oralce 8i EE(Enterprise Edition)SE (Standard Edition) OPSAdvanced Replicationstandby databaseactived standby databaseprimary node primary databasedown timeprimary modestandby database (serverstandby node) downtime ------------------------------------------------------------------------------------------------ Standby database Oracle Standby Database standby database standby database disaster protectionstandby database primary database protection against data corruptionstandby database primary database archived log files apply primary databasestandby database primary database 24x7 uptime of SIS databasein case of failure on primary:1.1 1/2 hour to fail over to standby database1.2 no more than 5 mins data loss1.3 2 hours scheduled downtime to revert back to primary/standby configuration1. remote site standby database activing standby database cold backup2. 4 log groups 2 memberson-line redo log file size 10M 10 archived files cron job log switch.3. standby database server primary/standby database.DBA down time (DBA2-4) 1. (1) primary database archived mode:SQL> archive log list;Database log mode Archive ModeAutomatic archival EnabledArchive destination /oradba/sisi/archOldest online log sequence 4783Next log sequence to archive 4786Current log sequence 4786(2) high availablityprimary node OSoracle primary node (3) oracle 8.1.7EEstandby node net8 primary node archived log files standby node port 1512 standby database listener(Oracle port 1521) 2. standby databasestandby databaseprimary databasecold backupRMANexport dmp file(1) standby nodeprimary nodedatafile directory/oradba/sisi/(2) primary database initialize parameter file: ( application)primary database:db_name = sisiinstance_name = sisiservice_names = sisicontrol_files = (/oradba/sisi/ctrl/stctl1si.ctl, /oradba/sisi/ctrl/stctl2si.ctl)db_files = 500compatible = 8.1.7.0.0rollback_segments = (rbs1, rbs2, rbs3, rbs4, rbs5, rbs6, rbs7, rbs8, rbs9, rbs10, rbs11, rbs12, rbs13, rbs14, rbs15)db_file_multiblock_read_count = 32optimizer_mode = rule #application requireddb_block_size = 8192db_block_buffers = 83200shared_pool_size = 52428800sort_area_size = 1048576sort_area_retained_size = 64000log_checkpoint_interval = 10000sessions = 252transactions = 280transactions_per_rollback_segment = 4processes = 800open_cursors = 1000dml_locks = 500log_buffer = 20971520log_checkpoint_timeout = 10000cursor_space_for_time = trueutl_file_dir=/tmptimed_statistics = false # if you want timed statisticsmax_dump_file_size = 2097152 # limit trace file size to 5 Meg eachcore_dump_dest = /oradba/sisi/cdumpbackground_dump_dest= /oradba/sisi/bdumpuser_dump_dest = /oradba/sisi/udumpremote_login_passwordfile = noneparallel_max_servers = 0#The following parameters are the HA parameters needed for Standby Database on primary sideLOG_ARCHIVE_START=TRUELOG_ARCHIVE_FORMAT = "sisi%S.arc"LOG_ARCHIVE_DEST_1='LOCATION=/oradba/sisi/arch MANDATORY REOPEN=60'LOG_ARCHIVE_DEST_STATE_1=ENABLESTANDBY_ARCHIVE_DEST='/oradba/sisi/arch'LOG_ARCHIVE_DEST_2='SERVICE=standby_sisi MANDATORY REOPEN=60'LOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_MIN_SUCCEED_DEST=2Standby database sidedirectorydb_name = sisiinstance_name = sisiservice_names = sisicontrol_files = (/oradba/sisi/ctrl/stctl1si.ctl, /oradba/sisi/ctrl/stctl2si.ctl)db_files = 500compatible = 8.1.7.0.0rollback_segments = (rbs1, rbs2, rbs3, rbs4, rbs5, rbs6, rbs7, rbs8, rbs9, rbs10, rbs11, rbs12, rbs13, rbs14, rbs15)db_file_multiblock_read_count = 32optimizer_mode = ruledb_block_size = 8192db_block_buffers = 83200shared_pool_size = 52428800sort_area_size = 1048576 #100M Change to 1M after import.sort_area_retained_size = 64000log_checkpoint_interval = 10000sessions = 252transactions = 280transactions_per_rollback_segment = 4processes = 800open_cursors = 1000dml_locks = 500log_buffer = 20971520log_checkpoint_timeout = 10000cursor_space_for_time = trueutl_file_dir=/tmptimed_statistics = false # if you want timed statisticsmax_dump_file_size = 2097152 # limit trace file size to 5 Meg eachcore_dump_dest = /oradba/sisi/cdumpbackground_dump_dest= /oradba/sisi/bdumpuser_dump_dest = /oradba/sisi/udumpremote_login_passwordfile = noneparallel_max_servers = 0#The following parameter are the HA parameters needed for Standby Database on standby sideLOG_ARCHIVE_START=FALSELOG_ARCHIVE_FORMAT = "sisi%S.arc"LOG_ARCHIVE_DEST_1='LOCATION=/oradba/sisi/arch MANDATORY REOPEN=60'LOG_ARCHIVE_DEST_STATE_1=ENABLESTANDBY_ARCHIVE_DEST='/oradba/sisi/arch'LOG_ARCHIVE_DEST_2='SERVICE=standby_sisi MANDATORY REOPEN=60'LOG_ARCHIVE_DEST_STATE_2=ENABLELOG_ARCHIVE_MIN_SUCCEED_DEST=2(3) shutdown primary database normal/immediate startup primary database pfile parameter file. ftpOS datafiles/online redo log filesstandby node directory(4) standby database control file.Alter database create standby controlfile as /oradba/sisi/temp/stctl1si.ctl; rcp ftpstandby nodedirectory cp command(5) primary side tnsnames.ora(netasst)STANDBY_SISI =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.19.26.10)(PORT = 1512)))(CONNECT_DATA =(SID = sisi)))(6) standby node listener.ora(netasst)ST_LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = prtltest)(PORT = 1512)))SID_LIST_ST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = sisi)(ORACLE_HOME = /oracle/8.1.7)(SID_NAME = sisi)))(7) start standby listener:lsnrctl start st_listener;(8) start standby database$ export ORACLE_SID=sisi$ sqlplusSQL*Plus: Release 8.1.7.0.0 - Production on Mon Dec 31 00:54:28 2001(c) Copyright 2000 Oracle Corporation. All rights reserved.Enter user-name: internalConnected to:Oracle8i Enterprise Edition Release 8.1.7.0.0 - ProductionJServer Release 8.1.7.0.0 - ProductionSQL>startup nomount pfile=/oradba/sisi/pfile/stinitsi.ora;SQL>alter database mount standby database;(9) apply log files.mountstandby databaseprimary databasearchived logsSQL> select sequence# from v$log_history;archived log files copystandby nodeSQL> recovery automatic standby databasemanaged recovery mode:SQL> recovery managed standby databasestandby databasemanaged recovery mode

Standby database

Standby databasestandby databaseoracle 8i(7.3.x 8.0.x) standby databasemanual recovery modeactived primary database archived log filesOS oracle8.1.x(EE)oracle standby databasemanaged recoveredd mode read only modearchived log files oracle networkstandby side oracle 8.1.7EE unix1. standby databasestandby database managed recovered mode(1) database managed recovered mode primary database standby database recoverd gap log files archived log files standby databasedatabase log managed mode primary database standby database archived log files recoverySQL> recover standby database;OrSQL> recover automatic standby database; command ora-00308, 27037, 01547, 01194, 01110, 01112standby database managed mode:SQL> recover managed standby database;(2) standby database managed recovery moderecover managed standby database; command line window session open standby database archived log file standby noderecovery standby database open managed mode session windowSQL> recover managed standby database timeout 15; managed mode open 15 15 archived log filessession archived log files recover standby database crontab job primary databasestandby database crontab job(3) primary database data files size standby database database2. standby databasedatabase standby databasenodedatabasesDBA standby database standby database downtime cold back hard disk archived log files; full export data files hotback standby database downtime primary database cold backup primary database full export data files hotback archived log files backup tape downtime standby database backupprimary database cold backupStandby database backup shutdown ( shutdown normal/immediate) standby database read-onlyshutdown cold backupstandby database shutdowndatabase managed recovery mount recover primary/standby database archived log files standby databaseread-only database managed recovery mode backup standby database shutdown immediate cold backup --------------------------------------------------------------------------------------------- Opening/Activating a standby databasestandby database recovery opened read-only activeated access standby database data1. opening standby database read-only: standby database opened read-only standby databaseopened read-only mode recovery/managed recovery mode opening standby database read-only standby database archived log files applieddatabase read-only mode run report on-line data access run report overheat reports standby database open standby database read-only run reports primary database read-onlyprimary database archived log files standby database apply standby database run reports standby database managed/manual recovery mode standby databaseshutdownSQL> startup nomount pfile=/path/stinit.oraSQL> alter database mount standby database;SQL> alter database open read only; standby database manual/managed recovery mode:SQL> recover cancel/recover managed standby database cancel( session)SQL> alter database open read only; read-only mode standby database manual/managed recovery mode:SQL> recover standby database;/recover managed standby database time out 15; database SQL> select status from v$instance;STATUS-------MOUNTED2. activating a standby database primary database standby database primary database standby database standby standby database standby database primary database downtime (1) shutdown primary database. primary database database open online recovery online recovery ( data ) archive current online log file:SQL> alter system archive log current;(2) standby database nodeactivating apply archived log file primary database database down data online log file data activating apply archived log file(3) standby database mount activate standby database:SQL> alter database activate standby database;(4) shutdown the standby database normal/immediate cold backup standby database activated primary database resetlogs startup cold backup backup recover standby database activated standby database parameter file log_archive_start false archive log filestartup ture primary database database recovered to the point of failure(5) open the standby database.SQL> startup pfile=/path/stinit.oraclient/server mode primary database activate standby database client side tnsnames.ora database hose name IP

Primary and standby database

Primary and standby database standby database primary database failure primary database standby database Standby database primary/standby nodes standby node primary database primarystandby database downtimestandby database primary database open apply open archived logs primary database node tnsnames.ora standby node listener.ora( standby database) standby database activing standby database primary database recoverystandby node standby databaseprimary node primary database standby nodedatabase standby database down time standby nodedatabase shutown all database file ( control files parameter file) primary node database alter.log/trace files/archived log files open database application side tnsnames.ora host name/IP primary node primary database 10 standby node database shutdown primary node database standby database parameter file parameter file open primary database standby database control file standby node control filesprimary database archived log files standby database managed recovery mode primary database1) standby node standby database control file:Alter database create standby control file /oradba/DBA/stcrt1si.ctl;2) Shutdown database normal/immediate;3) database4) archived log files ( primary node)5) parameter file data files/control files/online redo log files primary node directory6) instance open database standby database1) control file ( primary database) standby database parameter file directory 2) standby node archived log files.3) parameter file standby database parameter file () Startup standby database:Startup nomount pfile=xxxxxxxxxxxxxxxxxxx;Alter database mount standby database;4) Recover managed standby database timeout 15;(primary transactions archived log file managed recover mode archived log files recover primary node primary database down time primary node database standby database primary node parameter file standby mode parameter network file (standby database parameter file, tnsnames.ora, listener.ora ) activated primary node standby databaseshutdown cold backup system downtime cold backup standby database standby node standby database ----------------------------------------------------------------------------------------------------- standby database standby database standby database blossom(ak66), allanliao, (it is a good name. ), guan_yi 1. Oracle 8i Oracle8i Standby Database Concepts and Administrationhttp://otn.oracle.com/docs/products.../a76995/toc.htm2. Oracle white papers.http://otn.oracle.com/deploy/availa...8i_listing.html snowhite2000

schema

schema############################################################ getcode.sql --set feedback offset heading offset termout offset linesize 1000set trimspool onset verify offspool &1..sqlprompt set define offselect decode( type||'-'||to_char(line,'fm99999'), 'PACKAGE BODY-1', '/'||chr(10), null) || decode(line,1,'create or replace ', '' ) || text textfrom user_sourcewhere name = upper('&&1')order by type, line;prompt /prompt set define onspool offset feedback onset heading onset termout onset linesize 100

############################################################ getallcode.sql --set termout offset heading offset feedback offset linesize 50spool xtmpx.sqlselect '@getcode ' || object_namefrom user_objectswhere object_type in ( 'PROCEDURE', 'FUNCTION', 'PACKAGE' )/spool offspool getallcode_INSTALL.sqlselect '@' || object_namefrom user_objectswhere object_type in ( 'PROCEDURE', 'FUNCTION', 'PACKAGE' )/spool offset heading onset feedback onset linesize 130set termout [email protected]############################################################ getaview.sql --set heading offset feedback offset linesize 1000set trimspool onset verify offset termout offset embedded onset long 50000

column column_name format a1000column text format a1000

spool &1..sqlprompt create or replace view &1 (select decode(column_id,1,'',',') || column_name column_namefrom user_tab_columnswhere table_name = upper('&1')order by column_id/prompt ) asselect textfrom user_viewswhere view_name = upper('&1')/prompt /spool off

set heading onset feedback onset verify onset termout on

############################################################ getallview.sql --set heading offset feedback offset linesize 1000set trimspool onset verify offset termout offset embedded on

spool tmp.sqlselect '@getaview ' || view_namefrom user_views/spool off

set termout onset heading onset feedback onset verify on@tmp

########################################################## gettrig.sql --set heading offset feedback offset linesize 1000set trimspool onset verify offset termout offset embedded on

spool &1..sqlselect 'create or replace trigger "'|| trigger_name||'"'||chr(10)|| decode(substr(trigger_type,1,1), 'A','AFTER','B',BEFORE','I','INSTEAD OF')|| CHR(10)|| triggering_event||chr(10)|| 'ON"'||table_owner||'"."'|| table_name||'"'||chr(10)|| decode(instr(trigger_type,'EACH ROW'),0,null, 'FOR EACH ROW')||chr(10),trigger_bodyfrom user_triggerswhere trigger_name = upper('&1')/prompt /

spool offset verify onset feedback onset termout onset heading on

################################################################# analyze.sql -- set serveroutput on size 100000declarev_per number(3);v_start number := dbms_utility.get_time;v_end number;begin

for rec in (select segment_name,segment_type,ceil(sum(bytes)/1024/1024) segment_sizefrom user_segments group by segment_name,segment_type)loop

if rec.segment_type = 'INDEX' then dbms_stats.gather_index_stats(ownname=>'???',-- INDNAME=>rec.segment_name );

-- dbms_output.put_line(rec.segment_name||' '||rec.segment_size||'m '||ceil((dbms_utility.get_time - v_start)/100)||'s'); v_start := dbms_utility.get_time;

elsif rec.segment_type = 'TABLE' then case when rec.segment_size < 32 then v_per := 100; when rec.segment_size < 320 then v_per := 10; else v_per := 1; end case; dbms_stats.gather_table_stats(OWNNAME=>'???', TABNAME=>rec.segment_name, ESTIMATE_PERCENT=>v_per, METHOD_OPT=>'FOR ALL INDEXED COLUMNS');

-- dbms_output.put_line(rec.segment_name||' '||rec.segment_size||'m '||ceil((dbms_utility.get_time - v_start)/100)||'s'); v_start := dbms_utility.get_time;

end if;end loop;end;/

############################################################### print_table -- create or replaceprocedure print_table( p_query in varchar2 )AUTHID CURRENT_USERis l_theCursor integer default dbms_sql.open_cursor; l_columnValue varchar2(4000); l_status integer; l_descTbl dbms_sql.desc_tab; l_colCnt number;begin dbms_sql.parse(l_theCursor,p_query, dbms_sql.native ); dbms_sql.describe_columns( l_theCursor, l_colCnt, l_descTbl);

for i in 1 .. l_colCnt loop dbms_sql.define_column(l_theCursor, i, l_columnValue, 4000); end loop;

l_status := dbms_sql.execute(l_theCursor);

while ( dbms_sql.fetch_rows(l_theCursor) > 0 ) loop for i in 1 .. l_colCnt loop dbms_sql.column_value( l_theCursor, i, l_columnValue ); dbms_output.put_line( rpad( l_descTbl(i).col_name, 30 ) || ': ' || l_columnValue ); end loop; dbms_output.put_line( '-----------------' ); --,dbms_output.enable() end loop;exception when others then dbms_sql.close_cursor( l_theCursor ); RAISE;end;/

grant execute on print_table to public;

--::ADMIN_MEMBER_ID : dealexpressVIEW_NAME : Deal ExpressBUSINESS_TYPE : 5FIRST_NAME : TimLAST_NAME : HortonJOB_TITLE :PROVINCE : WisconsinCOUNTRY : USPHONE_COUNTRY : 1920PHONE_AREA : 623PHONE_NUMBER : 9528FAX_COUNTRY : 1920FAX_AREA : 623FAX_NUMBER : 9528MOBILE_NO :ZIP : 53925ADDRESS : 215 Robbins RdCITY : Columbus

####################################################### show_space --create or replaceprocedure show_space( p_segname in varchar2,p_owner in varchar2 default user,p_type in varchar2 default 'TABLE',p_partition in varchar2 default NULL )authid current_useras l_free_blks number;

l_total_blocks number; l_total_bytes number; l_unused_blocks number; l_unused_bytes number; l_LastUsedExtFileId number; l_LastUsedExtBlockId number; l_LAST_USED_BLOCK number; procedure p( p_label in varchar2, p_num in number ) is begin dbms_output.put_line( rpad(p_label,40,'.') || p_num ); end;begin for x in ( select tablespace_name from user_tablespaces where tablespace_name = ( select tablespace_name from user_segments where segment_type = p_type and segment_name = p_segname and SEGMENT_SPACE_MANAGEMENT 'AUTO' ) ) loop dbms_space.free_blocks ( segment_owner => p_owner, segment_name => p_segname, segment_type => p_type, partition_name => p_partition, freelist_group_id => 0, free_blks => l_free_blks ); end loop;

dbms_space.unused_space ( segment_owner => p_owner, segment_name => p_segname, segment_type => p_type, partition_name => p_partition, total_blocks => l_total_blocks, total_bytes => l_total_bytes, unused_blocks => l_unused_blocks, unused_bytes => l_unused_bytes, LAST_USED_EXTENT_FILE_ID => l_LastUsedExtFileId, LAST_USED_EXTENT_BLOCK_ID => l_LastUsedExtBlockId, LAST_USED_BLOCK => l_LAST_USED_BLOCK );

p( 'Free Blocks', l_free_blks ); p( 'Total Blocks', l_total_blocks ); p( 'Total Bytes', l_total_bytes ); p( 'Total MBytes', trunc(l_total_bytes/1024/1024) ); p( 'Unused Blocks', l_unused_blocks ); p( 'Unused Bytes', l_unused_bytes ); p( 'Last Used Ext FileId', l_LastUsedExtFileId ); p( 'Last Used Ext BlockId', l_LastUsedExtBlockId ); p( 'Last Used Block', l_LAST_USED_BLOCK );end;

####################################################################### moveall.sql--moverebuild set echo off

column order_col1 noprintcolumn order_col2 noprint

set heading offset verify offset feedback offset echo off

spool move_build_tpcrm.sql!dateselect decode( segment_type, 'TABLE', segment_name, table_name ) order_col1, decode( segment_type, 'TABLE', 1, 2 ) order_col2, 'alter ' || segment_type || ' ' || segment_name || decode( segment_type, 'TABLE', ' move; ', ' rebuild; ' )from user_segments, (select table_name, index_name from user_indexes )where segment_type in ( 'TABLE', 'INDEX' ) and segment_name = index_name (+) and tablespace_name in ()order by 1, 2/ !datespool off

set heading onset verify onset feedback onset echo on

REM UNCOMMENT TO AUTO RUN the generated commandsREM ELSE edit move_build.sql, modify as needed and run it@move_build

9istandby database

oracle 9idata guard9istandby

Windows 2000 Professional + Serveice pack 4Oracle 9201SID:pormalsSID:pormalsoracleOMF

1.pack

2.Software

3.dbca zhs16gbk

4.

5., copyredo log sqlplus /nolog SQL> conn / as sysdba; SQL> select file_name from dba_data_files; copySQL> select member from v$logfile; copySQL> shutdown immediate; copy .

6.(oracle9i) C:\Oracle\Archsqlplus /nolog SQL> conn / as sysdba; Connected. SQL> startup mount; SQL> alter database archivelog; SQL> archive log start; SQL> archive log list; SQL> alter database open; SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=C:\Oracle\Arch'; SQL> alter system set log_archive_format='%t_%s.dbf' scope=spfile; SQL> alter system set log_archive_start=true scope=spfile; SQL> shutdown immediate; SQL> startup SQL> archive log list;

7.control file sqlplus /nolog SQL> conn / as sysdba; SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'C:\Oracle\control01.ctl'; copyC:\oracle\control01.ctl C:\oracle\oradata\poramals\

8.listener.oratnsnames.ora net managerc:\oracle\ora92\network\admin\listener.oratnsname.ora(primary)(standby)

9.listener.oratnsnames.ora net managerc:\oracle\ora92\network\admin\listener.oratnsname.ora(primary)(standby)

10.listener lsnrctl startlistener

11 tnsnames.ora tnsping standby tnsping primary

12.pfile9ispfile sqlplus /nolog SQL> conn / as sysdba; Connected. SQL> create pfile='C:\oracle\ora92\database\initporamls.ora' from spfile;

13.copy C:\oracle\ora92\database.ora\initpormals.ora

14.copyinitpormals.ora CONTROL_FILESSTANDBY_ARCHIVE_DEST=location=c:\oracle\StarchFAL_SERVER=PRIMARYFAL_CLIENT=STANDBYstandby_file_management=AUTOstandby_file_management C:\oracle\Starch

15.copy C:\oracle\ora92\database\pwdpormals.ora 16. dos>oradim -new -sid pormals 17. sqlplus /nolog SQL> startup nomount; SQL> ALTER DATABASE MOUNT STANDBY DATABASE; standby SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

18. SQL> alter system set log_archive_dest_2='SERVICE=standby MANDATORY REOPEN=60'; SQL> select *from v$log; SQL> alter system switch logfile; SQL> select *from v$log; C:\oracle\admin\pormals\bdump\pormals_arler. data guard

19. SQL> create user test identified by ; SQL> grant connect ,resource to test ; SQL> conn test/@primary; SQL> create table test(name varchar2(20)); SQL> insert into test values('hi,data guard'); SQL> commit; SQL> conn / as sysdba SQL> alter system switch logfile;

C:\oracle\admin\poramls\bdump\pormals_alert.ora

insert into test values('hi,data guard'); SQL> conn / as sysdba; SQL> alter database recover managed standby database cancel; SQL> alter database open read only; SQL> conn test/SQL> select * from test; insert into test values('hi,data guard');data guard SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE disconnect from session; 1 listenerlistener 2view V$ARCHIVE_DEST_STATUS standby V$ARCHIVE_GAP mrpV$ARCHIVED_LOG V$DATABASE force loggingV$MANAGED_STANDBY (Physical Standby Databases Only) process idrfs,mrpV$STANDBY_LOG (Physical Standby Databases Only) standby redo log

[ Last edited by sail on 2004-7-8 at 10:57 ]

----------------,,,,pctusedINSERTUPDATE-- : Insert or Update,Rowblock, ROWID, DB_BLOCK_SIZE,(LOB)

-- : Update,PCTFREE,ROWID, PCTFREE

------DB_BLOCK_SIZE,(varchar2(32666),blob,clob,(4K)),.blob,.

LONG/LONG RAWOracleLOBLOBLOB24DISABLE STORAGE IN ROW

DB_BLOCK_SIZECREATE / ALTER TABLEPCTFREEPCTUSED

>>>>>,UPDATEORA-1650-55Unable to extend

-----(),,.,(),100%.,ORACLE().,.,,SQL,.,IO,IO1

PCTFREEPCTFREE0INSERTUPDATE

PCTFREE9001255PCTFREE1030

:

[Copy to clipboard]

CODE:

SQL> create table CHAINED_TEST (id int,vc varchar2(4000)) tablespace tools pctfree 2 pctused 60;

Table created.

SQL> insert into CHAINED_TEST values (1,'a');

1 row created.

SQL> insert into CHAINED_TEST values (2,'b');

1 row created.

SQL> insert into CHAINED_TEST values (3,'c');

1 row created.

SQL> SQL> insert into CHAINED_TEST values (4,'d');

1 row created.

SQL> commit;

Commit complete.

SQL> exec show_space('CHAINED_TEST',user,'TABLE');Free Blocks.............................Total Blocks............................8Total Bytes.............................65536Total MBytes............................0Unused Blocks...........................0Unused Bytes............................0Last Used Ext FileId....................7Last Used Ext BlockId...................11768Last Used Block.........................8

PL/SQL procedure successfully completed.

SQL> update CHAINED_TEST set vc=rpad('1',3999,'*') where id = 1;

1 row updated.

SQL> update CHAINED_TEST set vc=rpad('2',3999,'*') where id = 2;

1 row updated.

SQL> commit;

Commit complete.

SQL>exec show_space('CHAINED_TEST',user,'TABLE');Free Blocks.............................Total Blocks............................8Total Bytes.............................65536Total MBytes............................0Unused Blocks...........................0Unused Bytes............................0Last Used Ext FileId....................7Last Used Ext BlockId...................11768Last Used Block.........................8

PL/SQL procedure successfully completed.

SQL> analyzetable CHAINED_TEST list chained rows ;

Table analyzed.

SQL> select * from CHAINED_ROWS;

no rows selected

SQL> update CHAINED_TEST set vc=rpad('3',3999,'*') where id = 3;

1 row updated.

SQL> commit;

Commit complete.

SQL> analyzetable CHAINED_TEST list chained rows ;

Table analyzed.

SQL> select * from CHAINED_ROWS;--

OWNER_NAME TABLE_NAME------------------------------ ------------------------------CLUSTER_NAME PARTITION_NAME------------------------------ ------------------------------SUBPARTITION_NAME HEAD_ROWID ANALYZE_T------------------------------ ------------------ ---------CD CHAINED_TEST

N/A AAAFJfAAHAAAC38AAC 09-JUL-04

SQL>exec show_space('CHAINED_TEST',user,'TABLE');Free Blocks.............................Total Blocks............................8Total Bytes.............................65536Total MBytes............................0Unused Blocks...........................0Unused Bytes............................0Last Used Ext FileId....................7Last Used Ext BlockId...................11768Last Used Block.........................8

PL/SQL procedure successfully completed.

SQL> truncate table CHAINED_ROWS;

Table truncated.

SQL> analyzetable CHAINED_TEST list chained rows ;

Table analyzed.

SQL> select * from CHAINED_ROWS;--CHAINED_ROWS,

OWNER_NAME TABLE_NAME------------------------------ ------------------------------CLUSTER_NAME PARTITION_NAME------------------------------ ------------------------------SUBPARTITION_NAME HEAD_ROWID ANALYZE_T------------------------------ ------------------ ---------CD CHAINED_TEST

N/A AAAFJfAAHAAAC38AAC 09-JUL-04

SQL> create table temp as select * from CHAINED_TEST where rowid in (select head_rowid from CHAINED_ROWS where table_name = 'CHAINED_TEST');2 3 4 5Table created.

SQL> delete CHAINED_TEST whererowid in (select head_rowid from CHAINED_ROWS where table_name = 'CHAINED_TEST');2 31 row deleted.

SQL> commit;

Commit complete.

SQL> insert into CHAINED_TEST select * from temp; --CHAINED_TEST

1 row created.

SQL> commit;

Commit complete.

SQL> truncate table CHAINED_ROWS;

Table truncated.

SQL>analyzetable CHAINED_TEST list chained rows ;

Table analyzed.

SQL> select * from CHAINED_ROWS;--

no rows selected

SQL> exec show_space('CHAINED_TEST',user,'TABLE');Free Blocks.............................Total Blocks............................8Total Bytes.............................65536Total MBytes............................0Unused Blocks...........................0Unused Bytes............................0Last Used Ext FileId....................7Last Used Ext BlockId...................11768Last Used Block.........................8

PL/SQL procedure successfully completed.

moveSQL> drop table CHAINED_TEST;

Table dropped.

SQL> create table CHAINED_TEST (id int,vc varchar2(4000)) tablespace tools pctfree 2 pctused 60;

Table created.

SQL> insert into CHAINED_TEST values (1,'a');

1 row created.

SQL> insert into CHAINED_TEST values (2,'b');

1 row created.

SQL> insert into CHAINED_TEST values (3,'c');

1 row created.

SQL> insert into CHAINED_TEST values (4,'d');

1 row created.

SQL> commit;

Commit complete.

SQL> exec show_space('CHAINED_TEST',user,'TABLE');Free Blocks.............................Total Blocks............................8Total Bytes.............................65536Total MBytes............................0Unused Blocks...........................0Unused Bytes............................0Last Used Ext FileId....................7Last Used Ext BlockId...................11768Last Used Block.........................8

PL/SQL procedure successfully completed.

SQL> update CHAINED_TEST set vc=rpad('1',3999,'*') where id = 1;

1 row updated.

SQL> update CHAINED_TEST set vc=rpad('2',3999,'*') where id = 2;

1 row updated.

SQL> commit;

Commit complete.

SQL> update CHAINED_TEST set vc=rpad('3',3999,'*') where id = 3;

1 row updated.

SQL> analyzetable CHAINED_TEST list chained rows ;

Table analyzed.

SQL> select * from CHAINED_ROWS;

OWNER_NAME TABLE_NAME------------------------------ ------------------------------CLUSTER_NAME PARTITION_NAME------------------------------ ------------------------------SUBPARTITION_NAME HEAD_ROWID ANALYZE_T------------------------------ ------------------ ---------CD CHAINED_TEST

N/A AAAFJlAAHAAAC38AAC 09-JUL-04

SQL> SQL> alter table CHAINED_TEST move tablespace tpcrm;

Table altered.

SQL> SQL> truncate table CHAINED_ROWS;

Table truncated.

SQL> analyzetable CHAINED_TEST list chained rows ;

Table analyzed.

SQL> select * from CHAINED_ROWS; --move

no rows selected

oem

oem

1net manager2agent3

Auditing and Restricting User Connections

Auditing and Restricting User Connections

This tip comes from Ajwat Ul-Hasan, Database Administrator/System Analyst, The Carphonewarehouse in London, United Kingdom.

In Oracle9i, this script can restrict users logging into the database. In one table you provide information about which users are allowed to log into the database. You can modify this script to allow or block a user with respect to application, ip address, username, osuser, terminal, etc. It is a very easy and efficient way of implementing security in database.

create table valid_users (valid_ora VARCHAR2(30),valid_os varchar2(30));and another tableCREATE TABLE USER_AUDIT(SID NUMBER NULL,SERIAL# NUMBER NULL,TIMESTAMP DATE NULL,USERNAME VARCHAR2(30) NULL,OSUSERID VARCHAR2(30) NULL,MACHINENAME VARCHAR2(64) NULL,PROGRAM VARCHAR2(48) NULL)

And then create this trigger:

CREATE OR REPLACE TRIGGER test_auditAFTER LOGON ON databaseDECLAREmachinename VARCHAR2(64);osuserid VARCHAR2(30);ora_username VARCHAR2(30) DEFAULT NULL;os_username VARCHAR2(30);v_sid NUMBER;v_serial NUMBER;v_program VARCHAR2(48);v_numuser NUMBER;CURSOR c1 ISSELECT sid, serial#, osuser, machine, programFROM v$sessionWHERE audsid = userenv('sessionid');BEGINOPEN c1;FETCH c1 INTO v_sid, v_serial, osuserid, machinename,v_program;CLOSE c1;SELECT count(*)INTO v_numuserFROM valid_usersWHERE valid_ora = user;

IF v_numuser > 0 thenINSERT INTO user_auditVALUES (v_sid, v_serial, sysdate,user, osuserid, machinename,v_program);ELSEINSERT INTO user_auditVALUES (v_sid, v_serial, ! sysdate,user, osuserid, machinename,'IN ELSE');raise_application_error(-20001,'You are not allowed to connectto the database');END IF;END;/

In the valid_user table you have to insert information about valid users, otherwise no user can log in to the database. You can generate information about user connection by using information in user_audit table.

PARTITION

INFORMIXSEARCH OLTPDISKCONTENTION

delete, drop partition RangePartition Elimination partition wise join, Partitionparallel

rangePDMLparallel queryOLTPOLTP PARTITION

[zt]ORA-03113

ORA-03113 :2003-5-22 v0.1 Created by Fenng 2003-12-17 v0.3 Edited by Fenng

:

--------------------------------------------------------------------------------

DBA(ORA-xxxx)DBA""ORA-3113 "end of file on communication channel" .

Oracle, .,

ORA-1034 ORACLE not available

,,

Oracle; ; ; SQL/PL/SQL; /; DBA. .,

,

Unix Oracle //kill Oracle SQLPL/SQL ,

,; background_dump_destalertSID.log; Google,,., :)

Unix/ init

,,03113.init.oraprocesses,().

ORA-03113: end-of-file on communication channelORA-01034: ORACLE not availableORA-27101: shared memory realm does not exist

1,();2init.oraProcesses.

SEMMSL10 +.SEMMNS . ------------------------------------------------------------------------------- Unix.Windowsprocesses,

ORA-00068: invalid value 24200001 for parameter max_rollback_segments, must be between 2 and 65535

/* 65535 */

ORA-27102: out of memory

/* 65535 */

Windows 2000 Version 5.0 Service Pack 3, CPU type 586ORACLE RDBMS Version: 8.1.7.0.0.-------------------------------------------------------------------------------

,Oracle Technet(http://otn.oracle.com).Unix.

Init.ora,.shared_pool_size,timed_statistics=true.

Oracle/

Unix.Unix tar,OS.

Oracle$ORACLE_HOME/bin,,Unix

chmod 7755 $ORACLE_HOME/bin/oracle

Oraclerelink.Unixcp,,.LD_LIBRARY_PATH,,Oraclerelink.oralcle,relink.

Distributed Lock Manager.

SQL*Net,.SQL*Net Oracle.

Windows

Windows,.IP.,

1. ;2. sqlnet.ora()nts#SQLNET.AUTHENTICATION_SERVICES= (NTS).3. ; 4. ,. //Kill

,Oracle,.Oracle Server.Kill..,OS()Oracle.

1 ;2 ;3 ;4 ;5 .6 Oracle / Bug

background_dump_destalert.logora-600,Metalink..

SQLPL/SQL

SQL,SQL_TRACE,SQLSQLPlus

ALTER SESSION SET SQL_TRACE=TRUE;

SQL.

SQL

SELECT * FROM (SELECT ROWNUM AS num, k.* FROM (SELECT a.cp_code, c.cp_cha_name, a.service_code, a.service_name, a.content_name, SUBSTR (a.access_time, 1, 8) thedate, COUNT (*) AS hit_count FROM sm_wap_log_daily_tab a, t_cp_info c WHERE (SUBSTR (a.access_time, 1, 8) BETWEEN '20040301' AND '20040304' ) AND c.cp_code LIKE '%%' AND a.cp_code = c.cp_code AND a.service_code LIKE '%%' GROUP BY a.cp_code, c.cp_cha_name, a.service_code, a.service_name, a.content_name, SUBSTR (a.access_time, 1, 8) ORDER BY a.cp_code, a.service_code, a.content_name, SUBSTR (a.access_time, 1, 8) DESC) k) n;

9204/Linux 03113 ORDER BY a.cp_code, a.service_code, a.content_name, SUBSTR (a.access_time, 1, 8) DESC) k)SUBSTR (a.access_time, 1, 8) SUBSTR (a.access_time, 1, 8)SUBSTR (a.access_time, 1, 8):)

SELECT * FROM (SELECT ROWNUM AS num, k.* FROM (SELECT a.cp_code, c.cp_cha_name, a.service_code, a.service_name, a.content_name, SUBSTR (a.access_time, 1, 8) thedate, COUNT (*) AS hit_count FROM sm_wap_log_daily_tab a, t_cp_info c WHERE (SUBSTR (a.access_time, 1, 8) BETWEEN '20040301' AND '20040304' ) AND c.cp_code LIKE '%%' AND c.cp_code = a.cp_code AND a.service_code LIKE '%%' GROUP BY a.cp_code, c.cp_cha_name, a.service_code, a.service_name, a.content_name, SUBSTR (a.access_time, 1, 8) ORDER BY (SUBSTR (a.access_time, 1, 8)), a.cp_code, a.service_code, a.content_name DESC) k) n;

:)

. USER_DUMP_DEST BACKGROUND_DUMP_DEST,.,,AUDIT.Trace,Trace.

Dave Wotton,,2G(2G),.

,,.,.

,..ITPUB(http://www.itpub.net)CNOUG(http://www.cnoug.org).

/

http://metalink.oracle.com Oracle,CSI.

NoteNote:17613.1ORA-3113 on Unix - What Information to CollectNOTE:131207.1 How to Set UNIX Environment Variables Note:131321.1How to Relink Oracle Database Software on UNIXNote:22080.1

http://www.google.com/grphp?hl=zh-CNGoogle

http://www.jlcomp.demon.co.uk/faq/ORA-3113.htmlJonathan LewisFAQ

--------------------------------------------------------------------------------

http://www.dbanotes.net/Oracle/ORA-03113.htm

--------------------------------------------------------------------------------

I would welcome any feedback.Please send questions, comments or corrections to [email protected] .

--------------------------------------------------------------------------------

Oracle9i

http://www.ncn.cnzzyy ======================================= Blank_trimming: : TRUE, (SQL92 ) , : TRUE | FALSE: FALSE serializable: : , ,: TRUE | FALSE: FALSE row_locking: : ALWAYS, INTENT, SELECTFORUPDATE, : ALWAYS | DEFAULT | INTENT: ALWAYS shared_servers : , : : 1 circuits: : SGA : : SESSIONS (); 0 Mts_multiple_listeners: : , ADDRESS_LIST TRUE,MTS_LISTENER_ADDRESS : (ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(PORT=5000)(HOST=zeus)) (ADDRESS=(PROTOCOL=decnet)(OBJECT=outa)(NODE=zeus)) 8.1.3 : TRUE | FALSE : FALSE mts_servers: : , : : 1 mts_service: : , ,, 8.1.3 : :0 mts_sessions: : : 0 SESSIONS - 5 : : MTS_CIRCUITS SESSIONS - 5 shared_server_sessions: : : 0 SESSIONS - 5 : : MTS_CIRCUITS SESSIONS - 5 mts_max_dispatchers : : : , 5 mts_max_servers: : : : 20 dispatchers: : ,Oracle8i Oracle Net Administrator'sGuide: '(PROTOCOL=TCP)(DISPATCHERS=3)': : NULL max_shared_servers: : : : 20 mts_circuits: : SGA : : SESSIONS (); 0 Mts_listener_address: : , MTS_MULTIPLE_LISTENERS=TRUE, 8.1.3 : (ADDRESS=(PROTOCOL=tcp)(HOST=myhost)(PORT=7002)) : NULL mts_dispatchers: : ,Oracle8i Oracle Net Administrator'sGuide: '(PROTOCOL=TCP)(DISPATCHERS=3)': : NULL max_dispatchers: : : : , 5 nls_nchar_conv_excp: : ( TRUE) : FALSE | TRUE: TRUE nls_numeric_characters: : (, ): , '+', '-', '' : NLS_TERRITORY nls_sort: : ORDER BY , ORDER BY , , : BINARY : NLS_LANGUAGE nls_territory: : , , , , ISO, , Oracle8i NationalLanguage Support Guide: : nls_timestamp_format: : NLS_TIME_FORMAT , TIMESTAMP , YEAR, MONTH DAY , HOUR, MINUTE SECOND : TIMESTAMP '1997-01-31 09:26:50.10' ( 11 ): NLS_TERRITORY nls_time_format: : , TIME , HOUR, MINUTE SECOND: TIME '09:26:50' ( 7 ): NLS_TERRITORY nls_time_tz_format: : (UTC,TZD), TIME WITH TIME ZONE , HOUR, MINUTE, SECOND, TIMEZONE_HOUR TIMEZONE_MINUTEUTC TZD : TIME '09:26:50.20+ 02:00' ( 9 ): NLS_TERRITORY nls_length_semantics: : , char, varchar2, clob, nchar, nvarchar2,nclob , : BYTE CHAR : nls_length_semantics BYTE nls_date_format: : TO_CHAR TO_DATE NLS_TERRITORY: ''MMM/DD/YYYY'': , : nls_timestamp_tz_format: : NLS_TIME_TZ_FORMAT , TIMESTAMP , YEAR, MONTH DAY , HOUR, MINUTE SECOND , TIMEZONE_HOUR TIMEZONE_MINUTE: TIMESTAMP '1997- 01- 31 09:26:50+ 02:00' ( 13 ): NLS_TERRITORY nls_language: : , , , AD, BC, AM PM ,, : : nls_comp: : SQL , NLS_SORT ,WHERE , NLSSORT NLS_COMP NLS_SORT : Oracle8i National Language Support Guide 10 : BINARYnls_currency: : L NLS_TERRITORY : Oracle8i National Language Support Guide 10 : NLS_TERRITORY nls_date_language: : , (AM, PM, AD, BC) NLS_LANGUAGE : NLS_LANGUAGE : NLS_LANGUAGE nls_dual_currency: : NLS_TERRITORY , ;: : nls_iso_currency: : C NLS_TERRITORY : NLS_TERRITORY : NLS_TERRITORY nls_calendar: : Oracle , NLS_CALENDAR 'JapaneseImperial', 'E YY-MM-DD': 1997 5 15 , SYSDATE 'H 09-05-15': Arabic Hijrah, English Hijrah, Gregorian, Japanese Imperial, Persian, ROC Official (Republic of China) Thai Buddha: Gregorian plsql_native_c_compiler: : C C make, make : C : remote_dependencies_mode: : PL/SQL TIMESTAMP,, SIGNATURE,: TIMESTAMP | SIGNATURE: TIMESTAMP utl_file_dir: : PL/SQL I/O UTL_FILE_DIR UTL_FILE_DIR : : plsql_v2_compatibility: : PL/SQL FALSE, PL/SQL V3 , V2 ; PL/SQL V3 PL/SQL V2 : TRUE | FALSE: FALSE plsql_native_make_utility: : make ( UNIX make gmake, GNU make) C DLL, make : make : plsql_native_library_dir: : PL/SQL , : : plsql_compiler_flags: : PL/SQL : native (PL/SQL ), interpreted ( PL/SQL PL/SQL ), debug (PL/SQL ), non_debug : " interpreted, non_debug " plsql_native_linker: : (: UNIX ld, DLL GNU ld) make , make : : plsql_native_make_file_name: : make make ( PLSQL_NATIVE_MAKE_UTILITY ) make DLL make , make DLL : make : plsql_v2_compatibility: : PL/SQL FALSE, PL/SQL V3 , V2 ; PL/SQL V3 PL/SQL V2 : TRUE | FALSE: FALSE remote_dependencies_mode: : PL/SQL TIMESTAMP,, SIGNATURE,: TIMESTAMP | SIGNATURE: TIMESTAMP shared_memory_address: : SHARED_MEMORY_ADDRESS HI_SHARED_MEMORY_ADDRESS SGA SGA , 0 NULL, : : 0 lock_sga: : SGA , : TRUE | FALSE: FALSE hi_shared_memory_address: : (SGA) SGA , 64 , 32 32 , : : 0 pre_page_sga: : , TRUE, SGA ,, : TRUE | FALSE: FALSE sga_max_size: : : 0 , , : , sga_max_size SGA ( X) SGA , , , X, sga_max_size X, X sga_max_size Fast_start_parallel_rollback: : , : FALSE | LOW | HIGH: LOW (2 * CPU_COUNT) transaction_auditing: : , , , ID,, : TRUE | FALSE: TRUE transactions: : , SGA , SESSIONS, : : (1.1 * SESSIONS) enqueue_resources: : , Oracle , : 10 - 65535 (7.3) 10 - (8.1): ( DML_LOCKS + 20 ) dml_locks: : DML DML , 3 2 , 6: 0 20 : 4 * TRANSACTIONS () hash_join_enabled: : TRUE, Oracle TRUE : TRUE | FALSE: TRUE optimizer_features_enable: : init.ora , PUSH_JOIN_PREDICATE, FAST_FULL_SCAN_ENABLED, COMPLEX_VIEW_MERGING B_TREE_BITMAP_PLANS: 8.0.0; 8.0.3; 8.0.4; 8.1.3: 8.0.0 query_rewrite_integrity: : Oracle Server ENFORCED, Oracle TRUSTED, STALE_TOLERATED, , : ENFORCED, TRUSTED, STALE_TOLERATED: ENFORCED query_rewrite_enabled : : ,: TRUE | FALSE: FALSE partition_view_enabled: : PARTITION_VIEW_ENABLED TRUE, (): TRUE | FALSE: FALSE optimizer_max_permutations: : ,, 1000, : 4-2^32 (~4.3 G): 80,000 optimizer_index_cost_adj: : , , , 50%, : 1 -10000: 100 () star_transformation_enabled: : TRUE, ; FALSE, ; TEMP_DISABLE, , : TRUE | FALSE | TEMP_DISABLE: FALSE optimizer_mode: : RULE, , CHOOSE,, ALL_ROWS FIRST_ROWS: RULE | CHOOSE | FIRST_ROWS | ALL_ROWS: CHOOSE optimizer_index_caching: : ,, : 0 - 100 %: 0 job_queue_processes: : SNP (SNP0, ... SNP9, SNPA, ...SNPZ) DBMS_JOB , 1 : 0 36: 0 max_transaction_branches: : MAX_TRANSACTION_BRANCHES , MAX_TRANSACTION_BRANCHES * DISTRIBUTED_TRANSACTIONS * 72 , 8.1.3 : 1 - 32: 8 compatible: : , : : archive_lag_target: : : 0 [60, 7200] : 0 , , aq_tm_processes: : , (): 0 - 10: 0 tracefile_identifier: spfile: : : : SPFILE PFILE , , SPFILE Logmnr_max_persistent_sessions: Standby_file_management: Trace_enabled: Ifile: : , : ( IFILE = parameter_file_name): NULL remote_listener: global_context_pool_size: : SGA : : 1 M plsql_native_library_subdir_count: fixed_date: : SYSDATE ,: YYYY-MM-DD-HH24:MI:SS ( Oracle ): NULL db_name: : , CREATE DATABASE : 8 : () cluster_database: cluster_interconnects: cluster_database_instances: sql_version: replication_dependency_tracking: : FALSE, /,: TRUE | FALSE: TRUE (/) remote_os_roles: : REMOTE_OS_ROLES TRUE, FALSE,: TRUE | FALSE: FALSE remote_os_authent: : REMOTE_OS_AUTHENT TRUE, OS_AUTHENT_PREFIX: TRUE | FALSE: FALSE open_links: : SQL, : 0 - 255 ( 0, ): 4 open_links_per_instance: : XA XA ,, : 0 - UB4MAXVAL: 4 remote_login_passwordfile: : NONE, Oracle EXCLUSIVE, SHARED, SYS INTERNAL :NONE | SHARED | EXCLUSIVE: NONE hs_autoregister: : (HS), ,: TRUE | FALSE: TRUE global_names: : FALSE, , TRUE: TRUE | FALSE: TRUE distributed_transactions: : , : 0 - TRANSACTIONS : commit_point_strength: : : 0 -255: db_domain: : (:US.ORACLE.COM) , : , 128 : WORLD dblink_encrypt_login: : Oracle Server , : TRUE | FALSE: FALSE backup_tape_io_slaves: : , I/O : TRUE | FALSE: FALSE tape_asynch_io: : I/O (, Oracle , Oracle ) I/O , TRUE; I/O , FALSE: TRUE | FALSE: FALSE log_file_name_convert: : , Oracle7 LOG_FILE_NAME_CONVERT: ''/'' ''/'' / : NULL fal_server: : FAL Oracle Net Oracle Net, FAL : Oracle Net Fal_client: : FAL ( FAL_SERVER ) FAL FAL Oracle Net Oracle Net FAL, FAL (: ) : Oracle Net Drs_start: : Oracle DRMON DRMON Oracle ,, : TRUE | FALSE : FALSE remote_archive_enable: : "TRUE", Oracle, / : FALSE | TRUE: TRUE standby_preserves_names: : : TRUE FALSE: True, , : FALSE Standby_archive_dest: : STANDBY_ARCHIVE_DEST LOG_ARCHIVE_FORMAT RFS , ARCHIVE_LOG_DEST: NULL RAW /: NULL db_file_name_convert: : : /: max_enable_roles: : () 2 MAX_ENABLED_ROLES , : PUBLIC : 0 -148: 20 O7_DICTIONARY_ACCESSIBILITY: : Oracle7 Oracle8i TRUE, SYSTEM (SELECT ANY TABLE) SYS (Oracle7 )FALSE, SELECT_CATALOG_ROLE, EXECUTE_CATALOG_ROLE DELETE_CATALOG_ROLE SYS : TRUE | FALSE: TRUE sql92_security: : SELECT : TRUE | FALSE: FALSE audit_trail: : TRUE DB, SYS.AUD$ ; OS, : NONE | FALSE | DB | TRUE | OS : NONE rdbms_server_dn: : RDBMS , OracleAdvanced Security Administrator's Guide: X.500 : os_roles: : TRUE, , : TRUE | FALSE: FALSE os_authent_prefix: : OS , : : ( 'OPS$') object_cache_max_size_percent: : ,,: 0% : 10% object_cache_optimal_size: : , : 10K : 100K session_max_open_files: : BFILE , MAX_OPEN_FILES: 1 - (50, OS MAX_OPEN_FILES): 10 parallel_execution_message_size: : (, PDML, ) 2048 4096, PARALLEL_AUTOMATIC_TUNING = TRUE,: 2148 - : PARALLEL_AUTOMATIC_TUNING FALSE, 2148; PARALLEL_AUTOMATIC_TUNING TRUE , 4096 () Paralle_min_percent: : , , ,: 0 -100: 0, Parallel_automatic_tuning: : TRUE, Oracle ,: TRUE | FALSE: FALSE parallel_threads_per_cpu: : CPU ,, : : ( 2) parallel_broadcast_enabled: : , () TRUE, : TRUE | FALSE : FALSE parallel_adaptive_multi_user: : , , PARALLEL_AUTOMATIC_TUNING = TRUE , : TRUE | FALSE: PARALLEL_AUTOMATIC_TUNING = TRUE, TRUE; FALSE parallel_max_servers: : , : 0 -256: CPU_COUNT, PARALLEL_AUTOMATIC_TUNING PARALLEL_ADAPTIVE_MULTI_USER parallel_min_servers : , Oracle : 0 - PARALLEL_MAX_SERVERS: 0 log_archive_dest_state_3: : ( LOG_ARCHIVE_DEST_3) ,, : ENABLE | DEFER: ENABLE log_archive_dest_state_4: : ( LOG_ARCHIVE_DEST_4) ,, : ENABLE | DEFER: ENABLE log_archive_dest_state_5: : ( LOG_ARCHIVE_DEST_5) ,, : ENABLE | DEFER: ENABLE log_archive_dest_state_6: : : ENABLE--, ; DEFER--, ; ALTERNATE--, () log_archive_dest_state_7: : : ENABLE--, ; DEFER--, ; ALTERNATE--, () log_archive_dest_state_8: : : ENABLE--, ; DEFER--, ; ALTERNATE--, () log_archive_dest_state_9: : : ENABLE--, ; DEFER--, ; ALTERNATE--, () Log_archive_start: : n TRUE, ;, ALTER SYSTEM ARCHIVE LOG ... : TRUE | FALSE: FALSE log_archive_duplex_dest: : LOG_ARCHIVE_DEST Oracle8i , LOG_ARCHIVE_DEST_n : NULL , , : NULL log_archive_format: : LOG_ARCHIVE_FORMAT %s () %t () , LOG_ARCHIVE_DEST : : log_archive_max_processes: : ARCH LOG_ARCHIVE_START = TRUE, ; SQL*Plus SQL ARCH : 1 - 10 () : 1 log_archive_dest_2: : ( LOCATION) ( SERVICE) , oracle8i : (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer] : NULL log_archive_min_succeed_dest: : LOG_ARCHIVE_DEST_n MANDATORY : 1 - 5 ( LOG_ARCHIVE_DEST LOG_ARCHIVE_DUPLEX_DEST , 1-2): 1 log_archive_trace: : ARCn ( ARCn) ( ARCH) (RFS) : 0: () 1: 2: 4: 8: 16: 32: 64: ARCn : 0 log_archive_dest_10: log_archive_dest_3: : ( LOCATION) ( SERVICE) , oracle8i : (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer] : NULL log_archive_dest: : ( LOCATION) ( SERVICE) , oracle8i : (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer] : NULL log_archive_dest_state_2: : ( LOG_ARCHIVE_DEST_2) ,, : ENABLE | DEFER: ENABLE log_archive_dest_5: : ( LOCATION) ( SERVICE) , oracle8i : (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer] : NULL log_archive_dest_6: log_archive_dest_1: log_archive_dest_8: log_archive_dest_9: log_archive_dest_state_1: : ( LOG_ARCHIVE_DEST_1) ,, : ENABLE | DEFER: ENABLE log_archive_dest_state_10 : : () Oracle Net (tns ) : log_archive_dest_4: : ( LOCATION) ( SERVICE) , oracle8i : (null_string | SERVICE=tnsnames-service | LOCATION=directory-spec)[MANDATORY | OPTIONAL][REOPEN=integer] : NULL create_bitmap_area_size: : CREATE_BITMAP_AREA_SIZE : : 8 MB pga_aggregate_target: : PGA SGA PGA , SGA Oracle pga_aggregate_target : K, M G, , 10M, 4000G: "", Sort_area_size: : SORT_AREA_SIZE , , ,, : 6 () (): sort_area_retained_size : , (UGA) , UGA, : SORT_AREA_SIZE : SORT_AREA_SIZE bitmap_merge_area_size: : : : 1MB workarea_size_policy: : : AUTO, MANUAL : PGA_AGGREGATE_TARGET, AUTO; MANUAL Hash_area_size: : DML DDL , , Oracle8i Concepts: 0 : :2 * SORT_AREA_SIZE db_create_online_log_dest_4: : , : Oracle db_create_online_log_dest_3: : , : Oracle Db_files: : : MAXDATAFILES - : ( Solaris 200) db_create_online_log_dest_2: : , : Oracle db_create_online_log_dest_1: : , : Oracle Db_create_file_dest: : , : Oracle Control_files: : Oracle OS : 1 - 8 (): db_create_online_log_dest_5: : , : Oracle Large_pool_size: : , , RMAN I/O : 600K (); >= 20000M () : 0, DBWR_IO_SLAVES shared_pool_size: : , : , ,:300 KB - : 64 , 64MB; , 16MB Java_pool_size: : , Java , Java , Java Java , Oracle8i JavaDeveloper's Guide: : shared_pool_reserved_size: : ,:: SHARED_POOL_RESERVED_MIN_ALLOC SHARED_POOL_SIZE (): SHARED_POOL_SIZE 5% cursor_sharing: : SQL : : EXACT: SQL : EXACT open_cursors: : () , PL/SQL PL/SQL, ,: 1 - : 64 serial_reuse: : SQL CURSOR_SPACE_FOR_TIME = TRUE, SERIAL_REUSE , DISABLE NULL : DISABLE | SELECT | DML | PLSQL | ALL | NULL: NULL session_cached_cursors: : SQL ,, , : 0 : 0 cursor_space_for_time: : SQL , SQL : TRUE | FALSE: FALSE () rollback_segments: : , TRANSACTIONS /TRANSACTIONS_PER_ROLLBACK_SEGMENT ROLLBACK_SEGMENTS =(rbseg_name [, rbseg_name] ...): SYSTEM , DBA_ROLLBACK_SEGS : NULL () undo_suppress_errors: : SMU RBU (ALTER ROLLBACK SEGMENT ONLINE) SMU SMU : True False: False Max_rollback_segments: : SGA ( INUSE): 2 -65535: (30, TRANSACTIONS/TRANSACTIONS_PER_ROLLBACK_SEGMENT) undo_retention: : UNDO_RETENTION: UndoSpace = RD * UPS, UndoSpace , RD UNDO_RETENTION , UPS : (2 ** 32) : 30 Transactions_per_rollback_segment: : TRANSACTIONS ROLLBACK_SEGMENTS , : 1 - : 5 undo_management: : AUTO, SMU RBU RBU , SMU , : AUTO MANUAL: UNDO_MANAGEMENT , MANUAL, RBU , Undo_tablespace: : UNDO_TABLESPACE (SMU), , ,, STARTUP : 0 SMU , ORACLE () Instance_name : , INSTANCE_NAME SID ,: : SID service_names: : Oracle Net (: ), DB_DOMAIN : SERVICE_NAMES = name1.domain, name2.domain : DB_NAME.DB_DOMAIN () local_listener: : Oracle Net , Oracle Net, 8.1 MTS_LISTENER_ADDRESS MTS_MULTIPLE_LISTENERS : Oracle Net : (ADDRESS_LIST=(Address=(Protocol=TCP)(Host=localhost)(Port=1521)) (Address=(Protocol=IPC)(Key=DBname))) license_sessions_warning: : , , ALERT RESTRICTED SESSION , : 0 - LICENSE_MAX_SESSIONS: 0 license_max_sessions: : , RESTRICTED SESSION, : 0 - : 0 license_max_users: :LICENSE_MAX_SESSIONS LICENSE_MAX_USERS : 0 - : 0 db_block_checksum: : DBWn, ARCH SQL*loader : TRUE | FALSE: FALSE shadow_core_dump: : UNIX , SGA FULL, SGA PARTIAL, SGA : FULL | PARTIAL: FULL db_block_checking: : : TRUE | FALSE: FALSE background_core_dump: : SGA ( UNIX): FULL | PARTIAL: FULL event: : Oracle , , :: user_dump_dest: : , : NT C:/ ORACLE/UTRC; UNIX /oracle/utrc; VMS DISK$UR3:[ORACLE.UTRC]: , : timed_statistics: : , SQL , TRUE : TRUE | FALSE: FALSE timed_os_statistics: : , , ,, () , : : 0 () core_dump_dest: : ( UNIX): : ORACLE_HOME/dbs oracle_trace_collection_name: : Oracle Trace , ( .cdf .dat), ORACLE_TRACE_ENABLE = TRUE, Oracle Trace , NULL: , 16 ( 8 ): NULL oracle_trace_collection_path: : Oracle Trace (.cdf) (.dat) : : ( ORACLE_HOME/otrace/admin/cdf) background_dump_dest: : Oracle (LGWR, DBW n ) (): : ORACLE_HOME/rdbms/log () oracle_trace_enable: : Oracle Trace , TRUE TRUE, Oracle Trace, ORACLE_TRACE_COLLECTION_NAME; Oracle Trace Manager : TRUE | FALSE: FALSE oracle_trace_collection_size: : , Oracle Trace ,, : 0 -4294967295: 5242880 oracle_trace_facility_path: : Oracle TRACE (.fdf) : : ORACLE_HOME/otrace/admin/fdf/ () sql_trace: : SQL TRUE, , SQL, TRUE: TRUE | FALSE: FALSE oracle_trace_facility_name: : Oracle Trace (.fdf ) Oracle Trace API Oracle ORCLED.FDF: , 16 : oracled max_dump_file_size: : , , : 0 - ( 'K' 'M' ): 10000 resource_limit: : FALSE, TRUE, : TRUE | FALSE: FALSE resource_manager_plan: : , (, ), ,ALTER SYSTEM : : NULL sessions: : PROCESSES, : : (1.1 * PROCESSES + 5) java_soft_sessionspace_limit: : , Java Java '' Java, Oracle : 0 - 4GB: 0 cpu_count: : Oracle CPU (): 0 - : Oracle java_max_sessionspace_size: : , Java Java Java , : : 0 processes: : Oracle Server , : (SNP) (Pnnn) : 6 : PARALLEL_MAX_SERVERS control_file_record_keep_time: : (): 0 -365: 7 log_checkpoint_timeout: : () 0,, : 0 - : Oracle8i:900 : 1800 recovery_parallelism: : 0 1, : ( PARALLEL_MAX_SERVERS): fast_start_mttr_target: : ()FAST_START_MTTR_TARGET, , " (MTTR)" "" : [0, 3600], : 0 log_checkpoints_to_alert: : : TRUE | FALSE: FALSE fast_start_io_target: : I/O DB_BLOCK_MAX_DIRTY_TARGET: 0 ( I/O ) 1000, : log_checkpoint_interval: : , OS () ,, : ( 0 ): log_buffer: : , LGWR , 65536, I/ O, : : 500K 128K * CPU_COUNT, read_only_open_delayed: : , : TRUE,, , Server Reference manual: TRUE | FALSE: FALSE parallel_instance_group : , INSTANCE_GROUPS : : parallel_server: : PARALLEL_SERVER TRUE, : TRUE | FALSE : FALSE parallel_server_instances: : SGA , SGA : : 1 thread: : , ,, : 0 - : 0 gc_files_to_locks: : , (PCM) : GC_FILES_TO_LOCKS = 'file_list=lock_count[!blocks][R][EACH][:...]' : NULL instance_number: : , , FREELIST GROUPSALTER TABLE ... INSTANCE ALLOCATE EXTENT : 1 MAX_INSTANCES () : ( INSTANCE_NUMBER ) active_instance_count: : , ,: 1 >= : lock_name_space: : (DLM) ,: 8 , : NULL max_commit_propagation_delay: : , SGA (SCN) LGWR , ( 1/100 ), SCN : 0 - 90000 : 700 instance_groups: : , , : , : NULL buffer_pool_recycle: : ( DB_BLOCK_BUFFERS ), : (: buffers:50, lru_latches:1): use_indirect_data_buffers: : 4GB 32 , : TRUE | FALSE: FALSE disk_asynch_io: : , I/O ( I/O CPU) I/O: TRUE | FALSE: TRUE dbwr_io_slaves: : DBW0 I/O DBW0 : 0 - : 0 db_8k_cache_size: : 8K db_block_size 8K , : 0M 16M : 0M db_4k_cache_size: : 4K db_block_size 4K , : 0M 16M : 0M db_block_buffers: : Oracle SGA : 4 - : 32768 db_32k_cache_size: : 32K db_block_size

spfile

9ioracleSPFILESystem Parameter Fileinit.oraSPFILEOracle Create spfileSPFILEALTER SYSTEMALTER SESSIONALTER SYSTEMSCOPEspfileSCOPEMEMORY:SPFILE:SPFILESCOPE=SPFILEORA-02095BOTH:SPFILEBOTHALTER SYSTEM pfile startup Oracle SPFILE OracleSPFILEinit.oraOraclespfile$ORACLE_SID.oraspfile.orainit$ORACLE_SID.ora $ORACLE_BASE\admin\db_name\spfileinit.ora.192003215317]Oracle920,spfilespfilepfile Windows NT Windows 2000 $ORACLE_HOME\database\spfile$ORACLE_SID.ora pfilespfilecreate spfile from pfile;Unix: $ORACLE_HOME/dbs; NT: $ORACLE_HOME\databasepfilespfile.oraSPFILESYSDBASYSOPER SPFILEPFILE CREATE PFILE[=PFILE-NAME] FROM SPFILE[=SPFILE-NAME] pfile

spfile 1init.ora.192003215317 2init.ora1 oracle

linux init.orainitsid.ora, oracle_home/dbs initsid.ora

spfilepfile$ORACLE_BASE\admin\pfile

create pfile$ORACLE_BASE\admin\pfileinit

createpfile*.aq_tm_processes=1*.background_dump_dest='D:\oracle\admin\db9\bdump'*.compatible='9.2.0.0.0'*.control_files='D:\oracle\oradata\db9\control01.ctl','D:\oracle\oradata\db9\control02.ctl','D:\oracle\oradata\db9\control03.ctl'*.core_dump_dest='D:\oracle\admin\db9\cdump'*.db_block_size=8192*.db_cache_size=25165824*.db_domain=''*.db_file_multiblock_read_count=16*.db_name='db9'*.dispatchers='(PROTOCOL=TCP) (SERVICE=db9XDB)'*.fast_start_mttr_target=300*.hash_join_enabled=TRUE*.instance_name='db9'*.java_pool_size=33554432*.job_queue_processes=10*.large_pool_size=8388608*.open_cursors=300*.pga_aggregate_target=25165824*.processes=150*.query_rewrite_enabled='FALSE'*.remote_login_passwordfile='EXCLUSIVE'*.shared_pool_size=50331648*.sort_area_size=524288*.star_transformation_enabled='FALSE'*.timed_statistics=TRUE*.undo_management='AUTO'*.undo_retention=10800*.undo_tablespace='UNDOTBS1'*.user_dump_dest='D:\oracle\admin\db9\udump'

"How to drop a datafile ?"AskTom

Link http://asktom.oracle.com/pls/ask ... :F4950_P8_DISPLAYID,F4950_P8_CRITERIA:515222144417,

You Asked (Jump to Tom's latest followup)

I have a tablespace with a few datafiles.I have droped lots of tables in this tablespace and i just want to keep only one datafile on this tablespace.I know the name of the only datafile witch contains datas so i no more need the others datafiles.How can i do ?

I try to regenerate the controlfiles, it works but i can see some lines with "MISSINGXXX" in the v$datafile view so i look for another way(s) to do that because it doesn't seem very "clean".

I know that it's possible to do that with Import/Export (Export, Drop Tablespace, Import) but it's a big manipulation.

Do you have a solution to drop an empty datafile easily and properly ?

and we said...

No, datafiles are not meant to be dropped once added.Here is a support note with some methods you can use.(Doing an alter database OFFLINE DROP is not a method either).

Before we start with detailed explanations of the process involved, please note that Oracle does not provide an interface for dropping datafiles in the same way that you could drop a schema object such as a table, a view, a user, etc.Once you make a datafile part of a tablespace, the datafile CANNOT be removed, although we can use some workarounds.

Article-ID: Circulation: PUBLISHED (EXTERNAL)Folder: server.Rdbms.DBA.AdminTopic: Managing Controlfiles and DatafilesTitle: How to 'DROP' a Datafile from a TablespaceDocument-Type: BULLETINHow to 'DROP' a Datafile from a Tablespace==========================================

PURPOSE-------

This note explains how a datafile can be removed from a database.

Since there can be confusion as to how a datafile can be dropped because of the ALTER DATABASE DATAFILE OFFLINE DROP command, this note explains what steps are needed to delete a datafile and in contrast, what the OFFLINE DROP command is for.

SCOPE & APPLICATION-------------------

There are two situations where people may want to 'remove' a datafile from a tablespace:

1.You've just mistakenly added a file to a tablespace, or perhaps you made the file much larger than intended and now want to remove it.

2.You are involved in a recovery scenario and the database won't startbecause a datafile is missing.

This article is meant to discuss circumstance 1 above.There are other articles that discuss recovery scenarios where a database cannot be brought online due to missing datafiles.Please see the 'Related Documents' section at the bottom of this article.

How to 'Drop' a Datafile-----------------------------

Before we start with detailed explanations of the process involved, please note that Oracle does not provide an interface for dropping datafiles in the same way that you could drop a schema object such as a table, a view, a user, etc.Once you make a datafile part of a tablespace, the datafile CANNOT be removed, although we can use some workarounds.

Before performing certain operations such as taking tablespaces/datafiles offline, and trying to drop them, ensure you have a full backup.

If the datafile you wish to remove is the only datafile in that tablespace, simply drop the entire tablespace using:

DROP TABLESPACE INCLUDING CONTENTS;

You can confirm how many datafiles make up a tablespace by running the following query:

select file_name, tablespace_name from dba_data_files where tablespace_name ='';

The DROP TABLESPACE command removes the tablespace, the datafile, and the tablespace's contents from the data dictionary.Oracle will no longer have access to ANY object that was contained in this tablespace.The physical datafile must then be removed using an operating system command (Oracle NEVER physically removes any datafiles).Depending on which platform youtry this on, you may not be able to physically delete the datafile until Oracle is completely shut down (For example, on Windows NT, you may have to shutdown Oracle AND stop the associated service before the operating system will allow you to delete the file - in some cases, file locks are still held by Oracle)

If you have more than one datafile in the tablespace, and you do NOT need the information contained in that tablespace, or if you can easily recreate the information in this tablespace, then use the same command as above:

DROP TABLESPACE INCLUDING CONTENTS;

Again, this will remove the tablespace, the datafiles, and the tablespace's contents from the data dictionary.Oracle will no longer have access to ANY object that was contained in this tablespace.You can then use CREATE TABLESPACE and re-import the appropriate objects back into the tablespace.

If you have more than one datafile in the tablespace and you wish to keep the objects that reside in the other datafile(s) which are part of this tablespace, then you must export all the objectsinside the affected tablespace.Gather information on the curre