安裝完資料庫oracle11.2預設是沒有安裝資料庫,需要手動安裝:
oracle常用指令:
sqlplus / as sysdba 進入dba模式
shutdown immediate 立即停止
startup open credit 打開執行個體
lsnrctl start 啟動監聽:
lsnrctl status 檢視狀态
lsnrctl stop 停止監聽
我們可以使用DBCA建立資料庫,但是手工建庫也是DBA必須掌握的,學會了手工建庫有利于我們更好的了解oracle的體系結構。我們一起看一下手工建庫的步驟吧!
資料庫系統版本:11.2g
1)設定資料庫的環境變量
[[email protected] ~]$ vi .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=ENMOEDU
export PATH=$ORACLE_HOME/bin:$PATH
2)建立密碼檔案
[[email protected] ~]$ cd $ORACLE_HOME/dbs
[[email protected] dbs]$ ls
init.ora
[[email protected] dbs]$ orapwd file=orapwENMOEDU password=oracle entries=30;
[[email protected] dbs]$ ls
init.ora orapwENMOEDU
3)修改已有的init.ora建立參數檔案 此資料庫的db_name=ENMOEDU
[[email protected] dbs]$ cat init.ora|grep -v ^$|grep -v ^# > initENMOEDU.ora
[[email protected] dbs]$ vi initENMOEDU.ora
db_name='ENMOEDU'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/oracle/admin/ENMOEDU/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
control_files = ('/u01/app/oracle/oradata/ENMOEDU/control01.ctl', '/u01/app/oracle/oradata/ENMOEDU/control.ctl')
compatible ='11.2.0'
4)建立資料庫需要的檔案夾
[[email protected] ~]$ mkdir -p /u01/app/oracle/admin/ENMOEDU/adump
[[email protected] ~]$ mkdir -p /u01/app/oracle/flash_recovery_area
[[email protected] ~]$ mkdir -p /u01/app/oracle/oradata/ENMOEDU
5)啟動資料庫到nomount
[[email protected] dbs]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Feb 5 20:48:58 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 1071333376 bytes
Fixed Size 1349732 bytes
Variable Size 620758940 bytes
Database Buffers 444596224 bytes
Redo Buffers 4628480 bytes
6)建立資料庫的一個腳本(根據官方文檔)
[[email protected] oracle]$ vi create_db.sql
CREATE DATABASE ENMOEDU
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/ENMOEDUredo01a.log','/u01/app/oracle/oradata/ENMOEDUredo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/ENMOEDUredo02a.log','/u01/app/oracle/oradata/ENMOEDUredo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/ENMOEDUredo03a.log','/u01/app/oracle/oradata/ENMOEDUredo03b.log') SIZE 100M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET AL32UTF8
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/u01/app/oracle/oradata/ENMOEDU/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/ENMOEDU/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/ENMOEDU/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/ENMOEDU/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/app/oracle/oradata/ENMOEDU/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
7)運作腳本建立資料庫
SQL> @/home/oracle/create_db.sql
Database created.
8)運作腳本建立資料字典視圖
SQL> @?/rdbms/admin/catalog.sql
SQL> @?/rdbms/admin/catproc.sql
9)檢視資料庫的狀态
SQL> select status from v$instance;
STATUS
------------
OPEN
1 row selected.
10)建立spfile檔案
SQL> create spfile from pfile;
File created.
手工建立資料庫就完成了。
總結:手工建庫的步驟為:設定環境變量;建立密碼檔案;建立pfile檔案,建立必要的檔案目錄;建立資料庫,運作必要的腳本;建立spfile檔案。