溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle 實例創(chuàng)建腳本

發(fā)布時間:2020-06-19 01:39:09 來源:網(wǎng)絡(luò) 閱讀:1193 作者:handan725 欄目:關(guān)系型數(shù)據(jù)庫

遙想剛?cè)肼殨r,一臺服務(wù)器就掛了,所以就是在“危難”中有機會學(xué)習(xí)。在夜深人靜時,我想去回憶一下Oracle實例的創(chuàng)建。一種方法,DBCA,圖形界面,但是需要依賴xming或xmanager這類軟件;另一種方法就是腳本創(chuàng)建Oracle數(shù)據(jù)庫實例。第一種方法簡單,易上手,但是對初學(xué)者,不能學(xué)習(xí)到更多數(shù)據(jù)庫知識;第二種方法用腳本就能更了然數(shù)據(jù)庫的各種文件以及參數(shù)。本文只介紹腳本創(chuàng)建Oracle實例。


記得2010年,還是用Oracle10g,如今用11g,他們的差異在于dump 目錄略不同。我們就高不就低,以O(shè)racle 11g創(chuàng)建一個實例為例,一起看看有哪些點需要我們注意滴。

第一步:創(chuàng)建文件目錄,并將文件目錄授權(quán)給oracle用戶,以webdb為實例名舉例,進行如下操作,其中adump,dpdump,fast_recovery_area 是必須要有的(這幾個目錄11g跟10g略不同,需要注意),oradata/webdb和/tabdata/webdb的創(chuàng)建根據(jù)管理員習(xí)慣,一般oradata/webdb用來存儲系統(tǒng)級別文件,如redolog,system file,undo file 等,tabdata/webdb用來放新增表空間文件(數(shù)據(jù)文件)。

mkdir -p /u00/app/oracle/admin/webdb/adump

mkdir -p /u00/app/oracle/admin/webdb/dpdump

mkdir -p /u00/app/oracle/fast_recovery_area/webdb

mkdir -p /u01/oradata/webdb

mkdir -p /u01/tabdata/webdb

chown oracle:oinstall /u00/app/oracle/admin/webdb/adump

chown oracle:oinstall /u00/app/oracle/admin/webdb/dpdump

chown oracle:oinstall /u00/app/oracle/fast_recovery_area/webdb

chown oracle:oinstall /u01/oradata/webdb

chown oracle:oinstall /u01/tabdata/webdb


第二步:export 實例名稱

ORACLE_SID=webdb; export ORACLE_SID


第三步:手工在/etc/oratab文件下增加實例名稱(這個文件很重要,詳情后續(xù)會有文章介紹)

echo "webdb:$ORACLE_HOME:Y" >> /etc/oratab


第四步:手工在$ORACLE_HOME/dbs增加pfile 文件(此文件是實例參數(shù)值的重要文件)


vi $ORACLE_HOME/dbs/initwebdb.ora

文件內(nèi)容如下:

webdb.__db_cache_size=679477248

webdb.__java_pool_size=4194304

webdb.__large_pool_size=4194304

webdb.__oracle_base='/u00/app/oracle'#ORACLE_BASE set from environment

webdb.__pga_aggregate_target=104857600

webdb.__sga_target=943718400

webdb.__shared_io_pool_size=0

webdb.__shared_pool_size=243269632

webdb.__streams_pool_size=0

*.audit_file_dest='/u00/app/oracle/admin/webdb/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/u01/oradata/webdb/control01.ctl','/u00/app/oracle/fast_recovery_area/webdb/control02.ctl'

*.db_block_size=8192

*.db_domain='webex.com'

*.db_name='webdb'

*.db_recovery_file_dest='/u00/app/oracle/fast_recovery_area'

*.db_recovery_file_dest_size=2097152000

*.diagnostic_dest='/u00/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=webdbXDB)'

*.open_cursors=500

*.pga_aggregate_target=104857600

*.processes=1000

*.remote_login_passwordfile='EXCLUSIVE'

*.sessions=1105

*.sga_target=943718400

*.undo_tablespace='UNDOTBS1'


第五步:手工orap生成密碼

$ORACLE_HOME/bin/orapwd file=$ORACLE_HOME/dbs/orapwwebdb password=dbpassword force=y


第六步:運行一些列腳本,直至數(shù)據(jù)庫創(chuàng)建完畢。

(1)$ORACLE_HOME/bin/sqlplus /nolog

(2)sql>connect "SYS"/"password" as SYSDBA

//創(chuàng)建spfile基于剛給的pfile,為什么創(chuàng)建一個,這個很有用,萬一pfile出錯了,或者被意外更改,spfile的用途很大,后邊有空來詳細介紹下spfile跟pfile的使用,如果有spfile,oracle默認(rèn)限度spfile,只有當(dāng)spfile沒有時,才讀pfile。而且spfile是二進制,pfile就是普通的文件,可讀可改。方便的同時也容易被誤操作。

(3)sql>create spfile='$ORACLE_HOME/dbs/spfilewebdb.ora' from pfile='$ORACLE_HOME/dbs/initwebdb.ora';

(4)sql>startup nomount

(5)@createdb.sql

//createdb.sql腳本如下,其中包括redolog 大小,位置,以及系統(tǒng)文件等,尤其注意character set設(shè)置在這里,不要一失足,后面該很麻煩滴。關(guān)于這個字符集設(shè)置,小編也有血淚史,后面給大家介紹些詭異的手法。

CREATE DATABASE webdb

 LOGFILE group 1 ('/u01/oradata/webdb/redo01.log' ) SIZE 51200K,

         group 2 ('/u01/oradata/webdb/redo02.log' ) SIZE 51200K,

         group 3 ('/u01/oradata/webdb/redo03.log' ) size 51200K 

 DATAFILE '/u01/oradata/webdb/system01.dbf' SIZE 200M autoextend on next 10M maxsize unlimited

 sysaux datafile '/u01/oradata/webdb/sysaux01.dbf' size 100M autoextend on next 10M maxsize unlimited

 character set WE8ISO8859P1

 EXTENT MANAGEMENT LOCAL

 undo tablespace UNDOTBS1

   datafile '/u01/oradata/webdb/UNDOTBS01.dbf'

   size 50M autoextend on next 5M maxsize UNLIMITED

 default temporary tablespace temp

   tempfile '/u01/oradata/webdb/temp01.dbf' 

 size 50M autoextend on next 640K maxsize UNLIMITED;

startup force;

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

ALTER SYSTEM SWITCH LOGFILE;

  

(6)@dic.sql

//運行數(shù)據(jù)字典dic.sql內(nèi)容如下:

SET VERIFY OFF

connect "SYS"/"password" as SYSDBA

spool dic

@?/rdbms/admin/catalog.sql       

@?/rdbms/admin/catproc.sql       

@?/rdbms/admin/catblock.sql   

@?/rdbms/admin/catoctk.sql       

@?/rdbms/admin/owminst.plb      

spool off 

connect "SYSTEM"/"password"   

spool pub

@?/sqlplus/admin/pupbld.sql

@?/sqlplus/admin/help/hlpbld.sql helpus.sql

spool off

(7)@ctab.sql

//ctab.sql 是創(chuàng)建表空間,語法格式如下。

connect "SYS"/"password" as SYSDBA

spool ctab

DROP TABLESPACE BACKUPINCLUDING CONTENTS AND DATAFILES;


CREATE TABLESPACE BACKUP DATAFILE 

  '/u01/tabdata/webdb/BACKUP.dbf' SIZE 1320M AUTOEXTEND ON NEXT 8K MAXSIZE UNLIMITED

LOGGING

ONLINE

PERMANENT

EXTENT MANAGEMENT LOCAL UNIFORM SIZE 512K

BLOCKSIZE 8K

SEGMENT SPACE MANAGEMENT AUTO

FLASHBACK ON;

(8)@cuser.sql

//cuser.sql是用來創(chuàng)建用戶。

sqlplus / as sysdba

CREATE USER MAINT

  IDENTIFIED BY password

  DEFAULT TABLESPACE BACKUP

  TEMPORARY TABLESPACE TEMP

  PROFILE DEFAULT

  ACCOUNT UNLOCK;

  -- 2 Roles for MAINT 

  GRANT CONNECT TO MAINT;

  GRANT RESOURCE TO MAINT;

  ALTER USER MAINT DEFAULT ROLE ALL;

  -- 1 System Privilege for WBXMAINT 

  GRANT UNLIMITED TABLESPACE TO MAINT;

==============================================================================

Done

基于以上步驟,就可以so easy且有所得滴創(chuàng)建一個instance。

還需要在listener 以及tns 文件上天劍才能進行網(wǎng)絡(luò)連接。后面會給大家分享OracleDB連接方式時,再詳細介紹。

晚安~~希望對您有幫助,有什么可以幫您?請留言。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI