第一部分 手工建庫、空間管理

murkey發表於2014-01-13

一、手工建庫

(Instance+database,Instance:程式+記憶體,database:檔案,資料檔案+控制檔案+redo檔案+其他檔案)

 

(1)、啟動例項(spfile)

(2)、建庫

(3)、跑指令碼

 

1、引數設定

COMPATIBLE

control_files=‘/u01/disk1/controlfile01.ctl’;

db_block_size=8192

db_name=PROD(注意大小寫)

job_queue_processes=15

log_archive_dest_1=’location=/u01/disk1/arch’;

PGA_aggregate_target

process

remote_login_passwordfile=shared

sga_target

undo_management=auto

undo_tablespace=undotbs1

 

2、快速建庫指令碼

CREATE DATABASE mynewdb----------修改為PROD
   USER SYS IDENTIFIED BY pz6r58---修改oracle
   USER SYSTEM IDENTIFIED BY 修改oracle
   LOGFILE GROUP 1 ('/u01/oracle/oradata/mynewdb/redo01.log') SIZE 100M,---按實際需求
           GROUP 2 ('/u01/oracle/oradata/mynewdb/redo02.log') SIZE 100M,
           GROUP 3 ('/u01/oracle/oradata/mynewdb/redo03.log') SIZE 100M
   MAXLOGFILES 5
   MAXLOGMEMBERS 5
   MAXLOGHISTORY 1
   MAXDATAFILES 100
   MAXINSTANCES 1
   CHARACTER SET US7ASCII
   NATIONAL CHARACTER SET AL16UTF16
   DATAFILE '/u01/oracle/oradata/mynewdb/system01.dbf' SIZE 325M REUSE
   EXTENT MANAGEMENT LOCAL
   SYSAUX DATAFILE '/u01/oracle/oradata/mynewdb/sysaux01.dbf' SIZE 325M REUSE
   DEFAULT TABLESPACE tbs_1------------------------------------------------------(在考試的時候去掉)
   DEFAULT TEMPORARY TABLESPACE tempts1
      TEMPFILE '/u01/oracle/oradata/mynewdb/temp01.dbf'
      SIZE 20M REUSE
   UNDO TABLESPACE undotbs
      DATAFILE '/u01/oracle/oradata/mynewdb/undotbs01.dbf'
      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

 

3、執行相關指令碼

Step 9: Run Scripts to Build Data Dictionary Views
Run the scripts necessary to build views, synonyms, and PL/SQL packages:

CONNECT SYS/password AS SYSDBA
@/u01/oracle/rdbms/admin/catalog.sql
@/u01/oracle/rdbms/admin/catproc.sql
EXITThe following table contains descriptions of the scripts:

Script
Description

CATALOG.SQL
Creates the views of the data dictionary tables, the dynamic performance views, and public synonyms for many of the views. Grants PUBLIC access to the synonyms.

CATPROC.SQL
Runs all scripts required for or used with PL/SQL.

 

 

 

 

參考文件:

Reference ==> Basic Initialization Parameters

Administrator's Guide ==> Step 7: Issue the CREATE DATABASE Statement

reference------

Part I Initialization Parameters----
Initialization Parameters-----Basic Initialization Parameters

 

 

 

 

 

 

 

 

 

 


----------------------------------------------------

1. 設定環境變數ORACLE_SID
參照考題中需要建立的資料庫SID,設定作業系統環境變數,假設要求建立的資料庫的SID是TEST。
2. 建立最簡單的initTEST.ora檔案
在$ORALCE_HOME/dbs下可以找到一份已經存在的init.ora檔案,這是一份樣本(在正式考試的機器上你也可以找到)。開啟這份檔案可以看到很多被註釋的行,讓人煩躁,一行一行地修改這個檔案比較耗時,使用下面的命令,把所有以#開頭和所有的空行全部過濾掉,同時生成最簡單的initTEST.ora初始化引數檔案。
$> cat init.ora | grep -v ^# | grep -v ^$ > initSID.ora

然後修改該檔案的db_name引數和control_files引數(控制檔案放在哪裡,需要多少份控制檔案,在考題中會清楚地提出要求),其它的引數保持原狀不需要修改。
3. 啟動資料庫到nomount狀態
此時已經有可供啟動的初始化引數檔案了,將資料庫啟動到nomount狀態。
SQL> startup nomount;
4. 建立spfile
例項啟動以後立刻建立spfile,然後重啟一次資料庫,讓資料庫能夠使用到spfile。
5. 修改其它必須的初始化引數
為什麼需要先快速地將例項啟動到nomount狀態?因為我們需要使用show parameter命令,在記不清楚那些初始化引數具體怎麼敲的時候,show parameter命令能夠來幫助我們快速定位其它必須要修改的初始化引數名字的寫法。
因為用到了spfile,所以此處我們已經可以使用alter system命令來修改初始化引數了。
db_create_file_dest = 考題中要求你建立資料檔案時存放的目錄
db_create_online_log_dest_1 = 考題中要求你建立聯機重做日誌檔案時存放的目錄
audit_file_dest = ...
background_dump_dest = ...
core_dump_dest = ...
user_dump_dest = ...
db_block_size = 考題中可能會要求建立特定block大小的資料庫
不要一條命令一條命令在SQL*Plus裡面敲,用vi或者Text Editor將所有的alter system命令都編輯好,然後一次執行。
執行完畢以後,關閉例項,再重新啟動到nomount狀態,讓剛才修改的初始化引數生效。
6. 建立密碼檔案
用orapwd程式建立orapwTEST密碼檔案,如果記不清楚orapwd程式怎麼用,直接敲orapwd然後回車,會告訴你語法是怎樣的。
7. 建立資料庫
在這裡有兩種方法可以選擇,依靠個人喜好了。
一種就是直接編輯create database命令,將考試的各項要求在這個命令中事先編輯好。
一種是建立完預設的資料庫以後再用alter database命令去逐條修改以符合考試中對於資料庫的各項要求。
第一種方法的技巧在於,要快速找到例句,如果你去查SQL Reference文件中的create database的語法,時間肯定是比較緊張的,我們要查的是Administrator's Guide這本文件中第二章 Creating an Oracle Database -> Creating the database -> Step 7: Issue the CREATE DATABASE Statement,這裡有完整的一條SQL語句,copy出來,然後按照考試要求去編輯相應的地方,然後執行,這樣出來的命令基本上不會出現問題。
第二種方法的技巧在於,因為是10g資料庫,因為我們在前面設定了db_create_file_dest和db_create_online_log_dest_1引數,所以,只需要輸入最簡單的“create database;”命令,回車,就會有一個可以使用的資料庫建立出來,當然比如redolog的組數和member個數,比如temp表空間的名字,比如undo表空間的名字都可能會跟考試的要求不太一樣,然後用alter database以及一些其它的命令逐條修改就行。要知道資料庫起來了,其中的某些檢查項跟考試要求不符,不會得0分。
8. 執行catalog.sql 和 catproc.sql
只需要執行這兩個SQL,都在$ORACLE_HOME/rdbms/admin中,建立必須的資料字典和內建的package等,千萬不要忘了執行這一步。
9. 建立監聽
考試可能會要求你建立非預設埠(1521)的監聽,並且要求例項自動註冊到這個監聽上,那麼這時候需要配置listener.ora和tnsnames.ora檔案,去$ORACLE_HOME/network/admin/sample目錄下把示例檔案copy出來,然後按照要求修改。如果考試沒有要求,那麼無需修改任何配置檔案,直接lsnrctl start把監聽啟動即可。
10. 其它的一些要求
比如建立額外的表空間,比如建立臨時表空間組。
此處需要注意的是,對於資料檔案,考試可能都會有詳細的要求,比如第一個extent應該多大,每次擴充套件多少,初始化時資料檔案多大,最終能夠擴充套件到多大。

-------------------------------------------------------------------------------------------------

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/500314/viewspace-1070136/,如需轉載,請註明出處,否則將追究法律責任。

相關文章