讓我們先回想一下:當提及Oracle Server的時候,它同時包含了Oracle Instance和Oracle database files,本篇將探討Oracle database files,如果忘了Oracle Instance可以利用下面連結閱讀^_^
Oracle database files就是存放資料的地方,可以分為實體(Physical)結構和邏輯(Logical)結構,實體結構就是實際儲存在OS上的datafiles或是OS Block;而一般我們透過軟體工具看到的都是邏輯結構,包括Tablespaces、Segments、Extents、Block。
2013年11月24日 星期日
2013年11月23日 星期六
[Tips]Oracle 11g Architecture 資料庫架構(上) - Oracle Instance
從下圖我們可以發現,其資料庫架構看起來相當複雜呢!
大致可以先簡單分為Oracle Instance和Oracle database files,當我們提及Oracle Server的時候,它同時包含了上述兩個東西。以下將分為兩篇針對其進行個別探討:
Oracle的架構裡包含了許多複雜的元件,也是Oracle對於初學者相當不好學習的地方,而理解這些對於了解Oracle運作有相當大的幫助,讓我們一起來看看吧^_^
Oracle的架構裡包含了許多複雜的元件,也是Oracle對於初學者相當不好學習的地方,而理解這些對於了解Oracle運作有相當大的幫助,讓我們一起來看看吧^_^
2013年11月21日 星期四
[Tips]運用PL/SQL撰寫procedure/function/package
運用PL/SQL,我們可以撰寫成procedure/function/package,便可以重複呼叫利用,或是放到DBMS_JOB中去例行執行。
- procedure:沒有回傳值
- function:要有回傳值
- package:類似Java的com package概念,利用來打包一至多個procedure/function,更方便管理。
2013年11月13日 星期三
[Tips]如何建立Tablespaces
在Oracle Database中,Tablespaces包含一至多個Datafiles。而Datafiles用來儲存資料,一個Datafile只能存在一個Tablespace中。
CREATE TABLESPACE Tablespace_Name
DATAFILE 'file_specification' SIZE volume
AUTOEXTEND [ON/OFF] NEXT volume MAXSIZE volume;
CREATE TABLESPACE Tablespace_Name
DATAFILE 'file_specification' SIZE volume
AUTOEXTEND [ON/OFF] NEXT volume MAXSIZE volume;
2013年11月12日 星期二
[Tips]基本介紹Oracle PL/SQL
PL/SQL(Procedural Language/Structured Query Language)是Oracle推出的程序語言(Procedural Language),用來擴充SQL的的功能。PL/SQL中會運用到一些程式裡面變數設定、條件判斷(if..then)、迴圈(for)等概念。
首先我們先來看一個簡單的PL/SQL,主要分為兩個部分,Declare為定義變數的地方,Begin...End為程式邏輯的地方,也是主要撰寫著墨的部分。
DECLARE
v1 number(5);
v2 varchar2(10);
v3 date;
BEGIN
--to do
END;
首先我們先來看一個簡單的PL/SQL,主要分為兩個部分,Declare為定義變數的地方,Begin...End為程式邏輯的地方,也是主要撰寫著墨的部分。
DECLARE
v1 number(5);
v2 varchar2(10);
v3 date;
BEGIN
--to do
END;
2013年11月10日 星期日
[Tips]常用的DBA/USER_、V$的表格和視圖
在Oracle Database中,我們可以用DBA_、USER_和V$的表格和視圖來獲取一些資訊,幫助我們進行資料庫的管理,現在就讓我們來看看吧。
- DBA_:代表能夠看到所有的資訊。
- USER_:代表只能看到當前USER的資訊。
- V$:Dynamic Performance View,又稱為動態視圖,它是儲存在SGA之中。可以透過SELECT * FROM dba_objects WHERE object_name like 'V_$%'來查詢。
2013年11月9日 星期六
[Tips]關於DBA_JOBS及DBMS_JOBS.
在Oracle Database中,我們可以利用DBA/ALL/USER_JOBS來觀看我們排定的工作行程,然後利用DBMS_JOBS.來進行工作的安排和管理。
SELECT * FROM [dba_jobs/all_jobs/user_jobs];
SELECT * FROM [dba_jobs/all_jobs/user_jobs];
- DBA_JOBS:代表可以看到所有的Jobs,包含一些只有DBA才能看。
- ALL_JOBS:代表可以看到所有的連線到資料庫的USER的Jobs。
- USER_JOBS:代表只能看到當前USER的Jobs。
- DBA_JOBS_RUNNING:代表目前正在運作的Jobs。
2013年11月8日 星期五
[Tips]如何建立Database Link
在Oracle
Database中,當我們想要查詢其它資料庫的時候,可以利用Database Link來達成目的。
CREATE DATABASE LINK DBlink_Name
CONNECT TO user IDENTIFIED BY "password"
using 'Service_Name';2013年11月7日 星期四
[Tips]如何建立Oracle Materialized View (snapshot)
Materialized
View中文翻譯成「實體化視圖」或「物化視圖」。其實就是以前比較熟悉的snapshot,將本機/遠端的資料庫上面一個/多個表格的查詢結果,快照儲存在本機/遠端的表格中。
如果要備份的表格是在遠端資料庫的時候,則必須先建立Database Link,可以參考我寫的另外一篇文章,以下只針對Materialized View的部分進行著墨。
CREATE MATERIALIZED VIEW/SNAPSHOT Material_View_Name
[TABLESPACE Tablespaces_Name]
REFRESH [complete/fast/force(default)] [WITH primary key(default)/rowid/object id]
[TABLESPACE Tablespaces_Name]
REFRESH [complete/fast/force(default)] [WITH primary key(default)/rowid/object id]
[START
WITH sysdate NEXT
(sysdate+1/24)]
AS Sql_Query;
AS Sql_Query;
訂閱:
文章 (Atom)