国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Oracle數(shù)據(jù)庫(kù)的靜默安裝實(shí)驗(yàn)

2021-09-22 06:13:54陳浩倫
電子技術(shù)與軟件工程 2021年15期
關(guān)鍵詞:建庫(kù)監(jiān)聽(tīng)腳本

陳浩倫

(山西云時(shí)代研發(fā)創(chuàng)新中心有限公司 山西省太原市 030012)

1 實(shí)驗(yàn)環(huán)境

操作系統(tǒng):Rhel-server-6.5-x86_64

Hostname:rhel-6-1.com

IP Address:192.168.56.21

數(shù)據(jù)庫(kù):Oracle Database 11g Release 2 (11.2)

要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名為PROD,實(shí)例名也為PROD,SYS用戶與SYSTEM用戶的密碼為db12c,同時(shí)將位置存儲(chǔ)在DISK1-DISK5五塊磁盤(pán)上,磁盤(pán)掛載到/u01/app/oracle/oradata/PROD/目錄之下。

2 手工建庫(kù)實(shí)驗(yàn)過(guò)程

2.1 靜默安裝ORACLE DB11g R2數(shù)據(jù)庫(kù)軟件

2.1.1 創(chuàng)建用戶組和用戶

先用groupadd命令創(chuàng)建用戶組oinstall、dba、oper,接著利用useradd指令輸入useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d/home/oracle -s /bin/bash oracle創(chuàng)建用戶oracle,并將其添加到上述三個(gè)組,并分配用戶home文件位置,接著為用戶設(shè)置密碼。

確認(rèn)用戶信息:

id oracle

修改密碼:

passwd oracle

2.1.2 創(chuàng)建目錄結(jié)構(gòu)

為oracle數(shù)據(jù)庫(kù)文件安裝創(chuàng)建相應(yīng)的目錄/u01/app/oracle/product/11.2.0/dbhome_1,以及安裝文件存放目錄/oracle/database/,接著為oracle用戶對(duì)這兩個(gè)路徑的訪問(wèn)授權(quán)。

mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1

chown -R oracle.oinstall /u01

chmod 775 -R /u01

mkdir -p /oracle/dadabase/

chown -R oracle.oinstall /oracle/database/

chmod 775 -R /oracle/database/

以上操作均需注意區(qū)分大小寫(xiě),包括用戶名。

2.1.3 設(shè)置用戶環(huán)境變量

切換到ORACLE用戶,接著用VIM編輯器編輯用戶環(huán)境變量文件.bash_profile:

su - oracle

$ vi ~/.bash_profile

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

export PATH=$PATH:$ORACLE_HOME/bin

確認(rèn)編輯完畢后,接著wq!保存退出。

2.1.4 安裝Oracle軟件環(huán)境依賴包

設(shè)置echo ‘multilib_policy=all’ >> /etc/yum.conf,讓yum同時(shí)安裝64位和32位的所有包。設(shè)置好之后執(zhí)行yum指令安裝yum包:

yum install -y gcclibaioglibccompat-libstdc++-33 elfutilslibelf-develgcc-c++ libaio-devellibgcclibstdc++ libstdc++-develunixODBCunixODBC-develpdksh

在Redhat6上需要安裝pdksh包, rpm-helper是pdksh所依賴的包。而這倆包剛好在這個(gè)版本的自帶安裝光盤(pán)上沒(méi)有,所以手動(dòng)用rpm安裝pdksh包:

rpm -ivh pdksh-5.2.14-18mdk.x86_64.rpm rpm-helper-0.10-1mdk.noarch.rpm

2.1.5 配置系統(tǒng)內(nèi)核參數(shù)

編輯/etc/sysctl.conf文件在文件末尾加上參數(shù)(如有和默認(rèn)重復(fù)的key會(huì)用新加在尾部的key的value)添加值修改并發(fā)異步I/O請(qǐng)求數(shù)fs.aio-max-nr為1024K,即1048576,修改系統(tǒng)同時(shí)可打開(kāi)的文件數(shù)fs.file-max的值為6.5M,即6815744,用等號(hào)“=”賦值。接著修改內(nèi)核的共享內(nèi)存參數(shù),共享內(nèi)存總頁(yè)數(shù)kernel.shmall= 2097152,單共享內(nèi)存段最大值kernel.shmmax = 4294967295,共享內(nèi)存段的最大數(shù)量kernel.shmmni = 4096,以及信號(hào)量kernel.sem= 250 32000 100 128。

分配給用戶的端口區(qū)間設(shè)置net.ipv4.ip_local_port_range,值為9000 65500,設(shè)置接收緩沖區(qū)默認(rèn)大小net.core.rmem_default為262144,最大值net.core.rmem_max=4194304,設(shè)置發(fā)送緩沖區(qū)默認(rèn)大小參數(shù)net.core.wmem_default = 262144,最大值net.core.wmem_max = 1048576。

輸入/sbin/sysctl –p (使上面配置不需重啟立即生效)

接著編輯/etc/security/limits.conf文件,在尾部加上如下參數(shù):

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

oracle soft stack 10240

When the limits.conf file is changed, these changes take effect immediately. However, if the grid or oracle users are logged in, then these changes do not take effect until you log these users out and log them back in. You must do this before you use these accounts for installation.(改這個(gè)文件后要logout然后再login)

2.1.6 配置response文件

修改/liangren/database/response/db_install.rsp文件,其需要更改的地方有:

29行的:oracle.install.option=INSTALL_DB_SWONLY

37行的:ORACLE_HOSTNAME=主機(jī)名

42行的:UNIX_GROUP_NAME=oinstall

47行的:INVENTORY_LOCATION=/u01/app/oraInventory

78行的:SELECTED_LANGUAGES=en

83行 的:ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

88行的:ORACLE_BASE=/u01/app/oracle

99行的:oracle.install.db.InstallEdition=EE

142行的:oracle.install.db.DBA_GROUP=dba

147行的:oracle.install.db.OPER_GROUP=dba

385行的:DECLINE_SECURITY_UPDATES=true

2.1.7 執(zhí)行靜默安裝腳本

接下來(lái)執(zhí)行靜默安裝腳本

./runInstaller -silent -responseFile /liangren/database/response/db_install.rsp –ignoreSysPrereqs

執(zhí)行成功時(shí)會(huì)像圖形化安裝時(shí)那樣提示安裝兩個(gè)腳本,su –root切換到root用戶下根據(jù)提示執(zhí)行安裝兩個(gè)腳本即可完成數(shù)據(jù)庫(kù)軟件安裝。

/u01/app/oraInentory/orainatRoot.sh

/u01/app/oracle/product/11.2.0/dbhome_1/root/sh

2.1.8 可選項(xiàng)操作

為了方便自己使用,可以進(jìn)行配置,安裝插件工具rlwrap,配置rlwrap工具實(shí)現(xiàn)sqlplus里對(duì)oracle數(shù)據(jù)庫(kù)上下鍵翻頁(yè)查看功能。第一步,切換到root用戶安裝readline-devel包:yum install readline-devel*。第二步安裝rlwrap包,同樣在root用戶下,創(chuàng)建rlwrap文件安裝路徑,接著解壓下載的rlwarp包。

mkdirrlwrap

tarxvfz rlwrap-0.37.tar.gz

然后到解壓后的路徑下執(zhí)行安裝。

cd rlwrap-0.37

./configure && make && make install

然后切換回oracle用戶,用vim文本編輯工具編輯.bashrc

[oracle@admin ~]$ vim .bashrc

alias sqlplus='rlwrapsqlplus'

alias rman='rlwraprman'

之后進(jìn)入sqlplus即可發(fā)現(xiàn),上下翻頁(yè)查看功能已經(jīng)實(shí)裝。

簡(jiǎn)單定制glogin.sql,以方便查看和操作,用vim編輯glogin.sql:

vim $ORACLE_HOME/sqlplus/admin/glogin.sql

set linesize 120

set pagesize 25

set sqlprompt _user"@"_connect_identifier>

define _EDITOR="vi"

設(shè)置好之后,在sqlplus之中操作數(shù)據(jù)庫(kù)時(shí),會(huì)顯示用戶名以及所連接的數(shù)據(jù)庫(kù)名稱。

2.2 手工創(chuàng)建數(shù)據(jù)庫(kù)

2.2.1 創(chuàng)建數(shù)據(jù)庫(kù)安裝目錄

首先,查詢相關(guān)目錄是否存在,如果沒(méi)有,則創(chuàng)建該目錄:

cd /u01/app/oracle/oradata/

mkdir PROD

cd PROD

mkdir disk01

mkdir disk02

mkdir disk03

mkdir disk04

mkdir disk05

接下來(lái)輸入df -h查看磁盤(pán)是否成功掛載,如成功掛載,則繼續(xù)。

接下來(lái),創(chuàng)建恢復(fù)分區(qū)文件路徑:

cd /u01/app/oracle/fast_recovery_area/

mkdir PROD

2.2.2 創(chuàng)建初始化參數(shù)文件

到ORACLE_HOME的dbs目錄下,設(shè)置數(shù)據(jù)庫(kù)的密碼:

cd $ORACLE_HOME/dbs

orapwd file=orapwPRODpasssword=db12c

復(fù)制模板init.ora文件創(chuàng)建PROD庫(kù)的初始化參數(shù)文件

cpinit.orainitPROD.ora

如果你的dbs目錄下沒(méi)有模板文件init.ora,這一步也可以不采用復(fù)制的辦法,而是直接再dbs目錄下創(chuàng)建一個(gè)initPROD.ora做初始化參數(shù)文件,內(nèi)容參考MOS文檔或者自己之前已有的初始化參數(shù)文檔編寫(xiě)。接下來(lái)用VIM編輯initPROD.ora文件:vi initPROD.ora

通過(guò)復(fù)制的模板,或直接輸入如下內(nèi)容

db_name='PROD'

memory_target=800m

processes = 150

audit_file_dest='/u01/app/oracle/admin/PROD/adump'

audit_trail ='db'

db_block_size=8192

db_domain=''

db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'

db_recovery_file_dest_size=2G

diagnostic_dest='/u01/app/oracle/'

dispatchers='(PROTOCOL=TCP) (SERVICE=PROD1XDB)'

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/oracle/oradata/PROD/disk1/control01.ctl,/u01/app/oracle/oradata/PROD/disk2/control02,)

compatible ='12.1.0'

其中DB_NAME是數(shù)據(jù)庫(kù)名,memory_target是Oracle 11g新引入的參數(shù),可以自動(dòng)調(diào)整所有的內(nèi)存,這就是新引入的自動(dòng)內(nèi)存管理特性。設(shè)置數(shù)值為上限值,這里因?yàn)樵谔摂M機(jī)中測(cè)試,則設(shè)置為800M,可以根據(jù)實(shí)際需求調(diào)大。Processes參數(shù)為最大連接用戶數(shù),可以根據(jù)實(shí)際需求調(diào)整,默認(rèn)150。audit_file_dest設(shè)置的是審計(jì)文件位置,開(kāi)啟審計(jì)之后,審計(jì)產(chǎn)生的文件將存放在這里指定的目錄之中。db_block_size是ORACLE數(shù)據(jù)庫(kù)操作的最小單位數(shù)據(jù)塊的大小值,大小一般受數(shù)據(jù)庫(kù)用途的影響,聯(lián)機(jī)事務(wù)、銀行流水等一般數(shù)據(jù)塊值需要設(shè)置小一些,而數(shù)倉(cāng)等連續(xù)的整塊讀取的業(yè)務(wù)需要設(shè)置較大的值,這個(gè)屬性創(chuàng)建完數(shù)據(jù)庫(kù)之后無(wú)法修改,如果要修改它的值,需要重建數(shù)據(jù)庫(kù)。一般設(shè)置同名新庫(kù),設(shè)置db_block_size新值,用數(shù)據(jù)泵將數(shù)據(jù)從舊庫(kù)倒過(guò)來(lái),但是注意,庫(kù)中對(duì)應(yīng)存儲(chǔ)過(guò)程在這操作之后可能需要重建。db_recovery_file_dest為歸檔文件設(shè)置路徑,db_recovery_file_dest_size是歸檔文件存放空間上限,如果滿則會(huì)影響數(shù)據(jù)庫(kù)恢復(fù),造成數(shù)據(jù)庫(kù)安全隱患,根據(jù)需求和備份頻率設(shè)置。control_files是ORACLE數(shù)據(jù)庫(kù)的控制文件存放路徑。控制文件恢復(fù)備份,轉(zhuǎn)移都在這里設(shè)置,一般來(lái)說(shuō),控制文件只要有一個(gè)就可以工作,但是為了安全,一般數(shù)據(jù)庫(kù)設(shè)置兩個(gè)或多個(gè)冗余確保數(shù)據(jù)庫(kù)安全。

接下來(lái)輸入wq!,保存并推出VIM文本編輯器,以上內(nèi)容為初始化參數(shù)文件,如果數(shù)據(jù)庫(kù)因?yàn)樾薷膮?shù)導(dǎo)致無(wú)法啟動(dòng),或者初始化參數(shù)文件spfiles損壞或丟失,也可以通過(guò)這種方式重建初始化參數(shù)文件。備份數(shù)據(jù)庫(kù)初始化參數(shù)文件的方法是選中指定庫(kù),進(jìn)入SQLPLUS,然后將數(shù)據(jù)庫(kù)切換到mount階段,執(zhí)行SQL>create pfile from spfile;即可得到數(shù)據(jù)庫(kù)對(duì)應(yīng)的pfile,即模板文件init數(shù)據(jù)庫(kù)名.ora。

2.2.3 編寫(xiě)并執(zhí)行數(shù)據(jù)庫(kù)自動(dòng)化建庫(kù)腳本

接下來(lái)設(shè)置環(huán)境變量,export ORACLE_SID=PROD,指定數(shù)據(jù)庫(kù)SID為要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)SID,注意區(qū)分大小寫(xiě)。接著使用SQLPLUS連接目標(biāo)數(shù)據(jù)庫(kù),sqlplus / as sysdba,進(jìn)入后創(chuàng)建spfile,執(zhí)行CREATE SPFILE FROM PFILE;注意結(jié)尾分號(hào),許多新接觸數(shù)據(jù)庫(kù)或習(xí)慣MYSQL圖形化界面操作的工作人員總是忘加分號(hào)導(dǎo)致無(wú)法成功執(zhí)行。接著輸入exit退出sqlplus。接下來(lái),用VIM編寫(xiě)數(shù)據(jù)庫(kù)的自動(dòng)化建庫(kù)腳本以開(kāi)始建庫(kù),vi /u01/db_create.sql

這段腳本中,第一行設(shè)置數(shù)據(jù)庫(kù)名稱,接著設(shè)置了SYS和SYSTEM用戶的密碼,接下倆,設(shè)置日志分組,以及分組空間大小,以及單個(gè)日志文件大小,如果日志空間滿,則會(huì)覆蓋掉最舊的日志,所以,根據(jù)自己的備份周期、設(shè)備空間大小、系統(tǒng)的IO頻率設(shè)置合適的日志空間大小,對(duì)于數(shù)據(jù)安全來(lái)說(shuō)是很重要的。接下來(lái),是設(shè)置數(shù)據(jù)庫(kù)的字符集,創(chuàng)建必要的表空間、以及數(shù)據(jù)庫(kù)文件,設(shè)置數(shù)據(jù)庫(kù)文件的初始大小以及最大值,和空間擴(kuò)展方式,單個(gè)文件大小最大不得超過(guò)32G,拓展方式為手動(dòng)和自動(dòng)兩種。編輯好自動(dòng)化建庫(kù)腳本之后,wq!保存退出。

輸入export ORACLE_SID=PROD,找到要連接的庫(kù)PROD,接著用sqlplus / as sysdba登錄數(shù)據(jù)庫(kù),之后執(zhí)行剛才編寫(xiě)的自動(dòng)化建庫(kù)腳本:@/u01/db_create.sql

等待建庫(kù)腳本執(zhí)行完畢,輸入select open_mode from v$database;驗(yàn)證是否成功建庫(kù)完畢。若查看到數(shù)據(jù)庫(kù)狀態(tài)為read_write,則數(shù)據(jù)庫(kù)正常開(kāi)啟,建庫(kù)成功完成。

2.2.4 監(jiān)聽(tīng)配置

安裝好數(shù)據(jù)庫(kù)后,如果要實(shí)現(xiàn)遠(yuǎn)程訪問(wèn),則需要對(duì)數(shù)據(jù)庫(kù)配置監(jiān)聽(tīng),在服務(wù)端配置listener,以及在客戶端配置tnsname。首先,進(jìn)入服務(wù)端,找到ORACLE_HOME,進(jìn)入/network/admin目錄用vim編輯listener.ora,$ORACLE_HOME的路徑是配置用戶環(huán)境變量時(shí),在.bash_profile中配置,可以直接大寫(xiě)$ORACLE_HOME訪問(wèn),也可以直接輸入完整的真實(shí)路徑訪問(wèn):

編輯完畢后wq!保存退出。靜態(tài)監(jiān)聽(tīng)是固定的監(jiān)聽(tīng)其中記錄的數(shù)據(jù)庫(kù),遠(yuǎn)程端可以在任何情況下訪問(wèn)這個(gè)庫(kù),所以,它可以用來(lái)遠(yuǎn)程控制數(shù)據(jù)庫(kù)的開(kāi)啟與關(guān)閉。而動(dòng)態(tài)監(jiān)聽(tīng)則是掃描服務(wù)器上所有已開(kāi)啟的數(shù)據(jù)庫(kù),對(duì)于關(guān)閉狀態(tài)的數(shù)據(jù)庫(kù),則無(wú)法通過(guò)SYS直連之外的方法訪問(wèn)。接下來(lái),到客戶端,用VIM編輯tnsname.ora文件:

同樣,編輯完畢后wq!保存退出。之后,在服務(wù)器端,輸入lsnrctl status命令查看監(jiān)聽(tīng)狀態(tài),如果現(xiàn)在監(jiān)聽(tīng)沒(méi)有啟動(dòng),則輸入lsnrctl start開(kāi)啟監(jiān)聽(tīng)。如果要關(guān)閉監(jiān)聽(tīng),則輸入指令lsnrctl stop即可,以上命令需要用oracle用戶執(zhí)行。這一切做好之后,數(shù)據(jù)庫(kù)便可以正常工作和訪問(wèn)了。

3 后記

本次實(shí)驗(yàn)以O(shè)racleDB11gR2版本的靜默安裝為例,實(shí)驗(yàn)參考了ORACLE官方知識(shí)庫(kù)文檔的Database Administrator’s Guide中的Create Database Statement章節(jié)內(nèi)容。記述了在非圖形化界面下的數(shù)據(jù)庫(kù)軟件安裝以及數(shù)據(jù)庫(kù)創(chuàng)建,具體配置參數(shù)需要根據(jù)用戶對(duì)系統(tǒng)的設(shè)計(jì)文檔、需求,以及設(shè)備和操作環(huán)境現(xiàn)實(shí)狀況具體問(wèn)題具體分析具體決定,切不可犯教條主義錯(cuò)誤,同時(shí),大家需注意一切數(shù)據(jù)庫(kù)實(shí)驗(yàn)要在測(cè)試環(huán)境下執(zhí)行,切不可盲目投入生產(chǎn)環(huán)境或改變生產(chǎn)庫(kù),數(shù)據(jù)無(wú)價(jià)。最后強(qiáng)烈感謝徐海,黃文捷,梁任,張義斌,葛惠以上五位工程師為本文中實(shí)驗(yàn)操作提供的資料和經(jīng)驗(yàn)以及技術(shù)指導(dǎo)。

猜你喜歡
建庫(kù)監(jiān)聽(tīng)腳本
酒駕
安奇奇與小cool 龍(第二回)
千元監(jiān)聽(tīng)風(fēng)格Hi-Fi箱新選擇 Summer audio A-401
數(shù)據(jù)庫(kù)系統(tǒng)shell腳本應(yīng)用
快樂(lè)假期
面向建庫(kù)與制圖一體化的規(guī)則研究
網(wǎng)絡(luò)監(jiān)聽(tīng)的防范措施
電子制作(2017年20期)2017-04-26 06:58:02
中文期刊回溯建庫(kù)的實(shí)踐與思考——以貴州省圖書(shū)館為例
應(yīng)召反潛時(shí)無(wú)人機(jī)監(jiān)聽(tīng)航路的規(guī)劃
建設(shè)用地節(jié)約集約利用評(píng)價(jià)數(shù)據(jù)庫(kù)建庫(kù)流程:以西安市為例
河南科技(2014年5期)2014-02-27 14:08:42
盐津县| 土默特右旗| 湖南省| 甘谷县| 枞阳县| 滁州市| 新民市| 澄城县| 汝南县| 革吉县| 卢湾区| 澄江县| 土默特右旗| 甘洛县| 龙胜| 山阴县| 长春市| 遂川县| 澄迈县| 慈利县| 温州市| 长宁区| 昌平区| 噶尔县| 竹溪县| 泰来县| 南城县| 卓尼县| 兴业县| 静乐县| 东光县| 东莞市| 乌兰县| 忻州市| 徐汇区| 博爱县| 江门市| 林周县| 东莞市| 南城县| 浙江省|