Time of Update: 2018-07-26
GXPT是一個分布式系統,此系統暫時包含許可權系統、基礎系統、評教系統、考試系統,各個系統建有自己的oracle資料庫。我們小組負責的是評教系統,而評教系統的正常需要藉助於許可權系統和基礎系統,具體的業務這裡就不多解釋了。近期要進行評教活動了,基礎系統在往基礎庫中錄入真實資料,而評教系統還想進行一下功能及壓力測試,當然就不同直接操作基礎真實資料庫的資料了,於是我們準備了一台裝有oracle的待命伺服器,作為測試使用。
Time of Update: 2018-07-26
oracle匯入資料的方式比較多:主要介紹兩種十分簡單的方式(通過已存在的工具完成匯入)。 一、通過pl/sql developer匯入.csv資料。 普通的pc機,這種方式一般只能匯入20+w的資料,再多就有卡死的風險。 工具->工具匯入器->開啟,選擇.csv檔案匯入:如下截圖: 可以修改“每次提交”的數目,需要注意來源資料與表欄位的映射關係,然後點擊“匯入”,即可。 二、如果量達到100w級以上,建議用sql語句匯入或其它方式。 在達到100
Time of Update: 2018-07-26
oracle 分析函數使用的另類: over (partition by ......) 分析函數中使用case when ; 例: SQL> with pctest as ( 2 SELECT 1 id ,'a1' name from dual 3 union 4 SELECT 1 id ,'a2' name from dual 5 union 6 SELECT 1 id ,'a3' name from dual 7 union 8 SELECT
Time of Update: 2018-07-26
1.方案概述 利用Linux作業系統的NFS為UNIX提供磁碟空間,利用資料庫的RMAN工具實施資料庫的備份,備份資料集中存放於備份伺服器的磁碟空間內。 資料庫伺服器:dbserver0 ~ n ,Database Backup伺服器10.1.251.133 2.搭建備份伺服器 1、 備份伺服器提供的磁碟空間
Time of Update: 2018-07-26
Rownum:根據sql查詢出的結果集為每行分配一個邏輯編號,能夠動態變化,根據sql每次的查詢變化進行重新的編號,每次都是從1開始排號; Rowid:在資料產生時就會有一個唯一的標示,這個標示類似於物理結構上的物理記錄,是不會隨著sql的查詢發生變化的。 例如:selectrowid,rownum,t.order_id from tab_order_s t where t.contract_type=41; 得出結果:
Time of Update: 2018-07-26
執行個體示範: (1)查詢表users中的資料。 select u.id,u.realname,U.SEX from users u; 查詢結果如下 ID REALNAME SEX 1 10082 松XX 2 10084 林XX 1 3 10087 西XX 4 10100 胡XX
Time of Update: 2018-07-26
--varchar,varchar2 聯絡: 1.varchar/varchar2用於儲存可變長度的字串 比如varchar(20),存入字串'abc',則資料庫中該欄位只佔3個位元組,而不是20個位元組 2.size 的最大值是 4000,而最小值是 1,其值表示位元組數,比如 varchar(20)表示最大可以存放20個位元組的內容 區別: 1.varchar2把所有字元都佔兩位元組處理(一般情況下),varchar只對漢字和全形等字元佔兩位元組,數字,英文字元等都是一個位元組;
Time of Update: 2018-07-26
今天早上使用者打電話說系統的排序有問題,仔細看了一下,問題好像是出在ROWNUM這個函數上。 在Oracle下ROWNUM函數是對查詢結果按照順序分配自增行序號,所以很多人都利用這個特點進行分頁操作,即rownum between 30 and 60,這種限制返回行數的小竅門在普通情況下都很正常,但如果要對返回結果在進行排序就變得亂套了。 如下查詢: select page.* from( select rownum page_id,
Time of Update: 2018-07-26
part 1 1. 建立job job是什麼呢? 簡單的說就是計劃(schedule)加上任務說明. 另外還有一些必須的參數. 這裡提到的"任務"可以是資料庫內部的預存程序,匿名的PL/SQL塊,也可以是作業系統層級的指令碼. 可以有兩種方式來定義"計劃": 1) 使用DBMS_SCHDULER.CREATE_SCHEDULE 定義一個計劃; 2) 調用DBMS_SCHDULER.CREATE_JOBE過程直接指定 (下面會詳細說明)
Time of Update: 2018-07-26
最近的RP 值有點低,昨天開始裝個10g的RAC。 遇到了N多問題。 解決raw 裝置的問題之後, 在第二個節點執行root.sh 時候,報錯如下: [root@rac2 ~]# /u01/app/oracle/product/crs/root.sh WARNING: directory '/u01/app/oracle/product' is not owned by
Time of Update: 2018-07-27
表函數可接受查詢語句或遊標作為輸入參數,並可輸出多行資料。該函數可以平行執行,並可持續輸出資料流,被稱作管道式輸出。應用表函數可將資料轉換分階段處理,並省去中間結果的儲存和緩衝表。 1. 用遊標傳遞資料利用遊標 REF CURSOR 可將資料集(多行記錄)傳遞到PL/SQL函數:SELECT * FROM TABLE (myfunction (CURSOR (SELECT *
Time of Update: 2018-07-27
有一使用者的表需要匯入到我們系統中,原表TM_WWM中日期是VARCHAR(8)型,格式為yyyymmdd。在匯入到我系統之前需要先看看日期是否合法 SQL1 select to_date(SALEDATE,'YYYYMMDD') from TM_WWM b
Time of Update: 2018-07-27
最近幾天一直在弄Oracle-SQL的問題,涉及到了一些平時沒有用到的東西,也因此而在這裡鬱悶了好久。現在問題得到瞭解決雖說不算完美。但是還是和大家一起分享一下。 行列轉換之一:sum(case when.. then.. else.. end) as 語句 這種也可能是我們遇到的第一個行列轉換的方法。巧妙的利用匯總和判斷語句就可以解決的。 先看一個簡單的基礎資料表:如下圖 create table STUDENT (
Time of Update: 2018-07-27
在我們不想讓某個job運行時,可將其禁用,通過調用dbms_job.broken完成。 dbms_job.broken過程的文法為: dbms_job.broken( job in binary_integer,
Time of Update: 2018-07-28
前提條件:1)安裝Oracle ODI2)安裝Oracle XE資料庫3)建立資料庫使用者odi/apps, odi_work/apps, odi_ess/apps, odi_obj/apps4)在odi_ess與odi_obj(來源資料與目標資料存放區位置)建立資料庫表 cux_users/cux_sites 建表指令碼為:create table cux_users(user_id NUMBER, username VARCHAR2(20)
Time of Update: 2018-07-28
一、引言
Time of Update: 2018-07-29
有時候需要我們對資料庫的資料做遷移,但有些資料又不讓遷移的情況下就需要部分表的匯出匯入了。 ----資料匯出 --建立目錄放dmp檔案 mkdir -p /backup/oracle/dmp --賦值給oracle使用者 chown -R oracle:oinstall /backup --用超級管理員登陸資料庫 sqlplus / as sysdba; create directory dmp_file as
Time of Update: 2018-07-29
Oracle job有定時執行的功能,可以在指定的時間點或每天的某個時間點自行執行任務。 而且oracle重新啟動後,job會繼續運行,不用重新啟動。 一、查詢系統中的job,可以查詢檢視 --相關視圖 select * from dba_jobs; select * from all_jobs; select * fromuser_jobs; -- 查詢欄位描述 /* 欄位(列)
Time of Update: 2018-07-30
資料表空間: Oracle的UNDOTBS01.DBF檔案太大的解決辦法 1、.禁止undo tablespace自動成長 alter database datafile 'full_path/undotbs01.dbf' autoextend off; 2.-- 建立一個新的小空間的undo
Time of Update: 2018-07-30
Oracle查詢指定索引提高查詢效率 一個1600萬資料表--簡訊上行表TBL_SMS_MO 結構: CREATE TABLE TBL_SMS_MO ( SMS_ID NUMBER, MO_ID VARCHAR2(50), MOBILE VARCHAR2(11), SPNUMBER VARCHAR2(20), MESSAGE VARCHAR2(150),