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的
我給你一些數(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)
建議java代碼調(diào)用一個存儲過程。
存儲過程中使用 create table 的 方式實現(xiàn)數(shù)據(jù)的導入。
如果需要并行,使用oracle自身的臨時表。
用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ù):
只有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)