Oracle基礎結構之手工建庫相關
文章版權所有Jusin Hao(luckyfriends),支援原創,轉載請註明。
手工建庫可以理解oracle的啟動關閉、例項、資料檔案等概念,本文略去了dbca圖形建庫部分,重點演示了Windows和Linux下手工建庫的主要步驟和命令
二、Oracle建庫相關:
1、 DBCA建庫略
2、 手工建庫手工建庫的步驟:
1. 備份機器上現有的資料庫;
2. 產生並編輯initSID.ora引數檔案;
3. 驗證所有的可能用到SQL檔案,確認例項名是正確的;
4. 建立新資料庫對應的例項(如果是windows作業系統要使用oradim);
5. 利用sqlplus工具以nomount方式啟動例項;
6. 利用create database建立資料庫;
7. 關閉資料庫;
8. 備份資料庫;
2.1 產生並編輯initSID.ora引數檔案例:建立例項名為test的引數檔案inittest.ora
windows下引數檔案放置在$ORACLE_HOME/database/inittest.ora
*NIX下引數檔案放置在$ORACLE_HOME/dbs/inittest.ora
*.sga_target=612368384
*.instance_name=test
*.db_name='test'
*.control_files='f:\oracle\product\10.2.0\oradata\test\control01.ctl','f:\oracle\product\10.2.0\oradata\test\control02.ctl','f:\oracle\product\10.2.0\oradata\test\control03.ctl'
*.db_recovery_file_dest='f:\oracle\product\10.2.0/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.background_dump_dest='f:\oracle\product\10.2.0/admin/test/bdump'
*.user_dump_dest='f:\oracle\product\10.2.0/admin/test/udump'
windows下建立例項:
oradim -new ------建立新例項選項
-sid test ------新例項的名稱
-syspwd oracle -------指定超級使用者的口令(sys)
startmode auto --------指定例項的啟動模式
在windows下建立完例項後:1)在系統的服務將自動新增一個服務:OracleServicetest;2)並建立一個口令檔案;3)在登錄檔中:Hkey_local_machine\software\ORACLE\key_OraDblog_home1
Hkey_local_machine\system\ControlSet001\Services
oradim –h 檢視命令幫助及格式
例:C:\>oradim -new -sid test -syspwd oracle -startmode auto
例項已建立。
UNIX/Linux下建立例項:
建立初始化引數檔案、口令檔案後,即可export ORACLE_SID=test,然後startup nomount即可啟動例項;
(注意,在oradim之前要設定好ORACLE_HOME否則建立服務的時候可能無法正確建立口令檔案,然後導致sys連線的時候報ORA-12560: TNS: 協議介面卡錯誤)
2.2 手動建立資料庫
以nomount方式啟動Oracle例項 |
建立資料庫 |
安裝資料字典 |
安裝PL/SQL包以及過程 |
安裝使用者資源集 |
配置監聽檔案LISTENER.ORA |
配置OEM |
啟動例項
c:\> set ORACLE_SID=test
c:\>sqlplus /nolog
SQL> conn / as sysdba
SQL> startup nomount
(注意引數檔案中指定的bdump、udump檔案要建立好對應的目錄,否則就會報ORA-02778: Name given for the log directory is invalid)
建立資料庫
create database test
logfile group 1 'F:\oracle\product\10.2.0\oradata\test\redo01.log' size 4M,
group 2 'F:\oracle\product\10.2.0\oradata\test\redo02.log' size 4M,
group 3 'F:\oracle\product\10.2.0\oradata\test\redo03.log' size 4M
datafile 'F:\oracle\product\10.2.0\oradata\test\system01.dbf' size 300m autoextend on next 10m maxsize unlimited
sysaux datafile 'F:\oracle\product\10.2.0\oradata\test\sysaux01.dbf' size 200m
undo tablespace undotbs1 datafile 'F:\oracle\product\10.2.0\oradata\test\undo01.dbf' size 50m
character set zhs16gbk;
SYS@test> select name,open_mode from v$database;
NAME OPEN_MODE
--------- ----------
TEST READ WRITE
注意:system表空間至少240M、sysaux至少200M;
在建立資料庫的過程中,建立了控制檔案、資料檔案、日誌檔案,自動建立了system/manager;
如果建立失敗,需要重新建立的話,可能需要刪除先前建立失敗時已經生成的一些檔案(如果有),無法刪除的話可以關閉資料庫及例項,刪除後重新啟動例項,然後建立資料庫;
2.3 安裝資料庫字典、系統包及過程SYS@test> @F:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catalog.sql ---建立資料字典檢視、同義詞
SYS@test> @F:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql ---建立系統包、過程
2.4安裝客戶資源集SYS@test> conn system/manager
SYSTEM@test> @F:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql
這個指令碼只能由system使用者執行,與後面使用者的授權有一定關係,使用者資源集中包括dbsmp、sysman等其他使用者的資訊,包括這些使用者登入資訊、密碼等以及使用資源 的限制等,如果不執行這個指令碼,則後面配置dbconsole也無法進行;
2.5 配置監聽c:\> lsnrctl stop
c:\>lsnrctl start
客戶端連線資料庫以驗證監聽服務
修改tnsname.ora檔案
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =HAOHAO)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)
2.6建立臨時表空間SYSTEM@test> create temporary tablespace temp tempfile 'F:\oracle\product\10.2.0\oradata\test\temp01.dbf' size 20M;
SYSTEM@test> alter database default temporary tablespace temp;
2.7 配置dbconsole配置dbconsole過程中會建立資料庫,這期間會需要臨時表空間(如用來排序)
C:\>emca -config dbcontrol db -repos create
EMCA 開始於 2013-1-24 20:59:23
EM Configuration Assistant 10.2.0.1.0 正式版
版權所有 (c) 2003, 2005, Oracle。保留所有權利。
輸入以下資訊:
資料庫 SID: test
監聽程式埠號: 1521
SYS 使用者的口令:
DBSNMP 使用者的口令:
SYSMAN 使用者的口令:
通知的電子郵件地址 (可選):
通知的發件 (SMTP) 伺服器 (可選):
-----------------------------------------------------------------
已指定以下設定
資料庫 ORACLE_HOME ................ f:\oracle\product\10.2.0\db_1
資料庫主機名 ................ haohao.ufsoft.com.cn
監聽程式埠號 ................ 1521
資料庫 SID ................ test
通知的電子郵件地址 ...............
通知的發件 (SMTP) 伺服器 ...............
-----------------------------------------------------------------
是否繼續? [yes(Y)/no(N)]: yes
2013-1-24 21:02:34 oracle.sysman.emcp.EMConfig perform
資訊: 正在將此操作記錄到 f:\oracle\product\10.2.0\db_1\cfgtoollogs\emca\test\emca_2013-01-24_08-59-22-下午.log。
2013-1-24 21:02:41 oracle.sysman.emcp.EMReposConfig createRepository
資訊: 正在建立 EM 資料檔案庫 (此操作可能需要一段時間)...
2013-1-24 21:07:01 oracle.sysman.emcp.EMReposConfig invoke
資訊: 已成功建立資料檔案庫
2013-1-24 21:07:22 oracle.sysman.emcp.util.DBControlUtil startOMS
資訊: 正在啟動 Database Control (此操作可能需要一段時間)...
2013-1-24 21:08:32 oracle.sysman.emcp.EMDBPostConfig performConfiguration
資訊: 已成功啟動 Database Control
2013-1-24 21:08:33 oracle.sysman.emcp.EMDBPostConfig performConfiguration
警告: 無法建立 Database Control 快捷方式
2013-1-24 21:08:34 oracle.sysman.emcp.EMDBPostConfig performConfiguration
資訊: >>>>>>>>>>> Database Control URL 為 <<<<<<<<<<<
已成功完成 Enterprise Manager 的配置
EMCA 結束於 2013-1-24 21:08:34
注意:當機器名改了以後可能需要重新配置db control(刪除了原來的重建)
注意:
修改埠:c:\>emca –reconfig ports –dbcontrol_http_port 5501
F:\oracle\product\10.2.0\db_1\install\ portlist.ini埠資訊
C:\>emca -config dbcontrol db -repos recreate
附其他解決方式.1,修改DBSNMP密碼:
重新配置DBCONSOLE,需要輸入DBSNMP密碼,但任何密碼都會顯示錯誤,需要預先修改。
sql>alter user dbsnmp identified by xxx;
2,刪除早期DBCONSOLE建立的使用者:
sql>drop role MGMT_USER;
sql>drop user MGMT_VIEW cascade;
sql>drop user sysman cascade;
3,刪除早期DBCONSOLE建立的物件:
sql>drop PUBLIC SYNONYM MGMT_TARGET_BLACKOUTS;
sql>drop public synonym SETEMVIEWUSERCONTEXT;
4,重新建立DBCONSOLE:(如果是在windows下,要先到登錄檔刪除DBCONSOLE的服務,重啟電腦)
$emca -config dbcontrol db -repos create
根據提示,先輸入SID,再輸入Y繼續;
輸入埠1521,輸入SYS密碼,輸入DBSNMP密碼,輸入SYSMAN 密碼,輸入Y繼續
完成。
5,檢查狀態 emctl status dbconsole。
附emca常用命令:
建立一個EM資料庫
emca -repos create
重建一個EM資料庫
emca -repos recreate
刪除一個EM資料庫
emca -repos drop
配置資料庫的 Database Control
emca -config dbcontrol db
刪除資料庫的 Database Control配置
emca -deconfig dbcontrol db
重新配置db control的埠,預設埠在1158
emca -reconfig ports
emca -reconfig ports -dbcontrol_http_port 1160
emca -reconfig ports -agent_port 3940
先設定ORACLE_SID環境變數後,啟動EM console服務
emctl start dbconsole
先設定ORACLE_SID環境變數後,停止EM console服務
emctl stop dbconsole
先設定ORACLE_SID環境變數後,檢視EM console服務的狀態
emctl status dbconsole
配置dbconsole的步驟
emca -repos create
emca -config dbcontrol db
emctl start dbconsole
重新配置dbconsole的步驟
emca -repos drop
emca -repos create
emca -config dbcontrol db
emctl start dbconsole
2.8開始和停止isql*plusC:\>isqlplusctl start
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Starting iSQL*Plus ...
iSQL*Plus started.
C:\>isqlplusctl stop
iSQL*Plus 10.2.0.1.0
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Stopping iSQL*Plus ...
iSQL*Plus stopped.
F:\oracle\product\10.2.0\db_1\oc4j\j2ee\isqlplus\application-deployments\isqlplus\ application.log日誌
F:\oracle\product\10.2.0\db_1\oc4j\j2ee\isqlplus\config\ http-web-site.xml 配置檔案修改埠
F:\oracle\product\10.2.0\db_1\install\ portlist.ini埠資訊
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14710393/viewspace-1085517/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端資料結構---相關基礎概念前端資料結構
- 構建相關
- oracle11grac基礎結構Oracle
- Oracle DB 相關常用sql彙總7【手工繫結sql執行計劃】OracleSQL
- 達夢資料庫手工恢復相關命令資料庫
- golang學習筆記(一)——golang基礎和相關資料結構Golang筆記資料結構
- Gradle系列之構建指令碼基礎Gradle指令碼
- oracle手工建庫後rman無法啟用(RMAN-04015)Oracle
- 結構體相關結構體
- Oracle之結構Oracle
- java基礎相關文章Java
- 基礎IO相關操作
- https構建(基礎)HTTP
- Oracle 11g RAC之HAIP相關問題總結OracleAI
- 基礎資料結構之遞迴資料結構遞迴
- 基礎資料結構之陣列資料結構陣列
- Redis基礎資料結構之字串Redis資料結構字串
- Redis基礎資料結構之MapRedis資料結構
- Redis基礎資料結構之SkipListRedis資料結構
- Redis基礎資料結構之連結串列Redis資料結構
- python基礎之資料型別及相關方法Python資料型別
- 簡單介紹Oracle 19c RAC 手工建庫的過程Oracle
- ORACLE建庫過程中自動生成的跟鎖相關的VIEWOracleView
- Oracle11g 自動化建庫及調整相關引數Oracle
- [知識圖譜構建] 二.《Neo4j基礎入門》基礎學習之建立圖資料庫節點及關係資料庫
- C#基礎之結構體講解C#結構體
- Python基礎之:Python的資料結構Python資料結構
- Python基礎之os和資料結構Python資料結構
- dart基礎之類介面操作符過載相關Dart
- 動態連結的相關結構
- 不得不學之「 Gradle」 ③ 構建指令碼基礎Gradle指令碼
- Elasticsearch基礎結構Elasticsearch
- ORACLE基礎之oracle鎖(oracle lock mode)詳解Oracle
- 平衡車相關理論基礎
- Zookeeper基礎概念及相關原理
- webpack基礎–css相關處理WebCSS
- SAP SD基礎知識之組織結構
- Coursera北大《資料結構基礎》之概論資料結構
- 資料結構基礎學習之緒論資料結構