Time of Update: 2018-07-23
Oracle預存程序: CREATE OR REPLACE PROCEDURE getcity ( citycode IN VARCHAR2, ref_cursor OUT sys_refcursor /* 這個sys_refcursor類型在SYS.STANDARD包中 */)ASBEGIN OPEN ref_cursor FOR SELECT * FROM tb_city_code WHERE city_code =
Time of Update: 2018-07-23
在ORACLE資料庫操作中,有時候我們需要定時的執行某些預存程序。那oracle如何?呢。 從ORACLE 10.1版本開始,ORACLE開發了一個新的包DBMS_SCHEDULER。這個包就能幫解決我們的定時計劃任務的問題。 一. 新增job 1. job建立執行個體 BEGIN DBMS_SCHEDULER.CREATE_JOB(JOB_NAME => 'JOB_EXWH_BPARTNER_STATIC',
Time of Update: 2018-07-23
--查看oracle資料庫字元集: select * from V$NLS_PARAMETERS select userenv('language') from dual; 查詢結果: SIMPLIFIED CHINESE_CHINA.AL32UTF8 --修改oracle資料庫字元集:(在SQL Plus中) sql> conn / as sysdba; sql&
Time of Update: 2018-07-23
1、問題是:如果多線程之下同時查詢一條資料查不到,則去插入,插入的時候也是多線程插入。 所以想到用select for update來控制不允許多線程插入(其實這種方式並沒有解決問題) 2、先來瞭解幾個名詞: statement: 一個SQL語句。 session: 一個由ORACLE使用者產生的串連,一個使用者能產生多個SESSION ,但相互之間是獨立的。
Time of Update: 2018-07-23
序列 1、【序列】和【視圖】一樣,並不佔用實際的儲存空間,只是在資料字典中儲存它的定義資訊;當使用者在自己的模式中建立【序列】時,使用者必須具備CREATE_SEQUENCE系統許可權; 2、文法: CREATE sequence seq_name [Start with n] [increment by n] [minvalue n|nominvalue] [maxvalue n|nomaxvalue] [cache n] [cycle|nocycle] [order|
Time of Update: 2018-07-23
1.什麼是遊標。 從表中檢索出結果集,從中每次指向一條記錄進行互動的機制。 用來管理從資料來源返回的資料的屬性(結果集)。這些屬性包括並發管理、在結果集中的位置、返回的行數,以及是否能夠在結果集中向前和/或向後移動(可滾動性)。 遊標跟蹤結果集中的位置,並允許對結果集逐行執行多個操作,在這個過程中可能返回至原始表,也可能不返回至原始表。
Time of Update: 2018-07-23
oracle 11g的監聽日誌和警告日誌都是在/u01/oracle/diag/tnslsnr/oracle/listener目錄和/u01/oracle/diag/rdbms/db1/db1目錄下都有以下分別簡稱listener目錄和db1目錄。這兩目錄下都有如下目錄:alert cdump hm incident incpkg ir lck metadata stage
Time of Update: 2018-07-23
本機安裝了oracle,本機還需要安裝用戶端嗎。 答: 不用安裝,因為你安裝oracle的時候,預設安裝了用戶端。所以,你原生sqlplus是可以用的,sqlplus就是用戶端。 除非一種情況:
Time of Update: 2018-07-23
前提: CREATE TABLE Booking ( id INTEGER NOT NULL, date_made DATE, reserved_until TIMESTAMP, price DECIMAL(15, 2) NOT NULL, Purchase_id INTEGER, PRIMARY KEY(id)) create sequence booking_seq start with 1 increment by 1
Time of Update: 2018-07-23
看下哥的操作; 使用者atongmu串連,修改資料表空間 USERS 為離線;提示許可權不足; oracle大致說:找資料庫管理員來進行操作,或者讓他授予你需要的許可權; sys使用者串連,更改成功; 再開啟表,出現下面提示;無法讀取資料檔案; 用此命令修改為線上即可; ALTER TABLESPACE XXXXXXX ONLINE; 下面實驗關閉開啟資料庫; 先開啟一個系統資料表看看;可以開啟;
Time of Update: 2018-07-23
今天程式在本地都正常運行,可發布到伺服器上時報一個ORA-00911 無效字元的錯誤 這個錯誤是由於sql語句有問題,檢查sql的時候沒有看出什麼問題,結果拿到庫裡面去執行時發現插入語句當中本來是用英文逗號分割的,而我的用的是中文的。 解決方案就不用說了,大家都明白
Time of Update: 2018-07-23
ORACLE中的物化視圖 物化視圖是包括一個查詢結果的資料庫對像,它是遠端資料的的本機複本,或者用來產生基於資料表求和的匯總表。物化視圖儲存基於遠端資料表的資料,也可以稱為快照。 物化視圖可以查詢表,視圖和其它的物化視圖。
Time of Update: 2018-07-23
create or replace trigger tri_SERVICE_TYPE before Delete on SMS_SERVICE_TYPE for each row Declare Cant_Delete Exception; Begin If Deleting Then --不允許刪除 Raise
Time of Update: 2018-07-23
1.安裝包:(安裝包有點大,等網速好的時候再上傳至網盤,如果有需要的話可以先私聊找我要) 2.下載好安裝包,解壓後你會得到如下圖紅框所示的兩個檔案夾,然後根據圖示目錄運行setup.exe 3.整個過程一共11步,第1步不提供郵件地址直接點下一步的話卡在那裡15min是正常的,千萬不要像心急的我一樣以為它死掉了就把它關了,一定要耐心等待。 4.然後接下來的每一步選好自己需要的配置之後點”下一步”就好了。 5.第11步安裝的時候如果用的不是我提供的安裝包而使用官網下載的會卡在69%
Time of Update: 2018-07-23
這是Oracle對Regex的backreference的描述 從定義中可以看到,當匹配運算式中已()的形式將一個子串包含起來,後面就可以以\?的形式來引用。\1對應第一個(),\2對應第二個... 反向引用的引入使得Regex的匹配功能變得更加強大,介紹兩個在oracle正則函數中的應用 regexp_like regexp_like('1211233','^([0-9])(\d)\1\1\2(\d)\3$
Time of Update: 2018-07-23
持續更新中,可參見https://hnuhell.gitbooks.io/oracle_errmg/content/或https://hnuhell.github.io/Oracle_ERRMG/上的頁面。 ORA-00000 to ORA-00877 ORA-00000: 正常的成功的完成(操作) ORA-00000: normal, successful completion 原因1: 正常執行完成。【部分驗證】 Normal exit.
Time of Update: 2018-07-23
Oracle資料庫有三種標準的備份方法,它們分別是匯出/匯入(EXP/IMP)、熱備份和冷備份。匯出備件是一種邏輯備份,冷備份和熱備份是物理備份。 一、 匯出/匯入(Export/Import) 利用Export可將資料從資料庫中提取出來,利用Import則可將提取出來的資料送回到Oracle資料庫中去。 1、 簡單匯出資料(Export)和匯入資料(Import) Oracle支援三種方式類型的輸出: (1)、表方式(T方式),將指定表的資料匯出。
Time of Update: 2018-07-23
1、事務槽update delete 爭用事務槽 每個塊都有資料槽2、100萬 分區 一億 分區 區別…一億資料量可以考慮子分區 分表分區合理的話查詢效能無差3、800萬資料索引查詢幾條資料效能提升很大 查詢大量資料 全表比索引要好 索引要回表4、三範式第一範式 列不可再分第二範式 需要主鍵第三範式 外鍵約束,減少冗餘5、預存程序 觸發器 函數 文法/區別網上看詳細吧6、約束有哪幾種 五種(都忘了)主鍵約束外鍵約束唯一約束檢查約束非空約束7、awr 事件 等待事件 鎖db file
Time of Update: 2018-07-23
預存程序是存放在資料字典中的程式塊,它可以在不同使用者和應用程式間共用,並可實現程式的最佳化和重用。 一、預存程序的建立和執行 1、利用SQL命令建立預存程序 文法格式如下: Sql代碼
Time of Update: 2018-07-23
文章為轉載,之後找不到原博地址了,sorry to_week_by_year(to_date('2015-1-1', 'yyyy-MM-dd')) CREATE OR REPLACE FUNCTION to_week_by_year (sdate IN DATE) RETURN NUMBER IS Result NUMBER ; BEGIN SELECT