1. 程式人生 > >centos 6.x 下oracle 11g 安裝配置 [簡單記錄]

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 軟體

  1. 載安裝包並解壓

[版本 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資料夾中

  1. 圖形化介面安裝

切換到影象介面 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.5SVN服務安裝配置

第一:說明,軟體說明,和安裝的目的 架設基於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.xPXE+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.3PostgreSQL 的安裝配置

一、簡介 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.5Zabbix 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