centos 6.x 下oracle 11g 安裝配置 [簡單記錄]
以前都是用oracle 10g 現在也順便用用11g 順便就帖上安裝過程,簡單記錄一下,做一個存檔。
一、 安裝資料庫軟體
1. 建立oracle使用者
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
passwd oracle # set password "oracle"
2. 建立相關目錄及授權
cd /data
mkdir u01 u03 u04 u05
mkdir -p /data/u01/app/oracle
chown -R oracle:oinstall /data/u01/app/oracle
chmod -R 775 /data/u01/app/oracle
3. 配置核心引數
vim /etc/sysctl.conf 然後新增下列引數
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 2097152
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 7000
net.core.netdev_max_backlog = 2000
net.core.rmem_default = 8388608
net.core.wmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.igmp_max_memberships = 1000
net.core.optmem_max = 40960
然後
sysctl -p
使配置生效
4. 修改使用者限制
vim /etc/security/limits.conf
新增內容
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 65536
oracle hard nofile 65536
5. 修改安全限制
vim /etc/pam.d/login
增加:
session required /lib64/security/pam_limits.so
6. 設定環境變數
su - oracle
vi /home/oracle/.bash_profile
註釋
#PATH=$PATH:$HOME/bin
#export PATH
新增:
export ORACLE_TERM=xterm
export ORACLE_TERM=xterm
export TMP=/tmp
export ORACLE_SID=psprd1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/1020
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
umask 022
vim .bashrc
新增:
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8export
vim /etc/profile
新增:
HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT="%Y%m%d-%H:%M:%S:"
export HISTTIMEFORMAT
7. 檢查依賴包
可以使用下列命令檢視需要安裝的包:
rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils \
compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc \
glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel
以及
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel libXp
8. 安裝oracle 軟體
- 載安裝包並解壓
[版本 11.2.0.1.0]
這裡下載的是
linux.x64_11gR2_database_1of2.zip linux.x64_11gR2_database_2of2.zip
然後解壓就可以。
unzip linux.zseries64_11gR2_database_1of2.zip && unzip linux.zseries64_11gR2_database_2of2.zip
解壓後會生成一個database資料夾,兩個壓縮檔案都會解壓到database資料夾中
- 圖形化介面安裝
切換到影象介面 startx 或vnc都可以 root 下 xhost +
cd database
./runInstaller 或者 ./runInstaller –ignoreSysPrereqs
這裡需要你填寫郵件地址,可以不填報錯沒關係。
這裡選擇只安裝oracle 軟體即可
選擇單庫安裝,如果你是rac就選擇下面那個選項
增加中文的支援
選擇安裝的版本,這裡選擇企業版
指定base和home目錄,保證兩個目錄以及存在並具有寫許可權
下一步
環境檢查,如果有問題需要開啟另外的會話修改後重新檢查直到最後剩下圖裡面的哪些包,然後忽略即可。
下一步
下一步
切換到root使用者按順序執行下述兩個檔案即可
看到這裡,Oracle 11g資料庫軟體就安裝完成了。
二、 圖形化介面建立資料庫
還是那句話,一切為了方便!
切換到oracle 使用者下 su - oracle
執行dbca 然後就建立吧,主要注意的就是SGA設定大概60-65% ,
PGA 16-20% 的實體記憶體,同時注意字符集建議使用Unicode utf8最大相容中文,這裡就不截圖了。
三、 配置監聽和本地服務名
1,配置監聽
進入/data/u01/app/oracle/product/11.2.0.2/network/admin
建立監聽檔案vim listener.ora 新增如下內容:
LISTENER =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.253.150)(PORT=1521))
(ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)
)
)
啟動並檢視監聽狀態:
lsnrctl start
過5分鐘後檢視狀態
lsnrctl status
看到這樣的內容差不多就算配置成功:
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
2,配置本地服務名
進入/data/u01/app/oracle/product/11.2.0.2/network/admin
建立監聽檔案vim tnsnames.ora 新增如下內容:
vba1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.253.150)(PORT =1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
測試本地服務名是否可用
tnsping vba1
看到如下內容說明配置成功:
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =10.1.253.15)(PORT =1521))) (CONNECT_DATA = (SERVICE_NAME = orcl)))
OK (10 msec)
3,新增oracle自啟動
1, Root使用者修改/etc/oratab 新增
2, Root使用者修改$ORACLE_HOME/bin/dbstart和dbshut
找到ORACLE_HOME_LISTNER=$1將此處改為
ORACLE_HOME_LISTNER=$ORACLE_HOME
3,root使用者下建立/etc/init.d/oracle 檔案然後新增如下內容:
#==================Script File Start==================
#!/bin/bash
#
#chkconfig: 345 51 49
#description: init script to start/stop oracle database 10G,TNS listener
#match these values to your environment.
export ORACLE_TERM=xterm
export TMP=/tmp
export ORACLE_SID=orcl
export ORACLE_OWNER=oracle
export ORACLE_USER=oracle
export ORACLE_BASE=/data/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.2
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
#see how we are called:
case "$1" in
start)
echo -n "Starting oracle"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart" &
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
touch /var/lock/subsys/oracle
echo
;;
stop)
echo -n "Shutting down oracle"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut" &
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/oracle
echo
;;
restart)
echo -n "Restarting oracle"
$0 stop
$0 start
echo
;;
*)
echo "Usage: basename $0 {start|stop|restart}"
exit 1
esac
exit 0
#====end============================
然後chmod +x /etc/init.d/oracle
最後chkconfig --add oracle
四、 引數的調整
在調整引數前記得先備份一份spfile和init.ora
相關目錄如下:
/data/u01/app/oracle/admin/orcl/pfile
cp init.ora.3172014132717 init.ora.3172014132717.bak
sqlplus sys使用者登陸導資料
SQL> show parameter control files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string /data/u02/orcl/control01.ctl,
/data/u01/app/oracle/flash_rec
overy_area/orcl/control02.ctl
control_management_pack_access string DIAGNOSTIC+TUNING
如果覺得備份保留時間太長可以調整
SQL> alter system set control_file_record_keep_time = 3 scope=both;
引數調整後記得備份一份spfile或建立一份pfile儲存到相應目錄下即可。
SQL>create pfile='/data/u04/pfile_dir/orclpfile.ora' from spfile;
另外如果備份時間覺得太長的話可以適當加到large pool size 的大小,這裡就不一一列出。
附註
0, 建立表空間(臨時)設定自動擴充套件
create tablespace vba datafile '/data/u03/oradata/orcl/vba1.dbf' size 10G autoextend on next 100m maxsize 30G, '/data/u03/oradata/orcl/vba2.dbf' size 10G autoextend on next 100m maxsize 30G, '/data/u03/oradata/orcl/vba3.dbf' size 10G autoextend on next 100m maxsize 30G;
#刪除表空間及其對應的檔案
drop tablespace stream_tbs including contents and datafiles
# 建立streams管理員帳號並授予許可權("DEFAULT" 必須是大寫)
create user vba profile "DEFAULT" identified by xxx default tablespace vba_tmp quota unlimited on vba;
1,建立dump目錄:
create directory dump_dir as '/data/u04/dump_dir';
grant read,write on directory dump_dir to vba;
select * from dba_directories;
2,備份spfile:
create pfile='/data/u04/pfile_dir/orclpfile.ora' from spfile;
3,建立oracle命令列幫助:
su –oracle 進入cd $ORACLE_HOME/sqlplus/admin/help
Sqlplus system/xxx 登陸
執行@helpbld.sql會提示輸入兩個引數,第一個輸入. 表示當前目錄
第二個是helpus.sql 檔案然後回車執行即可
4,Undo表空間預估大小語句 :
SELECT TRUNC(((UR * (UPS * DBS)) + (DBS * 24))/1024,2) ||' MB' AS "UNDO ESTIMATES SIZE"
FROM (SELECT VALUE AS UR FROM V$PARAMETER WHERE NAME = 'undo_retention'),
(SELECT (SUM(UNDOBLKS)/SUM(((END_TIME - BEGIN_TIME)*86400))) AS UPS FROM V$UNDOSTAT),
(SELECT BLOCK_SIZE AS DBS FROM DBA_TABLESPACES WHERE TABLESPACE_NAME=
(SELECT UPPER(VALUE) FROM V$PARAMETER WHERE NAME = 'undo_tablespace'));
5,查詢表結構:
select DBMS_METADATA.GET_DDL('TABLE','EMP','SCOTT') from dual;
6,檢視匯入匯出job情況:
select owner_name,job_name ,state from dba_datapump_jobs;
expdp ATTACH=job_name
impdp ATTACH=job_name
7,常用備份指令碼
匯出
expdp xxxx/[email protected] dumpfile=dp_reporttemp%U.dmp schemas=reporttemp logfile=dump_reporttemp_exp.log directory=DATA_PUMP_DIR job_name=vreporttemp_dump_job PARALLEL=2 compression=all
匯入
impdp xxxx/[email protected] dumpfile=dp_reporttemp01.dmp,dp_reporttemp02.dmp schemas=reporttemp logfile=dump_reporttemp_exp.log directory=DUMP_DIR job_name=reporttemp_imdp_job PARALLEL=4 TABLE_EXISTS_ACTION=replace
8,殺死會話
SELECT 'alter system kill session ''' || c.sid || '' || ',' || c.serial# ||''';', a.object_id, a.session_id, b.object_name, c.* FROM v$locked_object a, dba_objects b, v$session c WHERE a.object_id = b.object_id AND a.SESSION_ID = c.sid(+) AND schemaname = 'Unmi' ORDER BY logon_time;
9,查詢表空間的大小
select a.tablespace_name,total,free,total-free used from
( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_files
group by tablespace_name) a,
( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_space
group by tablespace_name) b
where a.tablespace_name=b.tablespace_name;
#查看錶空間和使用者的關係
select tablespace_name, owner,sum(bytes) from dba_segments
group by tablespace_name, owner
#查看錶空間資源限制
select * from dba_ts_quotas
ps:如果之前某個使用者具有dba許可權,後來進行回收那麼需要資源控制賦權
grant unlimited tablespace to user_name;
或
alter user user_name quota unlimited on tablespace_name;
否則會出現空間不足的問題 ,回收用
revoke unlimited tablespace from user_name;
10,檢視段的大小
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name ;
11,查詢oracle正在執行的語句及使用者資訊
set linesize 200;
col sid for 99999;
col username for a10;
col sql_text for a25;
col machine for a15;
SELECT b.sid ,
b.username ,
spid ,
sql_text ,
b.machine
FROM v$process a, v$session b, v$sqlarea c
WHERE a.addr = b.paddr
AND b.sql_hash_value = c.hash_value;
或者下面這個更好
Set linesize 200;
Col OSUSER for a10;
Col PROGRAM for a30;
Col SCHEMANAME for a15;
Col Cpu_Time for 999999999.99;
Col STATUS for a10;
Col SQL_TEXT for a25;
SELECT OSUSER,
PROGRAM,
USERNAME,
SCHEMANAME,
B.Cpu_Time,
STATUS,
B.SQL_TEXT
FROM V$SESSION A
LEFT JOIN V$SQL B ON A.SQL_ADDRESS = B.ADDRESS
AND A.SQL_HASH_VALUE = B.HASH_VALUE
ORDER BY b.cpu_time DESC;
12,查詢sql鎖情況
SELECT 'alter system kill session'||' '''||l.session_id||',' || s.serial# ||' '';' as killsql,
l.session_id sid,
s.serial#,
l.locked_mode ,
l.oracle_username ,
l.os_user_name ,
s.machine ,
s.terminal ,
o.object_name 被鎖物件名,
s.logon_time
FROM v$locked_object l, all_objects o, v$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid
ORDER BY sid, s.serial#;
完!
相關推薦
centos 6.x 下oracle 11g 安裝配置 [簡單記錄]
以前都是用oracle 10g 現在也順便用用11g 順便就帖上安裝過程,簡單記錄一下,做一個存檔。 一、 安裝資料庫軟體 1. 建立oracle使用者 groupadd oinstall groupad
Centos 6.5下SVN服務安裝配置
第一:說明,軟體說明,和安裝的目的 架設基於linux下的SVN伺服器,進行版本控制。 第二:本例操作環境 所使用的系統環境為 Centos 6.5 64位作業系統 [[email protected] ~]# uname -a Linux tia
CentOS 6.x下安裝VMWare-tools操作指引
vmware tools linuxCentOS 6.x下安裝VMWare-tools操作指引=====第一步:掛載安裝光盤先點擊vmware界面上的安裝vmware-tools,然後掛載光盤mount /dev/cdrom /mnt/第二步:copy壓縮文件到本地目錄cp /mnt/VMwareTools-
CentOS 6.x 下安裝Zabbix Agent 3.2.x 操作指引
zabbix agent linuxCentOS 6.x 下安裝Zabbix Agent 3.2.x 操作指引=====第一步:安裝rpm包rpm -ivh http://http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-agent-3.2.0-1.
CentOS 6.x下PXE+Kickstart無人值守安裝操作系統
系統安裝 pxe kickstart 一、PXE1 什麽是PXE: PXE(Pre-boot Execution Environment,預啟動執行環境)是由Intel公司開發的最新技術,工作於Client/Server的網絡模式,支持工作站通過網絡從遠端服務器下載映像,並由此支持通過網
Linux (Ubuntu 和 centos 6.x) 下安裝 zsh
zsh和bash一樣,是一種Unix shell,但大多數Linux發行版都預設使用bash shell。但Zsh有強大的自動補全引數和自定義配置功能, 強!強!強!, 這裡我們只介紹安裝
Centos 6.x下安裝Zabbix 3.4
一、關閉SELINUX getenforce setenforce 0 #把SELinux關閉,此操作為臨時關閉,重啟後失效 vim /etc/selnux/conf 修改為disabled,此操作為永久關閉,重啟後生效。
centos 6.x下安裝nodejs
centos 安裝nodejs主要有兩種方式,一種是原始碼,第二種是二進位制安裝。 linux系統一般來說,不追求新,而是追求穩定。centos 下的軟體往往不是最新的,卻是相對比較穩定的。我想這也是我們很多人選擇centos的原因。(最重要的一點,是用習慣了
CentOS 6.3下PostgreSQL 的安裝與配置
一、簡介 PostgreSQL 是一種非常複雜的物件-關係型資料庫管理系統(ORDBMS),也是目前功能最強大,特性最豐富和最複雜的自由軟體資料庫系統。有些特性甚至連商業資料庫都不具備。這個起源於伯克利(BSD)的資料庫研究計劃目前已經衍生成一項國際開發專案,並且有非常廣泛的使用者。 二、系統環境 系統平臺
CentOS 6.x 下安裝oracle11g R2
本文是利用圖形環境遠端安裝(因oracle安裝需要使用到圖形環境,所以本文為圖形環境安裝步驟,靜默安裝可參考其它) 環境: [[email protected] tmp]# cat /etc/redhat-release CentOS release 6.7
CentOS-6.x下搭建golang環境
golangyum安裝(最簡單)rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpmyum install golang參考博文:https://www.sudops.com/cengos-inst
(總結)CentOS 6.x使用yum快速安裝Apache+PHP+Tomcat(JSP)+MySQL
apache 意思 安裝apache /var/ 軟件 cat yum proxy_ajp alt (總結)CentOS 6.x使用yum快速安裝Apache+PHP+Tomcat(JSP)+MySQL PS:這個是懶人yum快速安裝法,用於開發和測試環境很方便,用於沒有特
Centos 6/ 7下通過yum安裝php7環境
nmp chan art lda base rhel 7 安裝php embed process 本文轉自:雲溪社區 2015年12月初PHP7正式版發布,迎來自2004年以來最大的版本更新。PHP7最顯著的變化就是性能的極大提升,已接近Facebook開發的PHP執行引擎
CentOS 6.5下源碼安裝LAMP(Linux+Apache+Mysql+Php)環境
onf 服務器 mysqld pep usr cnblogs char 格式 hash ---恢復內容開始--- 一、系統環境 系統平臺:CentOS 6.5 (Final) Apache版本:httpd-2.2.31.tar.gz(最新版本2015-07-16) M
centos 6.5部署oracle 11g記錄
centos6.5部署安裝Oracle1.修改主機名:[root@oracledb ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network2.設置ip地址:虛機安裝的話,
docker中的oracle-11g-安裝配置
裝配 dbf mar temp use dba docker create raw docker鏡像:wnameless/oracle-xe-11g 啟動鏡像的命令: docker run -d -v /data/oracle_data:/data/oracle_dat
centOS 6.5下Zabbix RPM安裝
## 1、安裝環境概述常用的Zabbix安裝有兩種:rpm安裝和原始碼安裝,本文介紹以rpm安裝,原始碼安裝請參照原始碼安裝文件。Zabbix常用地址如下:- Zabbix官網:http://www.zabbix.com- 官方論壇:http://www.zabbix.com/forum- 程式碼託管地址:h
Centos 6.x下擴充套件swap分割槽簡單方法
使用檔案簡單擴充套件swap分割槽。 1.進入根分割槽 cd / 2.建立一個用來當作swap分割槽的檔案 dd if=/dev/zero of=/swapfile bs=1M count=1024 會建立一個1G的swapfile檔案 3.格式化swapfile
CentOS 6.5 上VNC Server安裝配置
rpm -qa | grep vnc 檢視是否有vnc包 yum install -y tigervnc-server 在CentOS 6 中,VNC的名稱已經改為tigervnc 確保centos 中已經安裝Gnome 桌面並且執行在runlevel 5 為連線設定
CentOS 6.x下重置MySQL 5.7密碼
本人環境為MySQL 5.7 + CentOS 6.3。 1. 編輯MySQL配置檔案/etc/my.cnf 找到[mysqld],在下面新增一行skip-grant-tables2. 重啟MySQL