如何從oracle抽數(shù)據(jù),oracle增量抽取數(shù)據(jù)的方式

用oracle從每個分類中隨機抽取10%的數(shù)據(jù)怎么實現(xiàn)

select col1,col2,type

創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計,集網(wǎng)站策劃、網(wǎng)站設(shè)計、網(wǎng)站制作于一體,網(wǎng)站seo、網(wǎng)站優(yōu)化、網(wǎng)站營銷、軟文推廣等專業(yè)人才根據(jù)搜索規(guī)律編程設(shè)計,讓網(wǎng)站在運行后,在搜索中有好的表現(xiàn),專業(yè)設(shè)計制作為您帶來效益的網(wǎng)站!讓網(wǎng)站建設(shè)為您創(chuàng)造效益。

from (select col1,col2,type,rn,max() over(partitio by type) as rn_max

from (select col1,col2,type,row_number() over (paritition by type order by dbms_random.value) as rn

from tablename ) t

) p

where rn/rn_max=0.1

;

sample不確定能不能用分析函數(shù),但是主要是用來全表取sample的

oracle 數(shù)據(jù)怎么導入?

我給你一些數(shù)據(jù)庫常用的導入導出命令吧:\x0d\x0a該命令在“開始菜單運行CMD”中執(zhí)行\(zhòng)x0d\x0a一、數(shù)據(jù)導出(exp.exe)\x0d\x0a1、將數(shù)據(jù)庫orcl完全導出,用戶名system,密碼accp,導出到d:\daochu.dmp文件中\(zhòng)x0d\x0aexp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、將數(shù)據(jù)庫orcl中scott用戶的對象導出\x0d\x0aexp scott/accp@orcl file=d:\daochu.dmp owner=(scott)\x0d\x0a\x0d\x0a3、將數(shù)據(jù)庫orcl中的scott用戶的表emp、dept導出\x0d\x0aexp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)\x0d\x0a\x0d\x0a4、將數(shù)據(jù)庫orcl中的表空間testSpace導出\x0d\x0aexp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)\x0d\x0a\x0d\x0a二、數(shù)據(jù)導入(imp.exe)\x0d\x0a1、將d:\daochu.dmp 中的數(shù)據(jù)導入 orcl數(shù)據(jù)庫中。\x0d\x0aimp system/accp@orcl file=d:\daochu.dmp full=y\x0d\x0a\x0d\x0a2、如果導入時,數(shù)據(jù)表已經(jīng)存在,將報錯,對該表不會進行導入;加上ignore=y即可,表示忽略現(xiàn)有表,在現(xiàn)有表上追加記錄。\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y\x0d\x0a\x0d\x0a3、將d:\daochu.dmp中的表emp導入\x0d\x0aimp scott/accp@orcl file=d:\daochu.dmp tables=(emp)

oracle 數(shù)據(jù)抽取

建議java代碼調(diào)用一個存儲過程。

存儲過程中使用 create table 的 方式實現(xiàn)數(shù)據(jù)的導入。

如果需要并行,使用oracle自身的臨時表。

對oracle數(shù)據(jù)庫抽取指定條件的數(shù)據(jù)

用eclipse

首先在oracle文件下找到jdbc文件,里面的lib文件下有個class12.zip

在eclipse里新建個項目,建好后在左邊右擊那個項目圖標,選擇屬性(最下面的),里面有個java build path,點進去,找到add external jars按鍵,點一下,把那個class12.zip加載進來,然后可以開始寫代碼了。

我的代碼如下:

import java.sql.*;

public class connect {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

try{

Class.forName("oracle.jdbc.driver.OracleDriver");

}catch(ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

Connection con = null;

Statement stmt = null;

ResultSet rs = null;

try{

String url="jdbc:oracle:thin:@服務器ip地址:端口號:數(shù)據(jù)庫名字";

String user="用戶名";

String password="密碼";

String str="INSERT INTO ZZZ_2 VALUES('041110018','JHDK')";

con = java.sql.DriverManager.getConnection(url,user,password);

// 創(chuàng)建狀態(tài)

stmt = con.createStatement();

// 執(zhí)行SQL語句,返回結(jié)果集

//int rowcount = stmt.executeUpdate(str);

int j = stmt.executeUpdate("update ZZZ_2 set NAME='dbt' where ID=21");

int k = stmt.executeUpdate("delete from ZZZ_2 where ID=41110020");

rs = stmt.executeQuery("SELECT * FROM ZZZ_2");

// 對結(jié)果集進行處理

while (rs.next()) {

int id = rs.getInt("ID");

String name = rs.getString("NAME");

//Integer age = rs.getObject("age") == null ? null : rs.getInt("age");

System.out.println(id + ": " + name);

} }catch(SQLException e){

e.printStackTrace();}

// 釋放資源

finally{

try{

rs.close();

}catch(SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try{

stmt.close();

}catch(SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try{

con.close();

}catch(SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

注意,上面的ip地址什么的要填對,ZZZ_2是我隨便建的表,你改成自己的表名就行了

oracle的dbf文件如何把數(shù)據(jù)導出來

oracle的dbf文件導出數(shù)據(jù):

只有DBF文件的情況下做Oracle 數(shù)據(jù)恢復

1)數(shù)據(jù)庫所有的DBF文件都在,沒有缺失,也沒有損壞

這個情況是最簡單的 自己建一個參數(shù)文件INIT.ORA,并基于這些DBF文件去創(chuàng)建控制文件,然后嘗試打開數(shù)據(jù)庫即可。如果說數(shù)據(jù)文件都是干凈的CLEAN的,那么直接可以打開。如果數(shù)據(jù)文件是DIRTY的,這里由于沒有REDO LOG了,所以需要以隱藏參數(shù)等方式打開數(shù)據(jù)庫。

2) 數(shù)據(jù)庫DBF有少量缺失,缺失主要是非SYSTEM01.DBF的數(shù)據(jù)文件,沒有損壞

這種情況在 1)的基礎(chǔ)上將缺失的數(shù)據(jù)文件OFFLINE DROP掉就好了,因為對應的數(shù)據(jù)文件都沒了,那么丟了對應數(shù)據(jù)文件上的數(shù)據(jù)也很正常

3) 數(shù)據(jù)庫DBF有少量缺失,缺失主要是非SYSTEM01.DBF的數(shù)據(jù)文件,非SYSTEM01.dbf的數(shù)據(jù)文件有少量損壞

這種情況在 2)的基礎(chǔ)上打開數(shù)據(jù)庫問題并不大,但打開數(shù)據(jù)庫后 由于其他表空間數(shù)據(jù)文件上有少量損壞,所以具體訪問用戶數(shù)據(jù)時可能出現(xiàn)ORA-1578、ORA-8103、ORA-1410、ORA-00600等錯誤,還是比較容易克服的

4) 數(shù)據(jù)庫DBF有少量缺失,缺失主要是非SYSTEM01.DBF的數(shù)據(jù)文件,SYTEM01.DBF有損壞

這種情況下打開數(shù)據(jù)庫就不容易了,可能需要用到BBED技術(shù)去修改SYSTEM01.DBF,以便才能打開數(shù)據(jù)庫

5) 只有部分DBF,其中還缺失了SYSTEM01.DBF

這種情況不要指望能打開數(shù)據(jù)庫,只能使用PRM-DUL之類的軟件 來直接抽取數(shù)據(jù)

以上情況1)~4) 只要SYSTEM01.DBF還在或者損壞的不是太嚴重,那么都可以由專業(yè)技術(shù)人員去打開數(shù)據(jù)庫后導出數(shù)據(jù),但是在情況5)下只能使用DUL類工具去抽取數(shù)據(jù)了。

標題名稱:如何從oracle抽數(shù)據(jù),oracle增量抽取數(shù)據(jù)的方式
本文來源:http://muchs.cn/article10/hcgcdo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、品牌網(wǎng)站設(shè)計定制網(wǎng)站、網(wǎng)站改版、網(wǎng)站內(nèi)鏈、動態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)