[转]oracle数据批量装载
在《ORACLE高效设计》一书P87里看到对于数据仓库或数据市场的批量装载方法下面是书中做法[@more@] 1)设置索引为UNUSABLE状态(不删除索引,只是把它们设置为UNUSABLE)。 2)设置会话跳过UNUSABLE索引并进行批量装载。 3)重新启用索引。 在SQL*Plus中采用以下几个步骤实现以上几点。 比如有一个表名为t,表t上有一索引为t_idx。 1)alter index t_idx unusable; 2)alter session set skip_unusable_indexes=true; insert /*+ APPEND */ into t select * from t2; 3)alter index t_idx rebuild nologgin
sqlplus的一些命令设置
下面这些设置主要是用来spool数据时使用的[@more@]WHENEVER SQLERROR EXIT -1 ROLLBACK; --发现错误就退出set head off --在每页的上面不显示列标题,而是以空白行代替set verify off --可以关闭提示确认信息set trimspool on --去除重定向(spool)输出每行的拖尾空格,缺省为offset newpage 0 --页与页的分隔为0set pagesize 0 --不分页set lines 10000 --每
html disabled用法
表示已经失效的输入域(框),使用这个选项可以生成禁止修改的输入框.<form id="dreamduform" action="dreamdu.php" method="post"> <label for="fav">计算机</label><input type="checkbox" value="1" id="fav" name="fav" /><label for="fav">旅游</label><input type="checkbox" value="2" id="fav" name="fav" disabled="disabled" /><lab
create tablespace
1 create tablespace Bill. --创建永远久表空间 datafile '/u01/tablespace/bill.dbf' size 3M uniform size 128K segment space management auto;[@more@]1 create temporary tablespace billtmp ----创建临时表空间 2 tempfile '/u01/tablespace/billtmp.dbf' size 10M 3 extent management local 4* uniform size 128kSQL> /Tablespace created. SQL> create undo tablespace billundo -----创建UNDO表空间 2 datafile '/u01/tablespa
多行的锚定
多行的锚定[@more@]在dn:aaa 与 cn:bbb中找uid:123dn:aaauid:123cn:zhdn:bbbuid:456cn:gzwhile(<DATA>){ if( /dn:aaa/.../cn:bbb/ and /uid:123/ ){ print "okn"; }}__END__dn:aaadn:ccccn:122uid:123dn:bbbcn:zhdb:bbbuid:456cn:gzcn:bbb
load large data into database
1 关闭index2 nologing alter table table_name nologing3 alter session enable parallel dml4 insert /*+parallel(A1,8)*/ /*+ APPEND */ into A1 select /*+parallel(A2,10)*/ * from A2 ; Or: alter table A1 parallel 8 //"8" 并行数,与CPU有关 alter table A2 parallel 10[@more@]pl/sql实例: alter session enable parallel dml;DECLARE PRAGMA AUTONOMOUS_TRANSACTION; X NUMBER; SUMNUM NUMBER; INSERT_NUM NUMBER;BEGIN INSERT_NUM := 0; X := 0; SELECT COUNT(*) INTO SUMNUM
指针数组和数组指针的区别
指针数组(an array pointers),故名思义,就是指针的数组;数组的元素是指针;用于存储指针的数组.如:int *p[2]; 首先声明了一个数组,数组的元素是int型的指针。数组指针(a pointer to an array),就是指向数组的指针.如:int (*p)[2]; 声明了一个指针, 指向了一个有两个int元素的数组。[@more@]
SHELL 写的旋转进度指针
chinaunix上发现的,很有意思.收录下来[@more@]drawper (){_per=`expr $1 * 100 / $2`case `expr $_per / 4 % 4` in0) _char="|" ;;1) _char="/" ;;2) _char="-" ;;3) _char="" ;;esacprintf "r$_char $_per%%"if [ $1 -eq $2 ];thenprintf "n"fi}i=1while [ $i -le 100 ]dodrawper $i 100i=`expr $i + 1`done
"unable to attach to shared memory segment"问题的解决
将$ORACLE_HOME/bin/oracle的权限改为6751[@more@]
[转]cout, cerr and endl
[转]cout, cerr and endl[@more@] cerr与cout的主要区分就是,cout输出的信息可以重定向,而cerr只能输出到标准输出(显示器)上。例如下面程序编译后生成test.exe // test.cpp #include <iostream.h> int main() { cout << "hello world---cout" << endl ; cerr << "hello world---cerr" << endl ; return 0; } 在命令行模式下键入下面的命令: test >>cout.txt 运行结果是: 在生成的cout.txt文件中输出了"hello wor
如何合并sql结果
有两句SQL,如:select count(a) from A;select count(b) from B;怎样才能使用一句SQL得出下面得结果呢?count(a)|count(b) 3 5...
使用expect自动自动登陆ssh和telnet
使用expect自动自动登陆ssh和telnet[@more@]cat de03#!/usr/users/nmds/bin/expect -fset timeout 30spawn telnet dw03expect "login:"send "nmdsr"expect "Password:"send "12345r"interact=============cat dw01#!/usr/users/nmds/bin/expect -fset timeout 30spawn ssh -lelink dw01expect "password:"send "12345r"interact
Java connect to oracle
Java connect to oracle[@more@]Fun : FB_DataSource:-------------------------------package rpt_finalbill;import java.sql.*;import oracle.jdbc.pool.*;public class FB_DataSource{ private static OracleDataSource ds;/* private static final String DRIVER_TYPE = "thin"; private static final String SERVER_NAME = "172.20.105.101"; private static final int PORT_NUMBER = 31522; private static final String DATABASE_NAME = "bill_bi";*/ private static final Strin
sqlldr的用法总结
sqlldr userid=lgone/tiger control=a.ctl LOAD DATA INFILE 't.dat' // 要导入的文件 // INFILE 'tt.date' // 导入多个文件 // INFILE * // 要导入的内容就在control文件里 下面的BEGINDATA后面就是导入的内容[@more@] INTO TABLE table_name // 指定装入的表 BADFILE 'c:bad.txt' // 指定坏文件地址 ************* 以下是4种装入表的方式 APPEND // 原先的表有数据 就加在后面 // INSERT // 装载空表 如果原先的表有数据 sqlloader会停止 默认值 // REPLACE // 原先的表有数据 原先的数据会
oracle最高账号sys的密码认证模式
CONNECT USERNAME/PASSWORD@SERVERNAME AS SYSDBAconnect 是指连接到username是指用户名password是指密码servername是指服务名as sysdba是指已数据库管理员的身份登录[@more@]oracle提供的认证模式1. 操作系统验证(匿名登录 不检验用户名和密码)conn / as sysdba既是操作系统认证只能用在本地 因为数据库软件安装在操作系统之上用户必须是dba组;能直接访问操作系统了 oracle就不需要限制了.在类UNIX系统中基于权限委派的原因对于普通用户添加到oinstall dba组中即可如果只添加dba组也不可以因为oracle安装目录基本都是750权限即使改目录权
DBMS_STATS.GATHER_TABLE_STATS详解
作用:DBMS_STATS.GATHER_TABLE_STATS统计表,列,索引的统计信息.[@more@]DBMS_STATS.GATHER_TABLE_STATS的语法如下:DBMS_STATS.GATHER_TABLE_STATS ( ownname VARCHAR2, tabname VARCHAR2, partname VARCHAR2, estimate_percent NUMBER, block_sample BOOLEAN, method_opt VARCHAR2, degree NUMBER, granularity VARCHAR2, cascade BOOLEAN, stattab VARCHAR2, statid VARCHAR2, statown VARCHAR2, no_invalidate BOOLEAN, force BOOLEAN);参数说明:ownname:要分析表的拥有者tabname:要分析的表名.partname:分区的名字,只对分区表或分区索引
Ceil()函数和floor()函数举例
ceil,floor比较少用,特此记录.[@more@]CEIL(n)函数:取大于等于数值n的最小整数 SELECT mgr,mgr/100,CEIL(mgr/100) FROM scott.emp;--结果: MGR MGR/100 CEIL(MGR/100)---------- ---------- ------------- 7902 79.02 80 7698 76.98 77 7698 76.98 77 7839 78.39 79 7698 76.98 77 7839 78.39 79 7839 78.39 79 7566 75.66 76 7698
Oracle的分析表和索引脚本
Oracle的分析表和索引脚本[@more@]#!/bin/ksh# analyze.kshORACE_SID=XXXexport ORACLE_SIDORACLE_HOME=`cat /var/opt/oracle/oratab|grep ^$ORACLE_SID: |cut -f2 -d':'``export ORACLE_HOMEPATH = $ORACLE_HOME/bin:$PATHexport PATH$ORACLE_HOME/bin/sqlplus /<<!set page 999set heading offset echo offset feedback offconnect internal;spool /export/home/oracle/analyze.sql;select'analyze table '||owner||'.'||table_name||' estimate statistics sample 5000 rows;'from dba_tableswhereowner not in ('SYS','SYSTEM',
[原]Using awk to count records and sort the result
Using awk to count records and sort the result[@more@]-bash-3.2$ head 1.txt1320000351132000003513200005541320000035132000023613200005571320000556-bash-3.2$ cat 1.sh#!/bin/shawk '{a[$0]++;b ++;} END { for (k in a) {print k,a[k];};print "Total "b;}' 1.txt|sort -r -n -k2 > 2.txt-bash-3.2$sort 排序,-r 从大到小,-n 按照数字排序,-k2 以第2列排序
php的预定义变量
服务器变量:$_SERVER、环境变量:$_ENV、HTTP Cookies:$_COOKIE、HTTP GET 变量:$_GET、HTTP POST 变量:$_POST、HTTP 文件上传变量:$_FILES、Request 变量:$_REQUEST、Session 变量:$_SESSION、Global 变量:$GLOBALS使用说明[@more@]自 PHP 4.1.0 起,取得外部变量的首选方法是用下面提及的超全局变量。在此之前,人们要么依赖 register_globals,要么就是长长的预定义 PHP 数组($HTTP_*_VARS)。 在 PHP 5.0.0 中,长的 PHP 预定义数组可以通过设置 register_long_arrays 来屏蔽。 服务器变量:$_SERVER注: 在 PHP 4.1.0 及以后