靜默安裝Oracle11G
前期准備
1虛擬機准備:
Centos 6.5 64位
內存2G
硬盤30G
Cpu 4核
Hostname silent
將安裝包放到/tmp/oracle目錄下
2.軟件所需依賴包檢查
|
3.創建Oracle用戶和相應的屬組
|
4.創建目錄修改屬組和權限
|
5.解壓Oracle軟件壓縮包
unzip p13390677_112040_Linux-x86-64_1of7.zip && unzip p13390677_112040_Linux-x86-64_2of7.zip
到這里基本上沒有什么壓力,下面是服務器的一些配置,如果看不懂沒關系的,照着抄,輕微改動幾個地方就行:
6.服務器配置文件修改
6.1 在/etc/hosts文件中添加主機名:
我的做法是注釋掉原來的那行127.0.0.1添加下面這行
127.0.0.1 silentcoln.dataguru silentcoln
6.2關閉防火牆(如果是正式生產庫,請評估后在操作,可以修改配置文件開放1521端口)
chkconfig ipatbles off
service iptables stop
service iptables status
6.3 關閉selinux
原來那行注釋掉,將值改為disable
[root@silentcoln ~]# setenforce 0
6.4 修改內核參數文件
vim /etc/sysctl.conf
添加以下內容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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
其中kernel.shmmax = 1073741824為本機物理內存(2G)的一半,單位為byte。
然后執行sysctl –p [root@silentcoln ~]# sysctl -p
6.5 修改用戶的限制文件
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
6.6修改/etc/pam.d/login文件:
vim /etc/pam.d/login
添加以下內容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
經過這幾部配置服務器信息已經配置完。下面開始切換到Oracle用戶進行配置和安裝
7.切換Oracle用戶進行環境變量配置
[root@silentcoln ~]# su - oracle
[oracle@silentcoln ~]$ vim .bash_profile
在文件中添加一下內容
|
8.編輯靜默安裝響應文件
[root@silentcoln Oracle]# ll
total 2487212
drwxr-xr-x. 7 root root 4096 Aug 27 2013 database
-rw-r--r--. 1 oracle oinstall 1395582860 Oct 28 11:23 p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r--. 1 oracle oinstall 1151304589 Oct 28 11:22 p13390677_112040_Linux-x86-64_2of7.zip
[root@silentcoln Oracle]# chown -R oracle.oinstall /tmp/Oracle
在修改文件前,我們來備份一下相應的文件:
|
等這些參數都配置進去后就可以根據響應文件進行靜默安裝Oracle軟件了
開始安裝軟件
9.根據響應文件進行靜默安裝Oracle軟件
./runInstaller -silent -responseFile /tmp/oracle/database/response/db_install.rsp
可以在另一個窗口中打開這個日志,看安裝詳細信息
有些警告可以直接忽略,如果有報錯,要定位並解決問題,直到看到這個界面說明安裝以及成功。
如果你是第一次安裝,這里會提示執行兩個腳本,因為我之前安裝過一次了,估計是哪里有遺漏,這里只提示出一個需要執行的腳本。
執行這個腳本很簡單,重新開一個窗口,以root身份執行了就行,然后回來按下回車結束這個過程。
[root@silentcoln ~]# who am i
root pts/2 2017-10-28 14:45 (192.168.116.2)
[root@silentcoln ~]# /u01/app/oracle/product/11.2.0/db_1/root.sh
Check /u01/app/oracle/product/11.2.0/db_1/install/root_silentcoln.dataguru_2017-10-28_14-54-20.log for the output of root script
靜默方式配置監聽
10.靜默方式配置監聽
[oracle@silentcoln database]$ netca /silent /responseFile /tmp/oracle/database/response/netca.rsp
看到下面的信息就說明已經配置好了
同時可以在一下目錄中看到相應的文件生成:listener.ora sqlnet.ora
[oracle@silentcoln admin]$ cd $ORACLE_HOME
[oracle@silentcoln db_1]$ cd network/admin/
[oracle@silentcoln admin]$ ls
listener.ora samples shrept.lst sqlnet.ora
同時默認監聽端口1521也可以監控得到了
netstat -tnulp | grep 1521
靜默方式建庫
11.靜默方式建庫
[root@silentcoln response]# pwd
/tmp/Oracle/database/response
[root@silentcoln response]# ls
dbca.rsp db_install.rsp db_install.rsp.bak netca.rsp
[root@silentcoln response]# cp dbca.rsp db
dbca.rsp db_install.rsp db_install.rsp.bak
[root@silentcoln response]# cp dbca.rsp dbca.rsp.bak
[root@silentcoln response]# vim dbca.rsp
|
注意,如果密碼沒有指定,在執行dbca建庫語句后,會出現清屏現象,如果出現清屏現象,請檢查上面提到的幾個password的設定是否正確
編輯完成就可以開始靜默安裝了:
dbca -silent -responseFile /tmp/oracle/database/response/dbca.rsp
在這里我又報一個錯:
問題出現在/etc/oratab文件中,看看里面的內容還包含之前數據庫實例的啟動信息。手動將其清除,再次嘗試安裝。
將這一行注釋掉,再次執行
等進度到100%即可,然后可以進行實例進程檢查
ps -ef | grep ora_ | grep -v grep
[oracle@silentcoln ~]$ echo $ORACLE_SID
silent
[oracle@silentcoln ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sat Oct 28 16:02:17 2017
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select status from v$instance;
STATUS
------------
OPEN
到此,靜默安裝數據庫已經完成。
Oracle開機自啟動設置 這個並不特別推薦,最好是手動啟動和關閉數據庫
1.修改$ORACLE_HOME/bin/dbstart
將ORACLE_HOME_LISTNER=$1修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
2.修改$ORACLE_HOME/bin/dbshut
將ORACLE_HOME_LISTNER=$1修改為ORACLE_HOME_LISTNER=$ORACLE_HOME
3.修改/etc/oratab文件
將silent:/u01/app/oracle/product/11.2.0/db_1:N中最后的N改為Y,
成為silent:/u01/app/oracle/product/11.2.0/db_1:Y
4.敲入命令dbshut和dbstart測試
如果上面四步正確 這里應該會看到如下信息
實例關閉,監聽也停了,查Oracle后台進程發現也沒有了
執行完dbstart
實例啟動了,監聽也啟動了
5.切換到root賬戶建立自啟動腳本
cd /etc/rc.d/init.d/
vi oracle
|
#chmod 755 /etc/rc.d/init.d/oracle
# chkconfig --add oracle
# chkconfig oracle on
克隆安裝Oracle 11G
1.搭建新的虛擬機
在VMware上搭建了一個新的虛擬機,基本信息如下
Centos 6.5 64位
Ip 192.168.116.123
內存2G
硬盤25G
Hostname coln
2.Oracle環境准備
環境准備和靜默安裝環境准備一樣,這里就不過多贅述,直接上步驟了:
|
||||
|
||||
3.原庫一致性關庫,並拷貝$ORACLE_HOME到新的服務器
|
||||
|
||||

下面如果要設置開機啟動什么的,參考靜默安裝案例,這里不再贅述
手工建庫
(注意手工建庫的基礎是以及安裝了數據庫軟件,這里不再贅述,我使用的是靜默安裝的數據庫軟件,可以參考前面內容,靜默安裝Oracle軟件)
官方文檔
https://docs.oracle.com/cd/E11882_01/server.112/e25494/toc.htm
步驟比較多,我把官方文檔摘抄了一部分下來。手工建庫部分難度比價大,感興趣可以動手實踐下。
Complete the following steps to create a database with the CREATE DATABASE statement. The examples create a database named mynewdb.
Step 1: Specify an Instance Identifier (SID)
Step 2: Ensure That the Required Environment Variables Are Set
Step 3: Choose a Database Administrator Authentication Method
Step 4: Create the Initialization Parameter File
Step 5: (Windows Only) Create an Instance
Step 6: Connect to the Instance
Step 7: Create a Server Parameter File
Step 9: Issue the CREATE DATABASE Statement
Step 10: Create Additional Tablespaces
Step 11: Run Scripts to Build Data Dictionary Views
Step 12: (Optional) Run Scripts to Install Additional Options
Step 13: Back Up the Database.
Step 14: (Optional) Enable Automatic Instance Startup
1. 搭建新的虛擬機
我這里只是把克隆裝數據庫的那個虛擬機回到了之前的快照,所以這里服務器信息跟上一個一樣的。
在VMware上搭建了一個新的虛擬機,基本信息如下
Centos 6.5 64位
Ip 192.168.116.123
內存2G
硬盤25G
Hostname coln
2.Oracle環境准備
環境准備和靜默安裝環境准備一樣,這里就不過多贅述,直接上步驟了:
|
||||
|
||||
這里開始是真正的手工建庫內容
1.創建密碼文件(密碼文件的重要性后面有機會再補充,這里不過多敘述)
[oracle@coln ~]$ echo $ORACLE_SID
mandb
[oracle@coln ~]$ cd $ORACLE_HOME/dbs
[oracle@coln dbs]$ ll
total 4
-rw-r--r--. 1 oracle oinstall 2851 May 15 2009 init.ora
[oracle@coln dbs]$ orapwd file=orapwdmandb password=sys entries=10
[oracle@coln dbs]$ ls
init.ora orapwdmandb
--參數文件
[oracle@coln dbs]$ cat init.ora|grep -v ^$|grep -v ^# >initmandb.ora
[oracle@coln dbs]$ more initmandb.ora
對這個文件做一些調整,調整后如下

$ cd /u01/app/oracle/
$ mkdir -p admin/ENMOEDU/audmp
$ mkdir -p flash_recovery_area
SQL> startup nomount
ORACLE instance started.
Total System Global Area 229683200 bytes
Fixed Size 2251936 bytes
Variable Size 171967328 bytes
Database Buffers 50331648 bytes
Redo Buffers 5132288 bytes
vi create_db.sql
CREATE DATABASE mandb
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u01/app/oracle/oradata/mandb/redo01a.log','/u01/app/oracle/oradata/mandb/redo01b.log') SIZE 100M BLOCKSIZE 512,
GROUP 2 ('/u01/app/oracle/oradata/mandb/redo02a.log','/u01/app/oracle/oradata/mandb/redo02b.log') SIZE 100M BLOCKSIZE 512,
GROUP 3 ('/u01/app/oracle/oradata/mandb/redo03a.log','/u01/app/oracle/oradata/mandb/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/oracle/oradata/mandb/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/u01/app/oracle/oradata/mandb/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/u01/app/oracle/oradata/mandb/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u01/app/oracle/oradata/mandb/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u01/app/oracle/oradata/mandb/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
[oracle@mandb ~]$ cd /u01/app/oracle
[oracle@mandb oracle]$ mkdir -p oradata/mandb
[oracle@mandb oracle]$ cd /u01/app/oracle/diag/rdbms/mandb/mandb/trace/
[oracle@mandb trace]$ tail -100f alert_mandb.log
到此手工建庫基本完畢,后面可以進行其他補充,比如執行從創建catalog的腳本(SQL> @?/rdbms/admin/catproc.sql)創建catlog,設置Oracle開機自啟等。




