Time of Update: 2018-12-08
1.視圖的概述 視圖其實就是一條查詢sql語句,用於顯示一個或多個表或其他視圖中的相關資料。視圖將一個查詢的結果作為一個表來使用,因此視圖可以被看作是儲存的查詢或一個虛擬表。視圖來源於表,所有對視圖資料的修改最終都會被反映到視圖的基表中,這些修改必須服從基表的完整性條件約束,並同樣會觸發定義在基表上的觸發器。(Oracle支援在視圖上顯式的定義觸發器和定義一些邏輯約束) 2.視圖的儲存
Time of Update: 2018-12-08
如何修改資料庫名(db_name)及執行個體名(Instance_name or Service_name) Nid是Oracle從9iR2開始提供的工具,可以用來更改資料庫名稱,而無需通過之前重建控制檔案等繁瑣方式。 nid是內建的工具,在oracle_home/bin目錄中.以下方法假設登陸到資料庫本機做。 目的:在本例中,假設原來的資料庫名為orcl,要改成dborcl,原執行個體名(service_name,instance_name)orcl,要改成dborcl. 步驟概述:
Time of Update: 2018-12-08
軟體環境: 1、作業系統:Windows 2000 Server 2、數 據 庫:Oracle 8i R2 (8.1.7) for NT 企業版 3、安裝路徑:C:ORACLE 實現方法: 1、 D:>set NLS_LANG=AMERICAN_AMERICA.USACII7 或 D:>set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1 D:>set 直接打set命令可以查看環境變數 2、 在D:
Time of Update: 2018-12-08
添加使用者(隨著使用者的建立,自動產生與使用者同名的schema) CREATE USER "TESTER" PROFILE "DEFAULT" IDENTIFIED BY "TESTER" DEFAULT TABLESPACE "TESTDATA" TEMPORARY TABLESPACE "TESTTEMP" ACCOUNT UNLOCK; 賦權(說實話,這些許可權是開發中使用的許可權,如果使用者生產環境,請自行對於使用者建立相應的系統許可權) 據說生產環境下,只是connect
Time of Update: 2018-12-08
Oracle遊標分為顯示遊標和隱式遊標。 顯示遊標(Explicit Cursor):在PL/SQL程式中定義的、用於查詢的遊標稱作顯示遊標。 隱式遊標(Implicit Cursor):是指非PL/SQL程式中定義的、而且是在PL/SQL中使用UPDATE/DELETE語句時,Oracle系統自動分配的遊標。 一.顯示遊標 1.使用步驟 (1)定義 (2)開啟 (3)使用 (4)關閉 2.使用示範 首先建立測試用表STUDENT,指令碼如下: 複製代碼 代碼如下:CREATE TABLE
Time of Update: 2018-12-08
一.概念簡介 指令碼:script是使用一種特定的描述性語言,依據一定的格式編寫的可執行檔,又稱作宏或批次檔。 二.背景 近來在Windows下安裝了oracle資料庫,由於此資料庫很占系統資源,而安裝後此資料庫的很多服務都是預設開機啟動的,這樣系統運行速度就大大受到影響。如何按我們的意願讓這些服務在我們需要用到的時候開啟,而我們不用的時候關閉呢。這裡我只介紹三種方式。 三.本文 1.利用資源管理員關閉相關進程如oracle.exe,這種方式需要我們非常瞭解oracle的進程式控制製程序。 2.
Time of Update: 2018-12-08
1.建表複製代碼 代碼如下:-- Create table create table test ( dm1 char(3), dm2 char(3), mc1 nvarchar2(20), val nvarchar2(20) ) 2.填入資料如下:DM1DM2MC1VAL1011c11001011c2801011c3401012c1301012c2801024c191026c250轉換後資料顯示如下:DM1DM2c1c2c31011100804010123080 10249 1026 50 3
Time of Update: 2018-12-08
格式: SELECT column FROM table_name START WITH column=value CONNECT BY PRIOR 父主鍵=子外鍵 select lpad(' ',4*(level-1))||name name,job,id,super from emp start with super is null connect by prior id=super 例子: 未經處理資料:select no,q from a_example2 NO NAME -------
Time of Update: 2018-12-08
首先說下ms server,因為我也是新手,所以首先選擇了使用企業管理器進行任務設定,然後再匯出設計完畢的任務指令碼,這樣就可以在其他資料庫中直接通過執行指令碼的形式來建立任務了(需要適當修改其中的一些任務名稱和資料庫名稱等值),下面說下具體的操作步驟以及獲得的任務指令碼: 1. 保證啟動ms server的“SQL Server代理服務”(即agent service) 2. 開啟企業管理器 -> 串連資料服務器 -> 右鍵“SQL Server agent”節點下的“jobs”,
Time of Update: 2018-12-08
delete 刪除一張大表時空間不釋放,非常慢是因為佔用大量的系統資源,支援後援動作,空間還被這張表佔用著。 truncate table 表名 (刪除表中記錄時釋放資料表空間) DML 語句: 表級共用鎖定: 對於操作一張表中的不同記錄時,互不影響 行級排它鎖:對於一行記錄,oracle 會只允許只有一個使用者對它在同一時間進行修改操作 wait() 等到行級鎖被釋放,才進行資料操作 drop一張表時也會對錶加鎖,DDL排它鎖,所以在刪除一張表時如果當前還有使用者動作表時不能刪除表
Time of Update: 2018-12-08
筆者認為,在建立索引時要做到三個適當,即在適當的表上、適當的列上建立適當數量的索引。雖然這可以通過一句話來概括最佳化的索引的基本準則,但是要做到這一點的話,需要資料庫管理員做出很大的努力。具體的來說,要做到這個三個適當有如下幾個要求。 一、 根據表的大小來建立索引。
Time of Update: 2018-12-08
這幾天看了篇叫"Penetration: from application down to OS (Oracle)"的文檔,感覺挺有意思的,文檔的 大概意思就是說,如果 ORACLE 服務是用 administrator 賬戶啟動的,你只要有一個具有 resource 和 connect 許可權的資料庫賬戶,就能利用 metasploit 的 smbrelay 功能,本地搭建一個 SMB 欺騙伺服器,
Time of Update: 2018-12-08
INSERT INTO Table (TestCol) VALUES(‘') 其中的TestCol欄位,其實在設計的時候,已經被設計為NOT NULL,但我們需要瞭解一點,在sql server中,null和空格是不同的,也就是說,上面的語句插入的是一個空,但並不是NULL,只有當我們的插入語句中沒有該欄位的時候,才會被認為違反非空的條件約束,這裡可能用英文的表達可能會更加的準確一些,如果把NULL翻譯成“空”的話,可能就會很容易搞混了。此外,如果我們的欄位是INT類型的話,如果我們插入空的話,
Time of Update: 2018-12-08
最近群裡好多人討論oracle安全問題,今天找了些資料學習了下 擷取Oracle當前會話的一些屬性 (對於sql注射的環境判斷很有用哦) SYS_CONTEXT 函數返回是與上下文名稱空間相關的屬性值。這個函數可以用在SQL和PL/SQL語句中。 注意: SYS_CONTEXT 返回的是使用者會話期間的屬性,所以,你無法使用它在並行的查詢或即時應用叢集環境。 對於名稱空間和變數, 你可以定義它(們)為常量字串,也可以定義一個變數,來代替名稱空間或屬性的字串。名稱空間必須是已經在資料庫中定義好的,
Time of Update: 2018-12-08
/* 小弟剛剛接觸ORACLE預存程序,有一個問題向各位同行求教,小弟寫了一個預存程序,其目的是接收一個參數作為表名,然後查詢該表中的全部記錄的某一個欄位的內容匯入到另一個表中。 ( tabname in varchar ) is v_servicesname tabname.服務類型%type; --這個變數就是用來存放所要取得的欄位內容,但不知該如何定義 cursor curSort1 is select 服務類型 from
Time of Update: 2018-12-08
正在看的ORACLE教程是:Oracle對兩個資料表交集的查詢。Oracle關係型資料庫管理系統是世界上流行的關聯式資料庫,它是一個極其強大、靈活和複雜的系統,據說,在使用oracle時應有這樣的思想,那就是在SQL中幾乎可以實現任何一種想法。 下面向大家介紹使用SQL查兩個Oracle資料表查詢的相同資料的方法,筆者感到這兩種方法執行效率高、使用方便。 第一種方法:利用操作符intersect
Time of Update: 2018-12-08
正在看的ORACLE教程是:Oracle PL/SQL語言入門基礎。PL/SQL是ORACLE對標準資料庫語言的擴充,ORACLE公司已經將PL/SQL整合到ORACLE 伺服器和其他工具中了,近幾年中更多的開發人員和DBA開始使用PL/SQL,本文將講述PL/SQL基礎文法,結構和組件、以及如何設計並執行一個PL/SQL程式。 PL/SQL的優點
Time of Update: 2018-12-08
正在看的ORACLE教程是:oracle快速重複資料刪除的記錄。做項目的時候,一位同事導資料的時候,不小心把一個表中的資料全都搞重了,也就是說,這個表裡所有的記錄都有一條重複的。這個表的資料是千萬級的,而且是生產系統。也就是說,不能把所有的記錄都刪除,而且必須快速的把重複記錄刪掉。 對此,總結了一下重複資料刪除記錄的方法,以及每種方法的優缺點。 為了陳訴方便,假設表名為Tbl,表中有三列col1,col2,col3,其中col1,col2是主鍵,並且,col1,col2上加了索引。
Time of Update: 2018-12-08
正在看的ORACLE教程是:Oracle復原段的概念,用法和規劃及問題的解決。復原段管理一直是ORACLE資料庫管理的一個難題,本文通過執行個體介紹ORACLE復原段的概念,用法和規劃及問題的解決。 復原段概述 復原段用於存放資料修改之前的值(包括資料修改之前的位置和值)。復原段的頭部包含正在使用的該復原段事務的資訊。一個事務只能使用一個復原段來存放它的復原資訊,而一個復原段可以存放多個事務的復原資訊。 復原段的作用 交易回復:當事務修改表中資料的時候,該資料修改前的值(
Time of Update: 2018-12-08
正在看的ORACLE教程是:Oracle