ORACLE學習筆記

 1. 準備工作:

(1)瞭解ORACLE數據庫的體系結構。

 先討論兩個基本但重要的與磁盤和內存相關的概念:數據庫實例

數據庫:在ORACLE中數據庫指的是用來存儲信息的物理文件。有三種類型的物理文件:

  • 數據文件:促使我們讓數據庫引擎開始工作的所有數據。
  • 控制文件:數據庫引擎所使用的關於其它數據的元數據。
  • 重做日誌文件:用來記錄所有對數據的更改,用於備份和恢復。

實例:如果不存在與數據庫進行交互的內存結構和進程,數據庫文件本身是無用。ORACLE將實例定義爲內存結構和一些後臺進程,用於從數據庫中獲取數據。一個實例有兩個主要內存結構:

  • 系統全局區(SGA),也叫共享全局區,將各種進程共享的信息存儲在內存中。
  • 程序全局區(PGA),也叫私有全局區,包含某個特殊進程的信息。

SGA還包括:

  • 數據庫緩衝區高速緩存:緩存從數據文件中讀取的信息。
  • 數據字典高速緩存:緩存元數據信息。
  • 庫高速緩存:緩存最近使用的SQL和PL/SQL語句

PGA用來給排序空間,變量,數組和遊標信息分配內存。實例也包含了協作完成各種所需功能的多個後臺進程。這些進程包括數據庫寫進程,負責將更改寫入數據庫的進程,對各個進程進行監督的進程,用戶進程失敗後負責進行清除的進程等等。

 

(2)瞭解ORACLE數據庫的邏輯結構。

(3)安裝ORACLE數據庫,數據庫名稱爲ORCL。

(4)打開命令窗口,設置窗口的寬度和高度,以及緩衝區的寬度和高度,保存。

(5)爲了節省資源,開始 -> 運行 - services.msc,將所有與ORACLE相關的服務設置爲手動啓動方式。

 

2. 登錄:

(1)啓動計算機,採用批處理方式啓動ORACLE服務。批處理文件爲start.bat。start後爲服務名稱。停止服務爲stop.bat。

@echo off
rem - @echo off disable the display of the following commands
net start "OracleOraHome90TNSListener"
net start "OracleServiceORCL" 
exit

 

@echo off 
net stop "OracleOraHome90TNSListener"
pause
net stop "OracleServiceORCL" 
exit

 

(2)以非登錄方式打開SQL*PLUSsqlplus /nolog

(3)登錄到數據庫:conn system/manger as sysdba  connect / as sysdba

 

3. 設置:

(1)爲了使輸出漂亮一點,設置行寬:set linesize 300;

 

4. 參數學習:

(1)查看SGA:show sga;

(2)參數查看:show parameter;

瞭解shared_pool_size, java_pool_size, large_pool_size。改變共享池大小:alter system set shared_pool_size = 40M;但Java池和大池的大小不能修改。

瞭解db_cache_size, db_block_size, log_buffer。改變數據緩衝區大小:alter system set db_cache_size = 30M;

 

5. 創建表空間和查看錶空間和數據文件:

方法一:

(1)創建永久表空間和臨時表空間:

複製代碼
 create tablespace MIS
 datafile 
'D:\oracle\oradata\mis.dbf'
 size 32M;

 
create temporary tablespace MIS_TMP
 tempfile 
'D:\oracle\oradata\mis_tmp.dbf'
 size 32M;
複製代碼

 

(2)查看數據庫中的所有表空間:select tablespace_name from dba_tablespaces; 調整表dba_tablespaces中的列tablespace_name的寬度:col tablespace_name format a20; 再次select * from dba_tablespaces; 查看所有表空間。

(3)查看數據文件:select file_name from dba_data_files;

(4)刪除表空間及對應的數據文件:drop tablespace mis including contents and datafiles; 使用此命令,mis空間的內容及相關的操作系統文件mis.dbf都將被刪除。命令drop tablespace mis including contents不會刪除操作系統文件mis.dbf。

方法二:利用OMF(Oracle-Managed File)

目的:能利用以下語句成功創建表空間

create tablespace omf
datafile
size 10m;

 

(1)用show parameter db_create_file_dest;查看該參數的value是否爲空,如果爲空進行設置。

(2)設置參數db_create_file_dest中的value: alter session set db_create_file_dest = 'D:\oracle\';

(3)執行上述語句,成功創建表空間omf,對應的數據文件位於D:\oracle\目錄下,名稱爲ORA_OMF_4FJJ5F00.DBF

(4)改變db_create_file_dest的值:alter session set db_create_file_dest = 'D:\';再刪除表空間omf。

(5)使用命令:drop tablespace omf; 刪除表空間內容和相關的操作系統文件。其效果與方法一中的drop tablespace mis including contents and datafiles是一樣的。儘管db_create_file_dest的值改變了,但不影響對先前創建的表空間進行刪除。

(6)恢復空值:alter session set db_create_file_dest = ' ';

 

6. 如何給數據庫分配更多的空間:

方法一:給某個表空間增加數據文件

在ORACLE 10g中可以用以下命令刪除一個表空間中的某個數據文件,若要刪除System表空間中的DATA3.ORA,可用:

alter tablespace system drop datafile ‘DATA3.ORA’;

 

方法二:增加新的表空間 

 

方法三:增加某個數據文件的大小

 

7. 對數據文件的操作:

1、重新設置數據文件的大小:alter database datafile 'D:\oracle\oradata\mis01.dbf' resize 10m;

2、將數據文件移到磁盤的其它位置:

(1) shutdown immediate;

(2) startup mount;

(3) 將原文件拷貝到新文件:copy 'd:\oracle\oradata\mis01.dbf'  'd:\oracle\mis01.dbf'

(4) alter database rename file 'd:\oracle\oradata\mis01.dbf' to 'd:\oracle\mis01.dbf';

(5) alter database open;

(6) 刪除磁盤上的舊文件d:\oracle\oradata\mis01.dbf

(6) 用select * from dba_dataK_files;查看。

3、設置數據文件的大小是否可擴展:

關閉可擴展性:alter database datafile 'D:\oracle\oradata\mis01.dbf' autoextend off;
打開可擴展性:alter database datafile 'D:\oracle\oradata\mis01.dbf' autoextend on maxsize unlimited;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章