hash 例子
use strict;use warnings;my $data='';my %hash=();open(OC,'c:tkprof.txt');my @oc=<OC>;foreach my $line (@oc){chomp($line);if (exists $hash{$line}){ $hash{$line}++;}else {$hash{$line}=1;}}close(OC);while( (my $key, my $value) = each %hash){print "$key => $valuen";}[@more@]#!/usr/bin/perl#!/usr/bin/perluse strict;use warnings;my $data='';my %hash=();open(OC,'c:tkprof.txt');my @oc=<OC>;foreach my $gline (@oc){chomp($gline);my @line= split(' ',$gline);if (exists $hash{$line[1]
oracle user privs
select * from dba_role_privs s where s.GRANTEE='MAO'; select * from dba_sys_privs where GRANTEE='MAO'; select * from dba_col_privs where GRANTEE='MAO'; select * from dba_tab_privs tp where tp.grantee='MAO' [@more@]SELECT dbms_metadata.get_ddl('USER','MAO') FROM dual;SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','MAO') from dual;SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','MAO') from dual;SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','MAO') from dual;SELECT dbms_metadata.
How To Change The Oracle Hidden Parameters In Oracle 10g [ID 315631.1]
Q1: How to query this hidden initialization parameters in sql ?SELECTa.ksppinm "Parameter",b.ksppstvl "Session Value",c.ksppstvl "Instance Value"FROMx$ksppi a,x$ksppcv b,x$ksppsv cWHEREa.indx = b.indxANDa.indx = c.indxANDa.ksppinm LIKE '/_%' escape '/'Q2: How to change these hidden parameters?1) alter system set "<_parameter-of-choice>" scope=spfile and bounce the database. 2) alter..session set command for session level[@more@]select i.ksppinm na
On 32 bit windows 2003, oracle extend sga to max 1.7GB
changed:2.1 boot.ini: add /3GB[boot loader]timeout=30default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS[operating systems]multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Windows Server 2003, Enterprise" /fastdect noexecute=alwaysoff /3GB2.2 restart the computer2.3SQL>alter system set sga_target=2100M scope=spfile;SQL>shutdown immediate;SQL>startup;SQL>show parameter sgaSQL>alter system set pga_aggregate_target=400M;SQL>show parameter pga;[@more@]
library cache pin和library cache lock
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan
v$sqlarea
v$sqlarea是用来表示父游标的一些指标 FETCHES SQL语句提取的数量 EXECUTIONS 此语句包括其子游标执行的次数 LOADS 此语句涉及到的对象被重载的次数 PARSE_CALLS 包括此父游标下所有子游标所解析的次数[@more@]
How To Pin Objects in Your Shared Pool [ID 1012047.6]
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan
How to Dump Redo Log File Information [ID 1031381.6]
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan
Checkpoint和SCN的解析
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin:0cm; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan
forall
declare Type Array_type is Table Of number Index by Binary_Integer; My_Array Array_type; Begin For I In 1..100000 Loop My_Array(I) := I; End Loop; forall i in my_array.first..my_array.last insert into order_header values(my_array(i),'jerry '||to_char(my_array(i))); End;[@more@]
pl/sql数组
declareType Array_type is Table Of number Index by Binary_Integer; My_Array Array_type;Begin For I In 1..10 Loop My_Array(I) := I*2; End Loop; For I In 1..10 Loop Dbms_Output.Put_line(To_char(My_Array(I))); End Loop; Dbms_Output.Put_line(My_Array.first||' '||My_Array.last);End;[@more@]
oracle block phisical address to block#
SQL> select DBMS_UTILITY.DATA_BLOCK_ADDRESS_FILE( TO_NUMBER(‘0300c7f8‘, ‘XXXXXXXX’) ) FILE#, DBMS_UTILITY.DATA_BLOCK_ADDRESS_BLOCK( TO_NUMBER(‘0300c7f8‘, ‘XXXXXXXX’) ) BLOCK# from dual; 2 3 FILE# BLOCK# ———- ———- 12 51192 [@more@] function rowid_create(rowid_type IN number, object_number IN number, relative_fno IN number, block_number IN number, row_number IN number)
umask
[oracle@oracle11gsta ~]$ umask 022[oracle@oracle11gsta ~]$ touch test.txt[oracle@oracle11gsta ~]$ ll test.txt -rw-r--r-- 1 oracle oinstall 0 Jun 28 18:51 test.txt [oracle@oracle11gsta ~]$ mkdir test[oracle@oracle11gsta ~]$ ll drwxr-xr-x 2 oracle oinstall 4096 Jun 28 18:52 test umask 和chmod命令正好相反。u m a s k命令允许你设定文件创建时的缺省模式,对应每一类用户(文件属主、同组用户、 其他用户)存在一个相应的umask值中的数字。对于文件来说,这一数字的最大值分别是6。系 统不允许你在创建
rman backup as copy database format '/tmp/%U.dbf'
rman backup as copy database format '/tmp/%U.dbf'[@more@]
Step By Step Instructions on Migrating Oracle10g Database to Automatic Storage management (ASM)
Disable Block change tracking: SQL> select * from v$block_change_tracking; STATUS ---------- FILENAME -------------------------------------------------------------------------------- BYTES ---------- DISABLED If not disabled then, disble using this command. SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING; Database altered. SQL> Shutdown Database Cleanly: SQL> shutdown immediate
EXECUTE IMMEDIATE动态SQL的使用总结
1. EXECUTE IMMEDIATE将不会提交一个DML事务执行,应该显式提交 如果通过EXECUTE IMMEDIATE处理DML命令, 那么在完成以前需要显式提交或者作为EXECUTE IMMEDIATE自己的一部分. 如果通过EXECUTE IMMEDIATE处理DDL命令,它提交所有以前改变的数据 2. 不支持返回多行的查询,这种交互将用临时表来存储记录(参照例子如下)或者用REF cursors. 3. 当执行SQL语句时,不要用分号,当执行PL/SQL块时,在其尾部用分号. 4. 在Oracle手册中,未详细覆盖这些功能。 下面的例子展示了所有用到Execute immediate的可能方面.希望能给你带来方便
oracle tkprof使用小结
1.chechk init.oratimed_statistics=trueTOP查出最耗资源的PID2.SQL> select s.sid,s.serial# from v$session s,v$process p where s.paddr=p.addr and p.spid='17397';3.如果需要在session级别上设置trace,可以在sqlplus中使用下列语句:SQL> alter session set sql_trace=true; 或者SQL> execute dbms_session.set_sql_trace(TRUE);会话已更改。4.如果要在PL/SQL中对session级别上设置trace,可以使用dbms_session这个包:SQL>exec dbms_system.set_sql_trace_in_session(sid,serial#,true);PL/SQL 过程已成功完成。
rman recover until time
RMAN> run{ 2> set until time "to_date('20110623 16:20:00','yyyymmdd hh24:mi:ss')"; 3> restore database; 4> recover database; 5> }[@more@]
RMAN Fast Incremental Backups
Fast Incremental Backups There are performance issues associated with incremental backups as the whole of each datafile must be scanned to identify changed blocks. In Oracle 10g it is possible to track changed blocks using a change tracking file. Enabling change tracking does produce a small overhead, but it greatly improves the performance of incremental backups. The current change tracking status can be displayed using the following query. SELECT status FROM v$block_chang
alter database datafile 4 offline drop;
SQL> alter database mount;SQL> alter database open;alter database open*第 1 行出现错误:ORA-01157: 无法标识/锁定数据文件 5 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 5: 'D:ORACLEPRODUCT10.2.0ORADATATESTTEST'SQL> alter database datafile 4 offline drop;SQL> alter database open;SQL> !rman target /RMAN> restore datafile 5;SQL> recover datafile 5;完成介质恢复。SQL> alter tablespace users online;表空间已更改。[@more@]