您好,登錄后才能下訂單哦!
博文結(jié)構(gòu)
Oracle的手動(dòng)安裝過(guò)程
啟動(dòng),關(guān)閉Oracle數(shù)據(jù)庫(kù)
Oracle Database,又名Oracle RDBMS,或簡(jiǎn)稱Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它是在數(shù)據(jù)庫(kù)領(lǐng)域一直處于領(lǐng)先地位的產(chǎn)品??梢哉f(shuō)Oracle數(shù)據(jù)庫(kù)系統(tǒng)是目前世界上流行的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng),系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類大、中、小、微機(jī)環(huán)境。它是一種高效率、可靠性好的、適應(yīng)高吞吐量的數(shù)據(jù)庫(kù)方案。
1)數(shù)據(jù)的大量性
2)數(shù)據(jù)的保存的持久性
3)數(shù)據(jù)的共享性
4)數(shù)據(jù)的可靠性
2、完備關(guān)系的產(chǎn)品:
1)信息準(zhǔn)則---關(guān)系型DBMS的所有信息都應(yīng)在邏輯上用一種方法,即表中的值顯式地表示;
2)保證訪問(wèn)的準(zhǔn)則
3)視圖更新準(zhǔn)則---只要形成視圖的表中的數(shù)據(jù)變化了,相應(yīng)的視圖中的數(shù)據(jù)同時(shí)變化
4)數(shù)據(jù)物理性和邏輯性獨(dú)立準(zhǔn)則
3、分布式處理功能:
ORACLE數(shù)據(jù)庫(kù)自第5版起就提供了分布式處理能力,到第7版就有比較完善的分布式數(shù)據(jù)庫(kù)功能了,一個(gè)ORACLE分布式數(shù)據(jù)庫(kù)由oraclerdbms、sql*Net、SQL*CONNECT和其他非ORACLE的關(guān)系型產(chǎn)品構(gòu)成。
4、用ORACLE能輕松的實(shí)現(xiàn)數(shù)據(jù)倉(cāng)庫(kù)的操作。
優(yōu)點(diǎn)
■ 可用性強(qiáng)
■ 可擴(kuò)展性強(qiáng)
■ 數(shù)據(jù)安全性強(qiáng)
■ 穩(wěn)定性強(qiáng)
安裝前要求
Oracle 12c明確支持的Linux操作系統(tǒng)包括Oracle Linux 7、Oracle Linux 6、Oracle Linux 5、Red Hat Enterprise Linux 7、Red Hat Enterprise Linux 6、Red Hat Enterprise Linux 5等,因?yàn)镽ed Hat Enterprise 和CentOS屬于同步并行的操作系統(tǒng),所以O(shè)racle 12 c同樣支持CentOS 7、CentOS 6、CentOS 5操作系統(tǒng)。在其他Linux系統(tǒng)中安裝時(shí),個(gè)別軟件或配置文件可能需要進(jìn)行適當(dāng)?shù)恼{(diào)整。
Linux操作系統(tǒng)要求:
物理內(nèi)存:必須高于1GB,對(duì)于VMware虛擬機(jī)建議不少于2GB;
交換空間:物理內(nèi)存為1~2GB時(shí),交換分區(qū)為物理內(nèi)存的1.5~2倍;物理內(nèi)存為2~16GB時(shí),交換分區(qū)于物理內(nèi)存大小相同;物理內(nèi)存超過(guò)16GB時(shí),交換分區(qū)使用16GB就可以了;
[root@localhost /]# vim /etc/hosts
192.168.1.10 Oracle
[root@localhost ~]# yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
[root@localhost ~]# vim /etc/sysctl.conf \\添加下面這段
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@localhost ~]# sysctl -p \\重新加載配置
[root@localhost ~]# groupadd -g 54321 oinstall \\創(chuàng)建安裝組
[root@localhost ~]# groupadd -g 54322 dba \\創(chuàng)建管理組
[root@localhost ~]# useradd -u 54321 -g oinstall -G dba oracle
\\創(chuàng)建運(yùn)行用戶
[root@localhost ~]# passwd oracle
更改用戶 oracle 的密碼 。
新的 密碼:
重新輸入新的 密碼:
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
[root@localhost ~]# mkdir -p /u01/app/oracle \\建立基本組
[root@localhost ~]# chown -R oracle:oinstall /u01/app/
[root@localhost ~]# chmod -R 775 /u01/app/oracle/
Oracle 12c的安裝任務(wù)應(yīng)以運(yùn)行用戶oracle的身份執(zhí)行,需適當(dāng)調(diào)整oracle用戶的環(huán)境配置以滿
足要求。具體操作如下:
[root@localhost /]# vim /home/oracle/.bash_profile \\加入以下這段
umask 022
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/12.2.0/dbhome_1/
ORACLE_SID=orcl
NLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8
PATH=$PATH:$ORACLE_HOME/bin
LANG=zh_CN.UTF-8
export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
export DISPLAY=:0.0
4.oracle用戶資源限制要求
分別進(jìn)入配置文件加入字段
[root@localhost /]# vim /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
[root@localhost /]# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
[root@localhost /]# vim /etc/profile
if [ $USER = "oracle" ];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
準(zhǔn)備工作完成后重新啟動(dòng)系統(tǒng)。重新啟動(dòng)之后,再次檢查之前的配置是否生效。重啟
[root@localhost media]# mkdir /tmp/abc
[root@localhost media]# cd /media/
[root@localhost media]# ls
linuxx64_12201_database.zip
[root@localhost media]# cp linuxx64_12201_database.zip /tmp/abc/
[root@localhost abc]# cd /tmp/abc/
[root@localhost abc]# unzip linuxx64_12201_database.zip
[root@localhost abc]# ls
database linuxx64_12201_database.zip
[root@localhost abc]# ls database/
install response rpm runInstaller sshsetup stage welcome.html
[root@localhost abc]# xhost +
//一定要以root用戶在圖形環(huán)境中操作
access control disabled, clients can connect from any host
[root@localhost abc]# cd /
[root@localhost /]# su oracle
[oracle@localhost /]$ cd /tmp/abc/database/
[oracle@localhost database]$ export DISPLAY=:0.0
//設(shè)置DISPLAY環(huán)境變量
[oracle@localhost database]$ ./runInstaller
輸入上面這條命令會(huì)出現(xiàn)如圖:
安裝過(guò)程中會(huì)彈出如下圖,需要打開(kāi)終端執(zhí)行一下
[root@localhost ~]# /u01/app/oraInventory/orainstRoot.sh
\\默認(rèn)回車就行
更改權(quán)限/u01/app/oraInventory.
添加組的讀取和寫入權(quán)限。
刪除全局的讀取, 寫入和執(zhí)行權(quán)限。
更改組名/u01/app/oraInventory 到 oinstall.
腳本的執(zhí)行已完成。
[root@localhost~]#/u01/app/oracle/product/12.2.0/dbhome_1/root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/12.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
略.....
首先需要解決sqlplus命令行方向鍵不能使用的問(wèn)題,方法如下:
[root@oracle ~]# yum -y install ncurses* readline* //安裝軟件包所需依賴
[root@oracle ~]# tar zxf rlwrap-0.30.tar.gz.zip -C /usr/src
[root@oracle ~]# cd /usr/src/rlwrap-0.30/
[root@oracle rlwrap-0.30]# ./configure && make && make install
//使用root身份進(jìn)行編譯安裝,安裝完成后即可使用!
[oracle@oracle ~]$ rlwrap sqlplus "/ as sysdba"
SQL*Plus: Release 12.2.0.1.0 Production on 星期二 11月 26 10:51:44 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
連接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL>
創(chuàng)建數(shù)據(jù)庫(kù)的步驟如下,
。
(1)以oracle用戶身份運(yùn)行命令DBCA。
[oracle@localhost /]$ dbca
要啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù),必須具有Oracle管理員權(quán)限的用戶登錄,通常以具有SYSDBA權(quán)限的用戶登錄。
數(shù)據(jù)庫(kù)的啟動(dòng)
啟動(dòng)一個(gè)數(shù)據(jù)庫(kù)需要三個(gè)步驟:①啟動(dòng)oracle實(shí)例(非裝載階段);②由實(shí)例裝載數(shù)據(jù)庫(kù)(裝載階段);③打開(kāi)數(shù)據(jù)庫(kù)(打開(kāi)階段)。
在startup命令中,可以使用不同的選項(xiàng)來(lái)控制數(shù)據(jù)庫(kù)的不同啟動(dòng)步驟。
1)startup nomount(該命令不常用)
nomount選項(xiàng)僅僅啟動(dòng)一個(gè)oracle實(shí)例,讀取init.ora初始化參數(shù)文件、啟動(dòng)后臺(tái)進(jìn)程、初始化SGA。當(dāng)實(shí)例啟動(dòng)后,系統(tǒng)將顯示一個(gè)SGA內(nèi)存結(jié)構(gòu)和大小的列表,如下:
[oracle@oracle ~]$ sqlplus / as sysdba //以oracle用戶登錄數(shù)據(jù)庫(kù)
SQL*Plus: Release 12.2.0.1.0 Production on 星期二 11月 26 11:18:36 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
連接到:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> startup nomount
2)startup mount(某些時(shí)候會(huì)用到該命令)
startup mount 命令啟動(dòng)實(shí)例并且裝載數(shù)據(jù)庫(kù),但是沒(méi)有打開(kāi)數(shù)據(jù)庫(kù)。oracle系統(tǒng)讀取控制文件中關(guān)于數(shù)據(jù)文件和重做日志文件的內(nèi)容,但并不打開(kāi)該文件。這種打開(kāi)方式常在數(shù)據(jù)庫(kù)維護(hù)操作中使用,如對(duì)數(shù)據(jù)文件的更名、改變重做日志及打開(kāi)歸檔模式等。在這種打開(kāi)方式下,除了可以看到SGA系統(tǒng)列表以外,系統(tǒng)還會(huì)給出“數(shù)據(jù)庫(kù)裝載完畢”的提示。
SQL> alter database mount;
//由于上面已經(jīng)執(zhí)行了startup nomount命令,所以再更改它的狀態(tài),就需要使用該命令
3)startup(正常時(shí)使用的命令)
startup命令完成啟動(dòng)實(shí)例,裝載數(shù)據(jù)庫(kù)和打開(kāi)數(shù)據(jù)庫(kù)三個(gè)步驟。此時(shí),數(shù)據(jù)庫(kù)使數(shù)據(jù)文件和重做日志文件在線,通常還會(huì)請(qǐng)求一個(gè)或者多個(gè)回滾段;系統(tǒng)除了可以看到前面startup mount 方式下的所有提示外,還會(huì)給出一個(gè)“數(shù)據(jù)庫(kù)已經(jīng)打開(kāi)”的提示;數(shù)據(jù)庫(kù)系統(tǒng)處于正常的工作狀態(tài),可以接收用戶的請(qǐng)求。
如果采用startup nomount或者startup mount的數(shù)據(jù)庫(kù)打開(kāi)方式,必須采用alter database命令來(lái)執(zhí)行裝載或打開(kāi)數(shù)據(jù)庫(kù)的操作。
前面兩條命令都執(zhí)行過(guò)了(startup nomount和alter database mount),所以這里再執(zhí)行下面命令,數(shù)據(jù)庫(kù)就可以說(shuō)是正確啟動(dòng)完成了。如下:
SQL> alter database open;
正常來(lái)說(shuō),可以直接使用下面一條命令來(lái)正常啟動(dòng)數(shù)據(jù)庫(kù),如下:
SQL> startup //在數(shù)據(jù)庫(kù)關(guān)閉狀態(tài)下執(zhí)行該命令,數(shù)據(jù)庫(kù)會(huì)依次啟動(dòng)、裝載、打開(kāi)。
ORACLE 例程已經(jīng)啟動(dòng)。
Total System Global Area 1593835520 bytes
Fixed Size 8793256 bytes
Variable Size 1023411032 bytes
Database Buffers 553648128 bytes
Redo Buffers 7983104 bytes
數(shù)據(jù)庫(kù)裝載完畢。
數(shù)據(jù)庫(kù)已經(jīng)打開(kāi)。
對(duì)于數(shù)據(jù)庫(kù)的關(guān)閉,有四種不同的關(guān)閉選項(xiàng)。
1)shutdown normal
shutdown normal是shutdown命令的默認(rèn)選項(xiàng)。也就是說(shuō),如果用戶發(fā)出shutdown命令,即執(zhí)行shutdown normal命令。
發(fā)出該命令后,任何新的連接都將不再允許連接到數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)關(guān)閉之前,oracle將等待目前連接的所有用戶都從數(shù)據(jù)庫(kù)中退出后才開(kāi)始關(guān)閉數(shù)據(jù)庫(kù)。采用這種方式關(guān)閉數(shù)據(jù)庫(kù),在下一次啟動(dòng)時(shí)不需要進(jìn)行任何的實(shí)例恢復(fù)。但需要注意的是,采用這種方式時(shí),也許關(guān)閉一個(gè)數(shù)據(jù)庫(kù)需要幾天或更長(zhǎng)的時(shí)間。
發(fā)出該命令后,當(dāng)前正在被oracle處理的SQL語(yǔ)句立即中斷,系統(tǒng)中任何沒(méi)有提交的事務(wù)全部回滾。如果系統(tǒng)中存在一個(gè)很長(zhǎng)的未提交的事務(wù),那么采用這種方式關(guān)閉數(shù)據(jù)庫(kù)也需要一段時(shí)間(該事務(wù)回滾時(shí)間)。系統(tǒng)不會(huì)等待連接到數(shù)據(jù)庫(kù)的所有用戶退出系統(tǒng),而會(huì)強(qiáng)行回滾當(dāng)前所有的活動(dòng)事務(wù),然后斷開(kāi)所有的連接用戶。
3)shutdown transactional
shutdown transactional 命令常用來(lái)計(jì)劃關(guān)閉數(shù)據(jù)庫(kù),它會(huì)等待當(dāng)前連接到系統(tǒng)且正在活動(dòng)的事務(wù)執(zhí)行完畢,運(yùn)行該命令后,任何新的連接和事務(wù)都是不允許的。它所有活動(dòng)的事務(wù)執(zhí)行完成后,數(shù)據(jù)庫(kù)將以和shutdown immediate同樣的方式關(guān)閉數(shù)據(jù)庫(kù)。
數(shù)據(jù)庫(kù)處于一種非正常工作狀態(tài),不能用shutdown normal或shutdown immediate命令關(guān)閉數(shù)據(jù)庫(kù);
需要立即關(guān)閉數(shù)據(jù)庫(kù);
在啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例時(shí)遇到問(wèn)題。
發(fā)出該命令后,所有正在運(yùn)行的SQL語(yǔ)句將立即中止,所有未提交的事務(wù)將不回滾,oracle也不等待目前連接到數(shù)據(jù)庫(kù)的用戶退出系統(tǒng);下一次啟動(dòng)數(shù)據(jù)庫(kù)時(shí)需要實(shí)例恢復(fù),因此,下一次啟動(dòng)可能比平時(shí)需要更多的時(shí)間。
在關(guān)閉數(shù)據(jù)庫(kù)時(shí)最好使用shutdown immediate方式,因?yàn)檫@種方式安全且相對(duì)較快。不是萬(wàn)不得已不要使用shutdown abort 方式,因?yàn)檫@種方式會(huì)造成數(shù)據(jù)丟失,并且恢復(fù)數(shù)據(jù)庫(kù)也需要較長(zhǎng)時(shí)間。
當(dāng)Oracle數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)完成后,為了使客戶端用戶能連接到Oracle實(shí)例,數(shù)據(jù)庫(kù)管理員還要
在Oracle所在的服務(wù)器上使用Inrctl 命令啟動(dòng)監(jiān)聽(tīng)進(jìn)程。如果數(shù)據(jù)庫(kù)實(shí)例關(guān)閉,-般也要關(guān)閉監(jiān)聽(tīng)
進(jìn)程。
[oracle@oracle ~]$ lsnrctl //執(zhí)行該命令
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 25-9月 -2019 21:59:04
Copyright (c) 1991, 2016, Oracle. All rights reserved.
歡迎來(lái)到LSNRCTL, 請(qǐng)鍵入"help"以獲得信息。
LSNRCTL> start //啟動(dòng)監(jiān)聽(tīng)
啟動(dòng)/u01/app/oracle/product/12.2.0/dbhome_1//bin/tnslsnr: 請(qǐng)稍候...
TNSLSNR for Linux: Version 12.2.0.1.0 - Production
系統(tǒng)參數(shù)文件為/u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
寫入/u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml的日志信息
監(jiān)聽(tīng): (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
監(jiān)聽(tīng): (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
LISTENER 的 STATUS
------------------------
別名 LISTENER
版本 TNSLSNR for Linux: Version 12.2.0.1.0 - Production
啟動(dòng)日期 25-9月 -2019 21:59:12
正常運(yùn)行時(shí)間 0 天 0 小時(shí) 0 分 0 秒
跟蹤級(jí)別 off
安全性 ON: Local OS Authentication
SNMP OFF
監(jiān)聽(tīng)程序參數(shù)文件 /u01/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
監(jiān)聽(tīng)程序日志文件 /u01/app/oracle/diag/tnslsnr/oracle/listener/alert/log.xml
監(jiān)聽(tīng)端點(diǎn)概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
監(jiān)聽(tīng)程序不支持服務(wù)
命令執(zhí)行成功
直接命令開(kāi)啟
[oracle@oracle ~]$ lsnrctl start //啟動(dòng)監(jiān)聽(tīng)
[oracle@oracle ~]$ lsnrctl stop //關(guān)閉監(jiān)聽(tīng)
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 25-9月 -2019 22:00:31
Copyright (c) 1991, 2016, Oracle. All rights reserved.
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle)(PORT=1521)))
命令執(zhí)行成功
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。