Oracle手動建庫安裝部署超詳細教程

手動創建PROD數據庫

步驟1 指定SID

Oracle_SID是用於區別數據庫實例的環境變量。

ORACLE_SID=prod
export ORACLE_SID

步驟2 確定Oracle環境的環境變量

在操作系統平臺下,Oracle_SIDORACLE_HOME必須指定,建議指定PATH包含ORACLE_HOME/bin目錄。環境變量的實際操作如下:

創建數據目錄和審計目錄:

[oracle@db1 oradata]$ mkdir -p /u01/app/oradata/prod 
[oracle@db1 oradata]$ mkdir -p $ORACLE_BASE/admin/prod/adump
[oracle@db1 dbs]$ mkdir -p /u01/app/flash_recovery_area

環境變量配置:

ORACLE_BASE=/u01/app
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
#ORACLE_SID=oradb
ORACLE_SID=prod
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH
export PATH
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

即時生效,驗證ORACLE_SID是否是prod

[oracle@db1 ~]$ source .bash_profile 
[oracle@db1 ~]$ echo $ORACLE_SID
prod

可選操作,部署glogin.sql和rlwrap

$ORACLE_HOME/sqlplus/admin/glogin.sql
set sqlprompt _user'@'_connect_identifier> 

rlwarp的配置,參考:rlwarp的使用

步驟3 設置Oracle的口令認證方式

創建Oracle的口令文件

[oracle@db1 ~]$ cd $ORACLE_HOME/dbs
[oracle@db1 dbs]$ orapwd file=orapwPROD password=oracle entries=30

步驟4 創建初始化參數文件

官方文檔的參考文件鏈接為:Oracle參數文件的例子

cd $ORACLE_HOME/dbs

官方的參數文件init.ora例子的具體內容如下:

db_name='ORCL'
memory_target=1G
processes = 150
audit_file_dest='<ORACLE_BASE>/admin/orcl/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='<ORACLE_BASE>/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='<ORACLE_BASE>'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300 
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (ora_control1, ora_control2)
compatible ='11.2.0'

通過vi命令中的

  • :%s#orcl#prod#gi替換裡面的orcl的字符串。其中i命令不區分大小寫。
  • :%s#ora_control1#/u01/app/oradata/prod/control01.ctl#g替換ora_control1的字符串。
  • :%s#ora_control2#/u01/app/oradata/prod/control02.ctl#g替換ora_control2的字符串。
  • :%s#<ORACLE_BASE>#/u01/app#g替換<ORACLE_BASE>的字符串。
  • :wq命令保存配置。

修改後,我個人的參數文件initprod.ora 如下:

db_name='prod'
memory_target=1G
processes = 150
audit_file_dest='/u01/app/admin/prod/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/u01/app/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/u01/app'
dispatchers='(PROTOCOL=TCP) (SERVICE=prodXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS1'
# You may want to ensure that control files are created on separate physical
# devices
control_files = (/u01/app/oradata/prod/control01.ctl, /u01/app/oradata/prod/control02.ctl)
compatible ='11.2.0'

步驟5 連接數據庫實例

有命令文件,可以通過如下命令連接:

[oracle@db1 dbs]$ sqlplus /nolog
@> connect sys as sysdba
Enter password: 
Connected to an idle instance.
SYS@prod> 

OS認證登錄方式,命令如下:

[oracle@db1 dbs]$ sqlplus /nolog
@> conn /as sysdba
Connected to an idle instance.
SYS@prod> 

步驟6 創建spfile文件

SYS@prod> CREATE SPFILE FROM PFILE;

步驟7 啟動實例

STARTUP NOMOUNT

步驟8 使用CREATE DATABASE語句建庫

官方給與建庫的例句,你可以修改你自己所需的數據庫的樣子,如下:
前提:有數據庫目錄:/u01/app/oradata/prod

CREATE DATABASE prod
 USER SYS IDENTIFIED BY oracle
 USER SYSTEM IDENTIFIED BY oracle
 LOGFILE GROUP 1 ('/u01/app/oradata/prod/redo01a.log','/u01/app/oradata/prod/redo01b.log') SIZE 100M BLOCKSIZE 512,
  GROUP 2 ('/u01/app/oradata/prod/redo02a.log','/u01/app/oradata/prod/redo02b.log') SIZE 100M BLOCKSIZE 512,
  GROUP 3 ('/u01/app/oradata/prod/redo03a.log','/u01/app/oradata/prod/redo03b.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/oradata/prod/system01.dbf' SIZE 325M REUSE
 SYSAUX DATAFILE '/u01/app/oradata/prod/sysaux01.dbf' SIZE 325M REUSE
 DEFAULT TABLESPACE users
 DATAFILE '/u01/app/oradata/prod/users01.dbf'
 SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
 DEFAULT TEMPORARY TABLESPACE tempts1
 TEMPFILE '/u01/app/oradata/prod/temp01.dbf'
 SIZE 20M REUSE
 UNDO TABLESPACE undotbs1
 DATAFILE '/u01/app/oradata/prod/undotbs01.dbf'
 SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

執行語句如下:

[oracle@db1 ~]$ chmod 755 create_database.sql 
[oracle@db1 ~]$ sqlplus "/as sysdba"
SYS@prod> @create_database.sql
Database created.

步驟9 創建額外的空間

對於應用程序來說,應該有屬於自己的表空間,對於我們這邊的都是以ARP命名,如下:

CREATE TABLESPACE apps_arp LOGGING 
 DATAFILE '/u01/app/oradata/prod/apps_arp01.dbf' 
 SIZE 500M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED 
 EXTENT MANAGEMENT LOCAL;
-- create a tablespace for indexes, separate from user tablespace (optional)
CREATE TABLESPACE indx_arp LOGGING 
 DATAFILE '/u01/app/oradata/prod/indx_arp01.dbf' 
 SIZE 100M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED 
 EXTENT MANAGEMENT LOCAL;

步驟10 執行腳本構建數據字典視圖

使用SYSDBA權限的用戶,連接數據庫如下:

[oracle@db1 ~]$ sqlplus /nolog
@> conn /as sysdba
Connected.
SYS@prod>

執行如下語句:

@?/rdbms/admin/catalog.sql
@?/rdbms/admin/catproc.sql
@?/rdbms/admin/utlrp.sql

使用SYSTEM用戶,執行如下語句:

[oracle@db1 ~]$ sqlplus /nolog
@> conn system/oracle
Connected.
SYSTEM@prod> @?/sqlplus/admin/pupbld.sql

【可選操作】,如果需要scott用戶用於數據庫的實驗,可以做如下操作:

[oracle@db1 ~]$ sqlplus /nolog
@> conn / as sysdba
Connected.
SYS@prod> @?/rdbms/admin/utlsampl.sql

驗證數據庫,是否正常,如下:

[oracle@db1 ~]$ sqlplus "/as sysdba"
SYS@prod> select INSTANCE_NAME,STATUS from v$instance;

INSTANCE_NAME STATUS
---------------- ------------
prod  OPEN

參考文獻

官方文檔:

位置為:【Oracle Database Administrator’s Guide】

​ –>【Creating a Database with the CREATE DATABASE Statement】

到此這篇關於Oracle手動建庫安裝部署超詳細教程的文章就介紹到這瞭,更多相關Oracle手動建庫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: