1、擴(kuò)大交換分區(qū)
成都創(chuàng)新互聯(lián)專注于雙牌企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),成都商城網(wǎng)站開發(fā)。雙牌網(wǎng)站建設(shè)公司,為雙牌等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
dd if=/dev/zero of=/tmp/mem.swap bs=1M count=4096
/sbin/mkswap /tmp/mem.swap
/sbin/swapon /tmp/mem.swap
vi /etc/fstab
/tmp/mem.swap swap swap defaults 0 0
2、安裝oracle依賴包關(guān)系
yum install -y binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel gcc gcc-c++ libXext libXext.i686 zlib-devel zlib-devel.i686
3、增加用戶
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd asmadmin
/usr/sbin/groupadd asmdba
/usr/sbin/groupadd oper
/usr/sbin/useradd -g oinstall -G dba,asmdba,oper oracle -d /home/oracle
4、修改操作系統(tǒng)參數(shù)
a、修改sawp大于4G(必備)
b、修改內(nèi)核參數(shù)和增加操作系統(tǒng)限制
vim /etc/sysctl.conf 請(qǐng)根據(jù)自己實(shí)際情況修改,內(nèi)核參數(shù)如下
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
各參數(shù)詳解:
fs.aio-max-nr:
此參數(shù)限制并發(fā)未完成的請(qǐng)求,應(yīng)該設(shè)置避免I/O子系統(tǒng)故障。
fs.file-max:
該參數(shù)決定了系統(tǒng)中所允許的文件句柄最大數(shù)目,文件句柄設(shè)置代表linux系統(tǒng)中可以打開的文件的數(shù)量。
kernel.shmall:
該參數(shù)控制可以使用的共享內(nèi)存的總頁數(shù)。Linux共享內(nèi)存頁大小為4KB,共享內(nèi)存段的大小都是共享內(nèi)存頁大小的整數(shù)倍。一個(gè)共享內(nèi)存段的最大大小是16G,那么需要共享內(nèi)存頁數(shù)是16GB/4KB=16777216KB /4KB=4194304(頁),也就是64Bit系統(tǒng)下16GB物理內(nèi)存,設(shè)置kernel.shmall = 4194304才符合要求.
kernel.shmmax:
是核心參數(shù)中最重要的參數(shù)之一,用于定義單個(gè)共享內(nèi)存段的最大值。設(shè)置應(yīng)該足夠大,設(shè)置的過低可能會(huì)導(dǎo)致需要?jiǎng)?chuàng)建多個(gè)共享內(nèi)存段,這樣可能導(dǎo)致系統(tǒng)性能的下降。至于導(dǎo)致系統(tǒng)下降的主要原因?yàn)樵趯?shí)例啟動(dòng)以及ServerProcess創(chuàng)建的時(shí)候,多個(gè)小的共享內(nèi)存段可能會(huì)導(dǎo)致當(dāng)時(shí)輕微的系統(tǒng)性能的降低(在啟動(dòng)的時(shí)候需要去創(chuàng)建多個(gè)虛擬地址段,在進(jìn)程創(chuàng)建的時(shí)候要讓進(jìn)程對(duì)多個(gè)段進(jìn)行“識(shí)別”,會(huì)有一些影響),但是其他時(shí)候都不會(huì)有影響。
官方建議值:
32位linux系統(tǒng):可取最大值為4GB(4294967296bytes)-1byte,即4294967295。建議值為多于內(nèi)存的一半,所以如果是32為系統(tǒng),一般可取值為4294967295。
64位linux系統(tǒng):可取的最大值為物理內(nèi)存值-1byte,建議值為多于物理內(nèi)存的一半,例如,如果為12GB物理內(nèi)存,可取12*1024*1024*1024-1=12884901887。
kernel.shmmni:
該參數(shù)是共享內(nèi)存段的最大數(shù)量。shmmni缺省值4096,一般肯定是夠用了。
kernel.sem:
以kernel.sem = 250 32000 100 128為例:
250是參數(shù)semmsl的值,表示一個(gè)信號(hào)量集合中能夠包含的信號(hào)量最大數(shù)目。
32000是參數(shù)semmns的值,表示系統(tǒng)內(nèi)可允許的信號(hào)量最大數(shù)目。
100是參數(shù)semopm的值,表示單個(gè)semopm()調(diào)用在一個(gè)信號(hào)量集合上可以執(zhí)行的操作數(shù)量。
128是參數(shù)semmni的值,表示系統(tǒng)信號(hào)量集合總數(shù)。
net.ipv4.ip_local_port_range:
表示應(yīng)用程序可使用的IPv4端口范圍。
net.core.rmem_default:
表示套接字接收緩沖區(qū)大小的缺省值。
net.core.rmem_max:
表示套接字接收緩沖區(qū)大小的最大值。
net.core.wmem_default:
表示套接字發(fā)送緩沖區(qū)大小的缺省值。
net.core.wmem_max:
表示套接字發(fā)送緩沖區(qū)大小的最大值。
vim /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 4096
root soft nproc unlimited
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
3、新建目錄
mkdir /u01
mkdir /u01/app
mkdir -p /u01/app/oracle/oradata
chmod -R 775 /u01/app
chown -R oracle:oinstall /u01
4、修改環(huán)境變量
export PATH
# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
export ORACLE_SID=cdb1
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
unzip linuxx64_12201_database.zip /u01
chown -R oracle:oinstall /u01
oracle 12c R2
vi /u01/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.2.0
oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
oracle.install.db.config.starterdb.globalDBName=cdb1
oracle.install.db.config.starterdb.SID=cdb1
oracle.install.db.config.starterdb.characterSet=AL32UTF8
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
DECLINE_SECURITY_UPDATES=true
cd /u01/database
./runInstaller -force -silent -noconfig -responseFile /u01/database/response/db_install.rsp
tail –f /u01/app/oracle/oraInventory/logs/installActions2017-04-15_08-36-48PM.log
6,靜默配置監(jiān)聽(切換至oracle用戶)
netca -silent -responsefile /u01/database/response/netca.rsp
7、建庫配置文件
R2
vim /u01/database/response/dbca.rsp
responseFileVersion=/oracle/assistants/rspfmt_dbca_response_schema_v12.2.0//21行不可更改
gdbName=cdb1 //32
sid=cdb1 //42
databaseConfigType=SI //52
policyManaged=false //74
createServerPool=false //88
force=false //127
createAsContainerDatabase=true //163
numberOfPDBs=1 //172
pdbName=cdb1pdb //182
useLocalUndoForPDBs=true //192
templateName=/u01/app/oracle/product/12.2.0.1/db_1/assistants/dbca/templates/General_Purpose.dbc //223
emExpressPort=5500 //273
runCVUChecks=false //284
omsPort=0 //313
dvConfiguration=false //341
olsConfiguration=false //391
datafileJarLocation={ORACLE_HOME}/assistants/dbca/templates/ //401
datafileDestination={ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/ //411
recoveryAreaDestination={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME} //421
storageType=FS //431
characterSet=AL32UTF8 //468字符集創(chuàng)建庫之后不可更改
nationalCharacterSet=AL16UTF16 //478
registerWithDirService=false //488
listeners=LISTENER //526
variables=DB_UNIQUE_NAME=cdb1,ORACLE_BASE=/u01/app/oracle,PDB_NAME=,DB_NAME=cdb1,ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1,SID=cdb1 //546
initParams=undo_tablespace=UNDOTBS1,memory_target=796MB,processes=300,db_recovery_file_dest_size=2780MB,nls_language=AMERICAN,dispatchers=(PROTOCOL=TCP) (SERVICE=cdb1XDB),db_recovery_file_dest={ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME},db_block_size=8192BYTES,diagnostic_dest={ORACLE_BASE},audit_file_dest={ORACLE_BASE}/admin/{DB_UNIQUE_NAME}/adump,nls_territory=AMERICA,local_listener=LISTENER_CDB1,compatible=12.2.0,control_files=("{ORACLE_BASE}/oradata/{DB_UNIQUE_NAME}/control01.ctl", "{ORACLE_BASE}/fast_recovery_area/{DB_UNIQUE_NAME}/control02.ctl"),db_name=cdb1,audit_trail=db,remote_login_passwordfile=EXCLUSIVE,open_cursors=300 //555
sampleSchema=false //565
memoryPercentage=40 //574
databaseType=MULTIPURPOSE //584
automaticMemoryManagement=true //594
totalMemory=0 //604
dbca -silent -createDatabase -responseFile /u01/dbca1.rsp
[WARNING] [DBT-06801] Specified Fast Recovery Area size (2,780 MB) is less than the recommended value.
CAUSE: Fast Recovery Area size should at least be three times the database size (2,730 MB).
ACTION: Specify Fast Recovery Area Size to be at least three times the database size.
[WARNING] [DBT-11209] Current available physical memory is less than the required physical memory (796MB) for creating the database.
Enter SYS user password: #超級(jí)管理員密碼
Enter SYSTEM user password: #管理員密碼
Enter PDBADMIN User Password: #庫密碼
檢查oracle進(jìn)程狀態(tài)
ps -ef | grep ora_ | grep -v grep
lsnrctl status (lsnrctl是oracle命令)
8,登錄數(shù)據(jù)庫 提醒:切換至oracle用戶
[oracle@Oracle response]$ sqlplus / as sysdba
SQL> select open_mode from v$database;
SQL> select status from v$instance;