4, 手工建立資料庫(筆記)
4, 手工建立資料庫
管理例程服務
在windows/linux/unix系統中,例程是用環境變數ORACLE_SID唯一標識的.當在linux/unix平臺上管理特定例程是,可以直接使用EXPORT ORACLE_SID命令設定要管理的例程.當在windows平臺上管理特定的例程是,必須首先啟動例程服務.然後使用SET ORACLE_SID命令設定要掛零的例程如果沒有啟動例程服務,或者不存在對應的例程服務.那麼當連線到例程時會顯示如下錯誤資訊:
D:>set oracle_sid=test
D:>sqlplus sys/oracle as sysdba
ERROR:
ORA—12560:TNS:協議介面卡錯誤
管理例程是使用工具ORADIM完成的,該工具不僅可以用於建立例程服務,還可以用於編輯和刪除例程服務.
1 建立例程服務,
當在windows平臺上建立新資料庫時,應首先建立例程服務.建立例程服務是使用ORADIM命令的NEW選項來完成的.
ORADIM –NEW –SID sid | SRVC service [ - INTPWD password ]
[ -MAXUSERS number ] [ -STARTMODE a|m ] [ -PFILE file ]
其中,NEW用於指定建立新例程服務;SID用於指定例程名;SRVC用於指定例程的服務名;INTPWD用於指定特權使用者的口令;MAXUSERS用於指定特權使用者的最大個數;STARTMODE用於指定例程服務的啟動類別(a:自動啟動b:手工啟動);PFILE用於指定例程對應的文字引數檔案.
需要注意,當使用SRVC選項指定例程服務名時,必須帶有OracleService字首.
例: (例程服務名:OracleServiceTEST)
Oradim –new –sid test –intpwd oracle
(或者)Oradim –new –srvc OracleServiceTEST –intpwd oracle
執行以上命令後,不僅會建立例程服務,還會自動建立口令檔案(口令檔案的位置為%ORACLE_HOME%database,名稱為pwdtest.ora)
2 使用ORADIM命令的EDIT選項修改例程服務
ORADIM –EDIT –SID sid [ -NEWSID sid ] [ -INTPWD passwd]
[ -STARTMODE a|m ] [ -PFILE fiel ]
[ -SHUTMODE a | i | n ] [ -SHUTTYPE srvc|inst ]
EDIT用於指定編輯例程服務,SHUTMODE用於指定例程服務的關閉模式;SHUTTYPE用於指定關閉型別.
3 使用ORADIM命令的DELETE選項刪除例程服務
ORADIM –DELETE –SID sid | -SRVC service_name
刪除例程服務後,還應手工刪除該例程所對應的口令檔案.
在windows平臺上手工建立oracle資料庫的步驟如下:
建立例程服務
建立引數檔案
以NOMOUNT方式啟動例程服務
建立資料庫
執行指令碼完成後續操作
1, 建立例程服務
2, 建立引數檔案
在windows平臺上使用新例程之前,必須建立並啟動相應的例程服務在windows平臺上建立引數檔案時,應將引數檔案放在%ORACLE_HOME%database子目錄中,PFILE應命名為initORA.ora,SPFILE應命名為spfileSID.ora.
如果已存在例程使用pfile,可以直接使用作業系統的copy命令複製並生成pfile檔案initdemo.ora;如果已存在例程使用spfile,可以直接使用CREATE PFILE命令建立PFILE檔案.只有特權使用者才可以使用CREATE PFILE命令.例:
Create pfile=’%oracle_home$databaseinitdemo.ora’ from spfile;
建立spfile
因為spfile更易於管理,所有oracle建議使用spfile,如果已經存在pfile,可以使用create spfile命令建立.
Create spfile=’%oralce_home%databasespfiledemo.ora’
From pfile=’%oracle_home%databaseinitdemo.ora’;
3啟動例程
建立資料庫之前必須首先啟動例程,
Set oracle_sid=demo
Sqlplus sys/oracle as sysdba
Startup nomount
4,建立資料庫
建立資料庫是使用CREATE DATABAS命令完成的,需要注意,該命令只能由具有SYSDBA身份的使用者執行,並且要求示例必須處於NOMOUNT狀態.建立DEMO資料庫的示例如下:
CREATE DATABASE demo
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
LOGFILE GROUP 1 ‘D:demoredo01.log’ SIZE 10M,
GROUP 2 ‘D:demoredo02.log’ SIZE 10M
DATAFIEL ‘d:demosystem01.dbf’ size 100M
AUTOEXTEND ON NEXT 10M EXTENT MANAGEMENT LOCAL
SYSAUX DATAFIEL ‘D:demosysaux01.dbf’ SIZE 30M
AUTOEXTEND ON NEXT 10M
DEFAULT TEMPORARY TABLESPACE TEMP
TEMPFILE ‘D:demotemp.dbf’ size 10M AUTOEXTEND ON NEXT 10M
UNDO TABLESPACE UNDOTBS1 DATAFILE ‘D:demoundotbs1.dbf’ SIZE 20M
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
USER SYS IDENTIFIED BY demo
USER SYSTEM IDENTIFIED BY manager;
其中,MAXINSTANCES 用於指定在RAC環境中可訪問資料庫的最大例程個數;
MAXLOGFILES 用於指定資料庫的最大重做日誌組個數.
MAXLOGMEMBERS用於指定每個重做日誌組的最大日誌成員個數.
MAXDATAFILES用於指定資料庫的最大資料檔案個數.
MAXLOGHISTORY用於指定最大日誌歷史個數.
LOGFILE用於指定重做日誌的名稱的尺寸.其中GROUP1,GROUP2分別表示日誌組一,日誌組二;
第一個DATAFILE用於指定SYSTEM表空間所對應的資料檔名稱和尺寸,AUTOEXTEND ON 表示該資料檔案可以自動擴充套件,NEXT指定了資料檔案每次擴充套件的尺寸,EXTENT MANAGEMENT LOCAL 用於指定SYSTEM表空間採用區域性管理方式;
SYSAUX DATAFILE(ORACLE DATABASE 10G新特性)用於指定SYSAUX表空間所對應的資料檔名稱和尺寸;
DEFAULT TEMPORARY TABLESPACE 用於指定資料庫的預設臨時表空間及其臨時檔案的名稱和尺寸.
UNDO TABLERSPACE 用於指定UNDO表空間及其資料檔案的名稱和尺寸;
CHARACTER SET 用於指定資料庫字符集;
NATIONAL CHARACTER SET 用於指定民族字符集;
USER選項用於改變特權使用者SYS和DBA使用者SYSTEM的口令.
執行CREATE DATABASE 命令建立資料庫時,需要主要以下事項.
CREATE DATABASE 後的資料庫名必須和初始化引數DB_NAME一致.
當指定LOGFILE選項時,至少要包含兩個日誌組.
當指定資料檔案,重做日誌和臨時檔案時,必須要確保OS目錄已經存在.
當指定UNDO表空間時,該表空間名稱必須與初始化引數UNDO_TABLESPACE一致.
因為建立了資料庫之後資料庫字符集不能被修改為其他民族所使用的字符集,所以必須規劃好字符集.
5,完成建立資料庫的後續任務.
執行CREATE DATABASE命令建立資料庫後,還必須以SYS使用者身份安裝資料字典檢視和PL/SQL包;另外,為了加強應用產品的安全性,還應以SYSTEM使用者身份安裝PRODUCT_USER_PROFILE表.
1,安裝資料字典檢視
當執行CREATE DATABASE命令建立資料庫時,oracle會自動執行sql.bsp檔案建立資料字典基表.資料字典基表存放著oracle資料庫的基本資訊,他們時oracle資料庫中最早建立的資料庫物件,只有oracle server可以修改其內容.因為資料字典基表的資料以加密格式存放,所以資料庫使用者幾乎不能直接訪問這些物件.為了獲得oracle資料庫的系統資訊.資料庫使用者可以查詢資料字典檢視,但因為建立資料庫時,oracle並沒有建立資料字典檢視,所有在建立資料庫完成之後必須安裝資料字典檢視.執行%ORACLE_HOME%rdbmsadmincatalog.sql指令碼可以安裝資料字典檢視,但必須以SYS使用者登陸執行該指令碼.
2,安裝oracle系統包
為了擴充套件oracle資料庫的功能,oracle提供了大量的PL/SQL系統包,編寫應用程式時,開發人員可以直接引用ORACLE系統提供的各種過程和函式.執行%ORACLE_HOME%rdbmsadmincatproc.sql指令碼可以安裝資料字典檢視,但必須以SYS使用者登陸執行該指令碼.
3,安裝PRODUCT_USER_PROFILE表
控制資料庫使用者的安全性補充,特權使用者和DBA使用者可以使用SQL命令GRANT和REVOKE.作為使用者級安全的補充,特權使用者和DBA使用者還可以控制應用產品的安全性.為了控制應用產品的安全性,必須建立PRODUCT_USER_PROFILE表及其相關檢視. 執行%ORACLE_HOME%sqlplusadminpupbld.sql 指令碼可以完成這項任務.必須以SYSTEM使用者執行.
如果沒有安裝PRODUCT_USER_PROFILE表,執行SQL*PLUS時如果以普通使用者身份登陸,則會顯示如下警告資訊:
Error accessiong PRODUCT_USER_PROFILE
Warning:product user profile information not loaded!
You may need to run PUPBLD.SQL as system
配置網路
建立oracle資料庫後,為了使客戶應用可以訪問該oracle資料庫,首先需要在服務端配置監聽程式,然後在客戶端配置網路服務名.
配置網路可以使用oracle網路管理工具Net Manager完成.
Net Manager包括一下檔案
“概要檔案”用於配置網路首選項,日誌和跟蹤資訊.對應於網路檔案sqlnet.ora
“服務命名”用於配置本地的網路服務名,對應於網路檔案tnsnames.ora;
“監聽程式”用於配置服務端的監聽程式,對應於網路檔案listener.ora
安裝了Oracle Database 10g後,網路配置檔案的預設位置為%ORACLE_HOME%networkadmin.透過設定環境變數TNS_ADMIN可以改變這些網路配置的位置.
配置監聽程式
監聽程式用於接受客戶端的連線請求.當安裝oracle資料庫產品時,會自動建立預設的監聽程式LISTENER.透過該監聽程式可以同時監聽多個資料庫.在同一個伺服器上可以包含多個監聽程式,並且不同的監聽程式可以監聽同一個資料庫.
為了使監聽程式配置生效,必須使用監聽程式控制工具lsnrctl重新啟動監聽程式
Lsnrctl stop / lsnrctl start
配置客戶端
為了使客戶端應用可以訪問oracle資料庫,不僅需要在服務端配置並啟動監聽程式,還必須在客戶端配置網路服務名.
網路服務名的配置資訊儲存在tnsnames.ora 檔案中.
刪除資料庫
在oracle database 10g之前,如果要刪除資料庫,必須首先使用ORADIM工具刪除例程服務,然後使用OS命令刪除資料庫所有物理檔案.
從oracle database 10g開始.特權使用者可以使用DROP DATABASE 命令刪除該資料庫,使用drop database命令刪除資料庫時,要求資料庫必須處於MOUNT狀態.並且必須使用RESTRICT 方式裝載資料庫.
C:sqlplus sys/oracle as sysdba
SQL>SHUTDOWN
SQL>STARTUP RESTRICT MOUNT
SQL>DROP DATABASE;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245219/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 2.4.10 Step 9:手工建立資料庫資料庫
- 資料庫學習筆記資料庫筆記
- laravel筆記+資料庫操作Laravel筆記資料庫
- 《資料庫系統概論》 (第4版) 個人筆記資料庫筆記
- 4、MySQL建立資料庫(CREATE DATABASE語句)MySql資料庫Database
- MySQL資料庫基礎筆記MySql資料庫筆記
- 1029學習筆記 資料庫筆記資料庫
- python學習筆記:資料庫Python筆記資料庫
- MySQL資料庫學習筆記MySql資料庫筆記
- 資料庫mysql學習筆記記錄資料庫MySql筆記
- 建立資料庫資料庫
- EntityFramework Core筆記:儲存資料(4)Framework筆記
- MySQL學習筆記之SQL語句建立、修改和刪除資料庫MySql筆記資料庫
- MySql資料庫筆記(功能齊全)MySql資料庫筆記
- Redis學習筆記(七) 資料庫Redis筆記資料庫
- 資料庫課程作業筆記資料庫筆記
- 達夢資料庫學習筆記資料庫筆記
- 1.2.4. 任務4:建立和開啟資料庫資料庫
- 達夢資料庫手工恢復相關命令資料庫
- 主備資料庫狀態手工比對(一)資料庫
- 主備資料庫狀態手工比對(二)資料庫
- osgEarth使用筆記4——載入向量資料筆記
- 建立資料庫表資料庫
- Mysql建立資料庫MySql資料庫
- 資料庫學習筆記1(資料管理歷史)資料庫筆記
- 使用 seed 命令建立模擬資料(學習筆記)筆記
- 資料庫4資料庫
- 資料庫日常遇到的需求筆記(自用)資料庫筆記
- swoft 學習筆記之資料庫操作筆記資料庫
- 《資料庫系統原理》課程筆記資料庫筆記
- mac下常用資料庫及nginx筆記Mac資料庫Nginx筆記
- 資料庫課程作業筆記 - 編寫資料填充資料庫筆記
- 資料庫學習與複習筆記--資料庫概念和不同類資料庫CRUD操作(1)資料庫筆記
- XamarinSQLite教程建立資料庫aSQLite資料庫
- 建立資料mysql庫流程MySql
- 小黑框建立資料庫資料庫
- 資料庫 建立 3表資料庫
- mongodb 如何建立資料庫MongoDB資料庫
- 資料庫之建立索引資料庫索引