天天看點

Linux下面oracle環境的搭建

标題:Linux下面oracle環境的搭建

主題:

Oracle資料庫環境準備

第一部分:安裝oracle軟體包

1.安裝

 VMware Tools

安裝vmware-tools工具

步驟1、點選---->虛拟機----->安裝Vmware Tools

<a href="https://s5.51cto.com/wyfs02/M02/9E/68/wKiom1mQaR-yJiXuAAEND3jnwgE257.png-wh_500x0-wm_3-wmp_4-s_2444205414.png" target="_blank"></a>

步驟2、df -h

[root@server253 ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2              20G  8.3G   11G  45% /

/dev/sda1              99M   12M   83M  12% /boot

tmpfs                 1.5G     0  1.5G   0% /dev/shm

/dev/scd0             2.8G  2.8G     0 100% /media/Enterprise Linux dvd 20090908

步驟3、挂在VMwareTools鏡像

mount /dev/scd0 /mnt/

df -h

/dev/scd0             2.8G  2.8G     0 100% /mnt

步驟4、cp /mnt/VMwareTools… /etc/opt/

cd /opt/

ls

步驟5、解壓VMwareTools包

tar -zxvf VMwareTools…

cd vmware-tools-distrib

步驟6、./vmware-install.pl

一路回車

最後reboot一下

2.配置ip位址

  計算機名

  配置主機

  防火牆設定

1,配置IP位址

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

HWADDR=00:0C:29:D3:D9:8D

ONBOOT=yes

IPADDR=192.168.1.253

NETMASK=255.255.255.0

/etc/init.d/network restart

chkconfig network on

ifconfig eth0

2,配置計算機名字

vim /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=server253.oracle.com

修改臨時主機名

hostname server253.oracle.com

3,配置主機

vim /etc/hosts

# Do not remove the following line, or    various programs

# that require network functionality    will fail.

127.0.0.1               localhost.localdomain    localhost

::1             localhost6.localdomain6    localhost6

192.168.1.253   server253.oracle.com    server253

ping server253.oracle.com

ping server253

4,防火牆設定

system-config-securitylevel

<a href="https://s1.51cto.com/wyfs02/M00/9E/57/wKioL1mQaUTRzwN0AACbFVtqW7A287.png-wh_500x0-wm_3-wmp_4-s_681255648.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M02/9E/68/wKiom1mQaVPD6I6EAACfeHFf7s4666.png-wh_500x0-wm_3-wmp_4-s_1275641203.png" target="_blank"></a>

3.配置yum倉   庫

點選虛拟機----&gt;設定-----&gt;CD\DVD(SATA)----&gt;使用ISO映像檔案(M)----&gt;

裝置狀态----&gt;勾選上已連接配接

vim /etc/yum.repos.d/server.repo

[base]                                                                   

name=rhel5.4

baseurl=file:///mnt/Server

enabled=1

gpgcheck=0

4.檢查軟體的   必要性

Checking the Software Requirements

binutils-2.15.92.0.2-13.EL4

compat-db-4.1.25-9   -----

compat-libstdc++-296-2.96-132.7.2

control-center-2.8.0-12

gcc-3.4.3-22.1.EL4

gcc-c++-3.4.3-22.1.EL44

glibc-2.3.4-2.9

glibc-common-2.3.4-2.9

libstdc++-3.4.3-22.1

libstdc++-devel-3.4.3-22.1

make-3.80-5

pdksh-5.2.14-30

sysstat-5.0.5-1

setarch-1.6-1

[root@server253 ~]rpm -qa|grep compat-db

[root@server253 ~]# yum -y install  compat-db

[root@server253 ~]# rpm -qa|grep pdksh

[root@server253 ~]# yum -y install pdksh

[root@server253 ~]# rpm -qa|grep sysstat

[root@server253 ~]# yum -y install  sysstat

5.檢查網絡步   驟

1.   ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:D3:D9:8D 

          inet addr:192.168.1.253  Bcast:192.168.1.255  Mask:255.255.255.0

          inet6 addr:    fe80::20c:29ff:fed3:d98d/64 Scope:Link

          UP BROADCAST RUNNING    MULTICAST  MTU:1500  Metric:1

          RX packets:112 errors:0 dropped:0    overruns:0 frame:0

          TX packets:78 errors:0 dropped:0    overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:14414 (14.0 KiB)  TX bytes:16767 (16.3 KiB)

          Base address:0x2000    Memory:fd5c0000-fd5e0000

      vim /etc/sysconfig/network

     system-config-securitylevel

<a href="https://s5.51cto.com/wyfs02/M00/9E/57/wKioL1mQaW7T0Nh2AAAsEpUv94Q987.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/9E/57/wKioL1mQaYjj3bcxAAAzyhvd63A965.png" target="_blank"></a>

6.配置名稱解   析

7. 建立安裝軟    件需要賬戶    名群組

8. 判斷nobody    是否存在

Creating Required Operating System Groups  and Users

建立三個使用者

[root@server253 ~]# useradd dba

[root@server253 ~]# useradd oinstall

[root@server253 ~]# useradd oper

[root@server253 ~]# id oracle

uid=500(oracle) gid=500(oracle)  groups=500(oracle)

将使用者加入到組

usermod -g oinstall -G  oinstall,dba,oper,oracle oracle

uid=500(oracle) gid=502(oinstall)  groups=502(oinstall),500(oracle),501(dba),503(oper)

8,Verifying that the User nobody Exists 判斷nobody是否存在

原因:外部作業必須存在nobody

[root@server253 ~]# id nobody

uid=99(nobody) gid=99(nobody)  groups=99(nobody)

9. 核心參數

Configuring Kernel Parameters

vi /etc/sysctl.conf

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024    65000

net.core.rmem_default = 1048576

net.core.rmem_max = 1048576

net.core.wmem_default = 262144

net.core.wmem_max = 262144

-shmall :該參數表示系統依次可以使用的共享記憶體段的總容量(以頁為機關)。預設值是2097152,通常不需要修改

-shmmax:該參數定義了單個程序能夠使用的共享記憶體段的最大尺寸(以位元組為機關),預設為32MB,對于ORACLE來說,該預設值太低了,通常将其設定為2GB

-shmmin:該核心參數用于設定系統範圍内共享記憶體段的最大個數,該參數的預設值是4096,通常不需要更改

-sem:該參數表示設定的信号量

-file-max: 該參數表示檔案句柄的最大數量,檔案句柄設定表示在linux系統中可以打開的檔案數量

[root@server253 ~]# sysctl -p

10. 配置SHELL     限制

配置SHELL限制

a,vim /etc/security/limits.conf

oracle              soft    nproc      2047

oracle              hard    nproc      16384  

oracle              soft    nofile     1024

oracle              hard    nofile     65536

b,vi /etc/pam.d/login

session    required     /lib/security/pam_limits.so

session    required     pam_limits.so

c,Depending on the oracle user's default  shell

vi /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

11. 建立所需     要的目錄

建立所需要的目錄

Identifying Required Software Directories

a,Oracle Base Directory--- 根目錄  必須手工建立

mkdir -p /u01/app/oracle

b,Oracle Inventory Directory

       名字:oracle_base/oraInventory --産品清單清單

/u01/app/oracle/oraInventory  You do not need to create it. 安裝自動建立

c,Oracle Home Directory  軟體所安裝的目錄

   每安裝一個産品都會有一相應的oralce home目錄,You do not need to create  this directory.

建議你們建立

/u01/app/oracle/product/10.2.0/db_1

d,指令

     # mkdir -p /u01/app/oracle

     # chown -R oracle:oinstall /u01/app/oracle

     # chmod -R 775 /u01/app/oracle

   測試

      ll /u01/app

12.配置oracle    使用者環境

Configuring the oracle User's Environment

su - oracle

cd /home/oracle

     vim .bash_profile

umask 022

        ORACLE_BASE=/u01/app/oracle 根目錄

        ORACLE_SID=orcl

        export ORACLE_BASE ORACLE_SID

[root@server253 ~]# source .bash_profile

13.準備安裝介    質

a,如何将安裝媒體上傳到linux

b,tool

c,使用root上傳,使用解壓,檢視權限

  unzip  包名

  chown  -R oracle:oinstall /u01

  chmod  -R 775 /u01

14. su - 

    oracle

[oracle@server253 ~]$ su - root

[root@server253 ~]# xhost +

access control disabled, clients can  connect from any host

[root@server253 ~]# su - oracle

[oracle@server253 ~]$ xclock

<a href="https://s2.51cto.com/wyfs02/M00/9E/68/wKiom1mQairiGYO8AAAYX-F3kvk138.png" target="_blank"></a>

15.

安裝你的資料庫軟體

16.安裝過程要    做的事情

[oracle@server253 ~]$ cd /u01/database/

[oracle@server253 database]$  ./runInstaller

<a href="https://s5.51cto.com/wyfs02/M01/9E/57/wKioL1mQaj2hf3uIAARqP46YPDA309.png" target="_blank"></a>

a,vim /home/oracle/.base_profile

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

ORACLE_SID=orcl

PATH=$PATH:$HOME/bin

export PATH ORACLE_BASE ORACLE_SID    ORACLE_HOME

b,不要選預設建立資料庫,這裡隻是安裝資料庫軟體

c.最後以root身份執行2個腳本:

    orainstRoot.sh==用來更新最終的産品清單資訊

    root.sh ==根據目前主機的資訊生成一些使用腳本,如dbca

[oracle@server253 ~]$ source  .bash_profile

<a href="https://s5.51cto.com/wyfs02/M01/9E/57/wKioL1mQanLxvsT9AAShyfHuNcM124.png-wh_500x0-wm_3-wmp_4-s_389730642.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M02/9E/57/wKioL1mQapuxkxRgAAQrqY2jIhc322.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M02/9E/68/wKiom1mQatDAgAYIAANESLP2sxI709.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M01/9E/68/wKiom1mQavKwvFvmAAIlVIEbxH8565.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M01/9E/57/wKioL1mQa7CxV7DhAAIlVIEbxH8660.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M00/9E/57/wKioL1mQbEDTHweLAAEyJkttKtA140.png" target="_blank"></a>

[root@localhost /]#  /u01/app/oracle/oraInventory/orainstRoot.sh

[root@localhost /]#  /u01/app/oracle/product/10.2.0/db_1/root.sh

<a href="https://s1.51cto.com/wyfs02/M01/9E/68/wKiom1mQbFWSFCkvAAI8fDMKuDs801.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/9E/57/wKioL1mQbWCQNPlYAAA-aiEQMvY083.png" target="_blank"></a>

第二部分:建立偵聽

[oracle@server253 ~]$ netca

-bash: netca: command not found

檢視netca所在的路徑

[oracle@server253 bin]$ ls netca

netca

[oracle@server253 bin]$ pwd

/u01/app/oracle/product/10.2.0/db_1/bin

[oracle@server253 ~]$ vim .bash_profile

PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export PATH ORACLE_BASE ORACLE_SID    ORACLE_HOME                                                      

[oracle@server253 ~]$ source .bash_profile

<a href="https://s4.51cto.com/wyfs02/M00/9E/57/wKioL1mQbZzwWpmoAAIve2-9fFw100.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M02/9E/57/wKioL1mQbc6T0DCGAAIvcbU0B4E281.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M00/9E/57/wKioL1mQbc_QySohAAIQ0g_jiLQ862.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M01/9E/68/wKiom1mQbdDw8ZszAAIsZEEnDKo381.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/9E/57/wKioL1mQbdGijwfvAAIbWQPDFm4623.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/9E/68/wKiom1mQbdLRAuoeAAHwYcXBxiQ032.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M02/9E/68/wKiom1mQbdPiHdW8AAHrzkJHRSw488.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M02/9E/57/wKioL1mQbdSTtX8XAAJBh1REQ3U682.png" target="_blank"></a>

[oracle@server253 ~]$ lsnrctl status

[oracle@server253 ~]$ netstat -tunlp  |grep 1521

(Not all processes could be identified,  non-owned process info

 will not be shown, you would have to be root  to see it all.)

tcp         0      0 0.0.0.0:1521                0.0.0.0:*                   LISTEN      14633/tnslsnr      

第三部分:建立資料庫

------------建立資料庫-----dbca--

一是采用腳本的方式

二是采用圖形界面

[oracle@server253 ~]$ dbca

<a href="https://s4.51cto.com/wyfs02/M01/9E/57/wKioL1mQbiPyeKOQAAFaiBGkiao406.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M02/9E/57/wKioL1mQbmGQoc10AAFn1jS1Wx0071.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M01/9E/68/wKiom1mQbmKw_I3hAAE9pYgsYiM311.png" target="_blank"></a>

使用DBCA建立第一個資料庫:orcl 

全局資料庫名:資料庫名+域名

oracle sid:  執行個體名

預設執行個體名和資料庫名一樣,也可以不一樣

<a href="https://s3.51cto.com/wyfs02/M00/9E/68/wKiom1mQbmPSRdJBAAGBTPlGKeY974.png" target="_blank"></a>

enterprise manager (EM)

EM采用網頁形式對資料庫進行管理

有2種類型的EM:

一是采用GRID CONTROL-它可以管理多台主機以及多個資料庫,必須在主機上安裝agent

二是采用Database control 隻能管理一個資料庫

資料庫管理方式

1 grid control 預設不可選,原因:你沒有配置grid contol agent 

2 dbconsole 管理

<a href="https://s3.51cto.com/wyfs02/M00/9E/57/wKioL1mQbmOBPzIUAAGS2XjpaPk931.png" target="_blank"></a>

<a href="https://s1.51cto.com/wyfs02/M01/9E/57/wKioL1mQbmTQ_6vKAAGHrfCIEmQ561.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M01/9E/68/wKiom1mQbmWgPObfAAGhwslPmPI450.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M02/9E/68/wKiom1mQbmXzfpnmAAF7sb4c5yk294.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M02/9E/57/wKioL1mQbmagnmPsAAGABGFqZSE945.png" target="_blank"></a>

一定要選擇此模闆

<a href="https://s5.51cto.com/wyfs02/M01/9E/57/wKioL1mQbmaBsncBAAFeGHNfLXc623.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M02/9E/68/wKiom1mQbmfD7XHiAAGnErt7NeY135.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M00/9E/68/wKiom1mQbmjQfCVVAAHCTUoMV1I716.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M00/9E/57/wKioL1mQbmnRnBglAAESarJaJCk307.png" target="_blank"></a>

<a href="https://s4.51cto.com/wyfs02/M02/9E/57/wKioL1mQbmnjEmwAAAFqwP2WVoM721.png" target="_blank"></a>

<a href="https://s3.51cto.com/wyfs02/M00/9E/69/wKiom1mQbmqgaT3NAADSTCJWJkc324.png" target="_blank"></a>

<a href="https://s5.51cto.com/wyfs02/M01/9E/69/wKiom1mQbmuitSFwAAGlJWSeeM4437.png" target="_blank"></a>

<a href="https://s2.51cto.com/wyfs02/M00/9E/57/wKioL1mQbmuzuWaMAAFEq-9lUME043.png" target="_blank"></a>

檢視建立的資料庫資訊

[oracle@server253 orcl]$ ls

adump   bdump  cdump  dpdump   pfile  udump

[oracle@server253 orcl]$ pwd

/u01/app/oracle/admin/orcl

cd admin/執行個體名/            審計 跟蹤 警告日志

[oracle@server253 admin]$ cd orcl/bdump/

[oracle@server253 bdump]$ ls

alert_orcl.log  orcl_lgwr_16683.trc  orcl_lgwr_16778.trc  orcl_lgwr_16845.trc

cd /u01/app/oracle/oradata/執行個體名/    資料庫檔案

這裡十二個檔案要寫腳本

control01.ctl  example01.dbf  redo03.log    temp01.dbf

control02.ctl  redo01.log     sysaux01.dbf  undotbs01.dbf

control03.ctl  redo02.log     system01.dbf  users01.dbf

/u01/app/oracle/oradata/orcl

ps -elf |grep ora

[oracle@server253 dbs]$ ps -elf|grep ora

0 S root      3548  3523  0  78   0 -   494 stext  Aug13 ?        00:00:10 hald-addon-storage: polling /dev/scd0

4 S root      9164  6840  0  77   0 -  1230 wait   Aug13 pts/2    00:00:00 su - oracle

4 S oracle    9165  9164  0  76   0 -  1135 wait   Aug13 pts/2    00:00:00 -bash

4 S root      9261  9216  0  77   0 -  1230 wait   Aug13 pts/2    00:00:00 su - oracle

4 S oracle    9262  9261  0  75   0 -  1135 wait   Aug13 pts/2    00:00:00 -bash

4 S root      9893  9753  0  77   0 -  1230 wait   Aug13 pts/2    00:00:00 su - oracle

4 S oracle    9894  9893  0  75   0 -  1135 wait   Aug13 pts/2    00:00:00 -bash

4 S root     10010  9967  0  77   0 -  1230 wait   Aug13 pts/2    00:00:00 su - oracle

4 S oracle   10011 10010  0  75   0 -  1135 wait   Aug13 pts/2    00:00:00 -bash

4 S root     14109  4694  0  77   0 -  1230 wait   Aug13 pts/1    00:00:00 su - oracle

4 S oracle   14110 14109  0  76   0 -  1135 -      Aug13 pts/1    00:00:00 -bash

0 S oracle   14633     1  0  76   0 - 10567 stext  Aug13 ?        00:00:00 /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr LISTENER -inherit

0 S oracle   16837     1  0  78   0 - 250810 -     Aug13 ?        00:00:00 ora_pmon_orcl

0 S oracle   16839     1  0  78   0 - 250657 -     Aug13 ?        00:00:00 ora_psp0_orcl

0 S oracle   16841     1  0  78   0 - 250657 -     Aug13 ?        00:00:00 ora_mman_orcl

0 S oracle   16843     1  0  78   0 - 251174 -     Aug13 ?        00:00:00 ora_dbw0_orcl

0 S oracle   16845     1  0  76   0 - 254545 -     Aug13 ?        00:00:01 ora_lgwr_orcl

0 S oracle   16847     1  0  78   0 - 250781 -     Aug13 ?        00:00:03 ora_ckpt_orcl

0 S oracle   16849     1  0  77   0 - 251051 -     Aug13 ?        00:00:00 ora_smon_orcl

0 S oracle   16851     1  0  80   0 - 250657 -     Aug13 ?        00:00:00 ora_reco_orcl

0 S oracle   16853     1  0  75   0 - 251056 -     Aug13 ?        00:00:01 ora_cjq0_orcl

0 S oracle   16855     1  0  78   0 - 251353 -     Aug13 ?        00:00:00 ora_mmon_orcl

0 S oracle   16857     1  0  78   0 - 250657 -     Aug13 ?        00:00:00 ora_mmnl_orcl

0 S oracle   16859     1  0  78   0 - 250817 -     Aug13 ?        00:00:00 ora_d000_orcl

0 S oracle   16861     1  0  75   0 - 250809 -     Aug13 ?        00:00:00 ora_s000_orcl

0 S oracle   16866     1  0  79   0 - 250657 -     Aug13 ?        00:00:00 ora_qmnc_orcl

0 S oracle   17090     1  0  78   0 - 251063 -     Aug13 ?        00:00:02 ora_j000_orcl

0 S oracle   17811     1  0  75   0 - 251044 -     Aug13 ?        00:00:00 ora_q000_orcl

0 S oracle   17813     1  0  78   0 - 250656 -     Aug13 ?        00:00:00 ora_q001_orcl

0 S oracle   17856     1  0  75   0 -  2031 -      Aug13 pts/1    00:00:00 /u01/app/oracle/product/10.2.0/db_1/perl/bin/perl /u01/app/oracle/product/10.2.0/db_1/bin/emwd.pl dbconsole /u01/app/oracle/product/10.2.0/db_1/server253.oracle.com_orcl/sysman/log/emdb.nohup

0 S oracle   17881 17856  0  78   0 - 148091 stext Aug13 pts/1    00:00:29 /u01/app/oracle/product/10.2.0/db_1/jdk/bin/java -server -Xmx256M -XX:MaxPermSize=96m -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -DORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1 -Doracle.home=/u01/app/oracle/product/10.2.0/db_1/oc4j -Doracle.oc4j.localhome=/u01/app/oracle/product/10.2.0/db_1/server253.oracle.com_orcl/sysman -DEMSTATE=/u01/app/oracle/product/10.2.0/db_1/server253.oracle.com_orcl -Doracle.j2ee.dont.use.memory.archive=true -Djava.protocol.handler.pkgs=HTTPClient -Doracle.security.jazn.config=/u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_server253.oracle.com_orcl/config/jazn.xml -Djava.security.policy=/u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_server253.oracle.com_orcl/config/java2.policy -Djava.security.properties=/u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/home/config/jazn.security.props -DEMDROOT=/u01/app/oracle/product/10.2.0/db_1/server253.oracle.com_orcl -Dsysman.md5password=true -Drepapi.oracle.home=/u01/app/oracle/product/10.2.0/db_1 -Ddisable.checkForUpdate=true -Djava.awt.headless=true -jar /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/home/oc4j.jar -config /u01/app/oracle/product/10.2.0/db_1/oc4j/j2ee/OC4J_DBConsole_server253.oracle.com_orcl/config/server.xml

0 S oracle   18060     1  0  77   0 - 253384 -     Aug13 ?        00:00:03 oracleorcl (LOCAL=NO)

0 S oracle   18062     1  0  75   0 - 251086 -     Aug13 ?        00:00:01 oracleorcl (LOCAL=NO)

0 S oracle   18064     1  0  75   0 - 251348 -     Aug13 ?        00:00:05 oracleorcl (LOCAL=NO)

0 S oracle   19902 17856  0  77   0 - 14604 stext  Aug13 pts/1    00:00:03 /u01/app/oracle/product/10.2.0/db_1/bin/emagent

0 S oracle   19945     1  0  76   0 - 251627 -     Aug13 ?        00:00:02 oracleorcl (LOCAL=NO)

0 S oracle   19956     1  0  75   0 - 251093 -     Aug13 ?        00:00:01 oracleorcl (LOCAL=NO)

0 S oracle   24484     1  0  76   0 - 251073 -     Aug13 ?        00:00:00 oracleorcl (LOCAL=NO)

0 S oracle   24953     1  0  79   0 - 251081 -     00:00 ?        00:00:00 oracleorcl (LOCAL=NO)

0 S oracle   24957     1  0  78   0 - 251084 -     00:00 ?        00:00:00 oracleorcl (LOCAL=NO)

0 R oracle   25086 10011  0  77   0 -  1065 -      00:02 pts/2    00:00:00 ps -elf

0 R oracle   25087 10011  0  78   0 -   980 -      00:02 pts/2    00:00:00 grep ora

還多了一個檔案夾

[oracle@server253 ~]$ cd $ORACLE_HOME 

[oracle@server253 db_1]$ ls

assistants   has               log      oraInst.loc  server253.oracle.com_orcl

bin          hs                md       ord          slax

cdata        install           mesg     oui          sqlj

cfgtoollogs  install.platform  mgw      owm          sqlplus

clone        inventory         network  perl         srvm

config       javavm            nls      plsql        sysman

crs          jdbc              oc4j     precomp      uix

css          jdk               odbc     racg         wwg

ctx          jlib              olap     rdbms        xdk

dbs          jre               OPatch   relnotes

demo         ldap              opmn     root.sh

diagnostics  lib               oracore  root.sh.old

[oracle@server253 db_1]$ pwd

這裡的執行個體在啟動的時候,第一個讀到的是spfileorcl.ora檔案,一旦此檔案丢了,你的執行個體就崩啦,以後排錯,第一個要修複的檔案就是這個檔案

[oracle@server253 db_1]$ cd dbs

[oracle@server253 dbs]$ ls

hc_orcl.dat  initdw.ora  init.ora  lkORCL  orapworcl  spfileorcl.ora

[oracle@server253 dbs]$ 

如何證明建立資料庫成功

[oracle@server253 ~]$ sqlplus sys/oracle as sysdba

-bash: sqlplus: command not found

[oracle@server253 ~]$ vim .bash_profile 

export ORACLE_BASE ORACLE_SID ORACLE_HOME PATH

[oracle@server253 ~]$ source .bash_profile 

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 00:15:00 2017

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL&gt; 

方法一:

SQL&gt; select * from tab;

3643 rows selected.

方法二:

SQL&gt; shutdown abort

ORACLE instance shut down.

SQL&gt; exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

[oracle@server253 ~]$ sqlplus  sys/oracle as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 00:22:38 2017

Connected to an idle instance.

啟動過程中有三個過程

no mount

mount

open

如果三個過程都OK,那麼資料庫啟動成功

SQL&gt; startup

ORACLE instance started.

Total System Global Area  926941184 bytes

Fixed Size                  1222672 bytes

Variable Size             243271664 bytes

Database Buffers          679477248 bytes

Redo Buffers                2969600 bytes

Database mounted.

Database opened.

第四部分:oracle登入模式

1.資料庫的連   接方式介紹

oracle登入模式

連接配接基本使用

連接配接--

1、EM-企業化管理器(圖形管理)

2、isqlplus--(JAVA)

3、sqlplus

2.sys賬号登入

sqlplus賬号/密碼  as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 06:27:25 2017

3.sys賬戶采   用的是系統   身份驗證

例如:

[oracle@server253 ~]$ sqlplus xiaoming/oracle as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 06:29:53 2017

SQL&gt; show user

USER is "SYS"

是以系統賬号還可以這樣登入

[oracle@server253 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 06:31:08 2017

注:隻要你的oracle賬号可以登入到你的系統上面來,那麼你的SQL就可以登入

4.檢視目前登   錄的賬号

5.登出

SQL&gt; exit 

[oracle@server253 ~]$ 

6.普通賬号的   登入

oracle資料庫在建立的時候,提供三個賬号:

sys

scott

hr

scott賬号預設登入的時候,密碼為tiger,但是登入時候發現賬号被鎖定了

[oracle@server253 ~]$ sqlplus scott/tiger

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 06:44:42 2017

ERROR:

ORA-28000: the account is locked

Enter user-name: 

7.解鎖普通賬   号

[oracle@server253 ~]$ sqlplus / as sysdba

SQL&gt; alter user scott account unlock ;

User altered.

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 06:49:14 2017

ORA-28001: the password has expired

Changing password for scott

New password: 

Retype new password: 

Password changed

USER is "SCOTT"

8.修改普通賬   号密碼

SQL&gt; alter user scott identified by redhat;

注意:注意:使用者自己本身也可以修改自己的密碼,一般情況是不被允許的

9.同時解鎖和   修改密碼

SQL&gt; alter user scott account unlock identified by oracle;

alter user scott account unlock identified by oracle

                                              *

ERROR at line 1:

ORA-01031: insufficient privileges

SQL&gt; show user;

10.解鎖hr賬 号

sqlplus / as sysdba;

alter user hr account unlock identified by redhat;

exit

sqlplus hr/redhat;

show user;

11.使用者之間    的切換

----conn hr/redhat---- 切換到hr賬号上面

----conn / as sysdba-- 切換到sys賬号上面

---conn sys/oracle as sysdba---切換到sys賬号上面

SQL&gt; alter user hr account unlock identified by redhat;

SQL&gt; conn scott/oracle

Connected.

12.幫助檔案

--------------------------幫助-----------------------------------

---help index ---幫助索引

---?shutdown---- 查找shutdown的使用功能

---?set-----查找set的使用功能

SQL&gt; help index

Enter Help [topic] for help.

 @             COPY         PAUSE                    SHUTDOWN

 @@            DEFINE       PRINT                    SPOOL

 /             DEL          PROMPT                   SQLPLUS

 ACCEPT        DESCRIBE     QUIT                     START

 APPEND        DISCONNECT   RECOVER                  STARTUP

 ARCHIVE LOG   EDIT         REMARK                   STORE

 ATTRIBUTE     EXECUTE      REPFOOTER                TIMING

 BREAK         EXIT         REPHEADER                TTITLE

 BTITLE        GET          RESERVED WORDS (SQL)     UNDEFINE

 CHANGE        HELP         RESERVED WORDS (PL/SQL)  VARIABLE

 CLEAR         HOST         RUN                      WHENEVER OSERROR

 COLUMN        INPUT        SAVE                     WHENEVER SQLERROR

 COMPUTE       LIST         SET

 CONNECT       PASSWORD     SHOW

SQL&gt; ? shutdown

 SHUTDOWN

 --------

 Shuts down a currently running Oracle Database instance, optionally

 closing and dismounting a database.

 SHUTDOWN [ABORT|IMMEDIATE|NORMAL|TRANSACTIONAL [LOCAL]]

SQL&gt; ? set

 SET

 ---

 Sets a system variable to alter the SQL*Plus environment settings

 for your current session. For example, to:

     -   set the display width for data

     -   customize HTML formatting

     -   enable or disable printing of column headings

     -   set the number of lines per page

 In iSQL*Plus, you can also use the Preferences screen to set

 system variables.

 SET system_variable value

 where system_variable and value represent one of the following clauses:

   APPI[NFO]{OFF|ON|text}                   NUM[WIDTH] {10|n}

   ARRAY[SIZE] {15|n}                       PAGES[IZE] {14|n}

   AUTO[COMMIT] {OFF|ON|IMM[EDIATE]|n}      PAU[SE] {OFF|ON|text}

   AUTOP[RINT] {OFF|ON}                     RECSEP {WR[APPED]|EA[CH]|OFF}

   AUTORECOVERY {OFF|ON}                    RECSEPCHAR {_|c}

   AUTOT[RACE] {OFF|ON|TRACE[ONLY]}         SERVEROUT[PUT] {ON|OFF}

     [EXP[LAIN]] [STAT[ISTICS]]               [SIZE {n | UNLIMITED}] [FOR[MAT]

   BLO[CKTERMINATOR] {.|c|ON|OFF}             {WRA[PPED] |

   CMDS[EP] {;|c|OFF|ON}                       WOR[D_WRAPPED] |

   COLSEP {_|text}                             TRU[NCATED]}]

   CON[CAT] {.|c|ON|OFF}                   *SHIFT[INOUT] {VIS[IBLE] |

   COPYC[OMMIT] {0|n}                         INV[ISIBLE]}

   COPYTYPECHECK {ON|OFF}                  *SHOW[MODE] {OFF|ON}

   DEF[INE] {&amp;|c|ON|OFF}                   *SQLBL[ANKLINES] {OFF|ON}

   DESCRIBE [DEPTH {1|n|ALL}]               SQLC[ASE] {MIX[ED] |

     [LINENUM {OFF|ON}] [INDENT {OFF|ON}]     LO[WER] | UP[PER]}

   ECHO {OFF|ON}                           *SQLCO[NTINUE] {&gt; | text}

  *EDITF[ILE] file_name[.ext]              *SQLN[UMBER] {ON|OFF}

   EMB[EDDED] {OFF|ON}                      SQLPLUSCOMPAT[IBILITY] {x.y[.z]}

   ESC[APE] {\|c|OFF|ON}                   *SQLPRE[FIX] {#|c}

   FEED[BACK] {6|n|ON|OFF}                 *SQLP[ROMPT] {SQL&gt;|text}

   FLAGGER {OFF|ENTRY|INTERMED[IATE]|FULL}  SQLT[ERMINATOR] {;|c|ON|OFF}

  *FLU[SH] {ON|OFF}                        *SUF[FIX] {SQL|text}

   HEA[DING] {ON|OFF}                      *TAB {ON|OFF}

   HEADS[EP] {||c|ON|OFF}                  *TERM[OUT] {ON|OFF}

   INSTANCE [instance_path|LOCAL]          *TI[ME] {OFF|ON}

   LIN[ESIZE] {80|n} ({150|n} iSQL*Plus)    TIMI[NG] {OFF|ON}

   LOBOF[FSET] {1|n}                       *TRIM[OUT] {ON|OFF}

   LOGSOURCE [pathname]                    *TRIMS[POOL] {OFF|ON}

   LONG {80|n}                              UND[ERLINE] {-|c|ON|OFF}

   LONGC[HUNKSIZE] {80|n}                   VER[IFY] {ON|OFF}

   MARK[UP] HTML [OFF|ON]                   WRA[P] {ON|OFF}

     [HEAD text] [BODY text] [TABLE text]   XQUERY {BASEURI text|

     [ENTMAP {ON|OFF}]                        ORDERING{UNORDERED|

     [SPOOL {OFF|ON}]                                  ORDERED|DEFAULT}|

     [PRE[FORMAT] {OFF|ON}]                   NODE{BYVALUE|BYREFERENCE|

   NEWP[AGE] {1|n|NONE}                            DEFAULT}|

   NULL text                                  CONTEXT text}

   NUMF[ORMAT] format

 An asterisk (*) indicates the SET option is not supported in iSQL*Plus.

13.啟用曆史    記錄功能

---需要安裝rlwrap包----

因為是源碼包,是以有點麻煩

.gz結尾的包

是以gunzip rlwrap-0.37.tar.gz

rlwrap-0.37.tar

tar -xvf  rlwrap-0.37.tar

源代碼安裝其實是最簡單的,不用搭建yum倉庫

第一種方式:分兩步解開

隻要一步就可以解開帶.gz的壓縮包

tar -zxvf rlwrap-0.37.tar.gz

vim REDEAME   檢視安裝說明

搜尋

:/INSTALL

/INSTALL

源碼包安裝方式,需要兩步,其實下面就合成了一步

./configure; make install

需要root權限安裝rlwrap-0.37.tar

如果安裝不成功需要檢查這兩個軟體包是否有安裝

ls |grep readline

readline-5.1-3.el5.i386.rpm

readline-devel-5.1-3.el5.i386.rpm

rpm -qa|grep readline

ls |grep libter

libtermcap-2.0.8-46.1.i386.rpm

libtermcap-devel-2.0.8-46.1.i386.rpm

rpm -qa|grep libter

---------檢驗------------

selecct * from tab;

發現報錯,使用不了

因為rlwrap是安裝在linux系統上面的,是以每次使用的時候都必須告訴oracle系統

rlwrap sqlplus / as sysdba;

現在發現是可以上翻看,下檢視的

可以通過取别名來實作

alias sqlplus='rlwrap sqlplus'     不過這個是臨時的

要想要永久的生效需要在oracle家目錄下面配置.bash_profile檔案

ls -a

vim .bash_profile

alias sqlplus='rlwrap sqlplus'      添加這一項即可

儲存退出後source .bash_profile

第五部分:oracle下面的文本編輯器

為解決這個問題

SQL&gt; select ename,sal,hiredata

  2  from emp

  3  where sal=800

  4  ;

select ename,sal,hiredata

                 *

ORA-00904: "HIREDATA": invalid identifier

------需要修改編輯器------

EDITOR=vim

export   EDITOR

source .bash_profile 

敲一個ed,進行糾正編輯

SQL&gt; ed

Wrote file afiedt.buf

  1  select ename,sal,hiredate

  3* where sal=800

或者

  4  /

ENAME             SAL HIREDATE

---------- ---------- ---------

SMITH             800 17-DEC-80

SQL&gt; /

!也可以退出oracle資料庫

l列出oracle資料裡面的緩存資訊

scott模式下面所有的對象

scott這人賬号裡面一共有四個對象

這裡的對象叫表

TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

DEPT                           TABLE

EMP                            TABLE

BONUS                          TABLE

SALGRADE                       TABLE

得到表裡面産生的資訊

SQL&gt; select * from EMP

  2  ;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM

---------- ---------- --------- ---------- --------- ---------- ----------

    DEPTNO

----------

      7369 SMITH      CLERK           7902 17-DEC-80        800

        20

      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300

        30

      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500

      7566 JONES      MANAGER         7839 02-APR-81       2975

      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400

      7698 BLAKE      MANAGER         7839 01-MAY-81       2850

      7782 CLARK      MANAGER         7839 09-JUN-81       2450

        10

      7788 SCOTT      ANALYST         7566 19-APR-87       3000

      7839 KING       PRESIDENT            17-NOV-81       5000

      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0

      7876 ADAMS      CLERK           7788 23-MAY-87       1100

      7900 JAMES      CLERK           7698 03-DEC-81        950

      7902 FORD       ANALYST         7566 03-DEC-81       3000

      7934 MILLER     CLERK           7782 23-JAN-82       1300

14 rows selected.

我現在想要知道EMP裡面有哪些列?

從emp表裡面得到了8個列

SQL&gt; desc emp

 Name                                      Null?    Type

 ----------------------------------------- -------- ----------------------------

 EMPNO                                     NOT NULL NUMBER(4)

 ENAME                                              VARCHAR2(10)

 JOB                                                VARCHAR2(9)

 MGR                                                NUMBER(4)

 HIREDATE                                           DATE

 SAL                                                NUMBER(7,2)

 COMM                                               NUMBER(7,2)

 DEPTNO                                             NUMBER(2)

SQL&gt; select empno,ename,sal from emp;

/    通過/可以再次執行一遍

-------------如何永久的儲存--------

SQL&gt; select ename,sal from emp;

SQL&gt; save /u01/a.sql

Created file /u01/a.sql

注意儲存一定要儲存絕對路徑

------------如何調用儲存的腳步----------

第一種方法:@/u01/a.sql     就可以直接的調出來

第二鐘方法:start /u01/a.sql

-------将儲存的指令調到緩存但是不執行-------

SQL&gt; get /u01/b.sql

  1  select ename,sal

  3* where sal=3000

get調出來,但是不執行

----------------我想要臨時的切換到linux環境下面怎麼辦-----------------------

! 就可以到linux環境

exit 從linux環境又切換到oracle環境

----------------直接退出oracle環境--------------

exit   在oracle環境下面直接的輸入exit就可以直接的退出oracle環境

host和!功能一樣

---------在不退出oracle的環境下删除u01下面的a.sql--------

SQL&gt; rm -rf /u01/a.sql

SP2-0734: unknown command beginning "rm -rf /u0..." - rest of line ignored.

---在前面添加一個感歎号即可完成-----

SQL&gt; ! rm -rf /u01/a.sql

SQL&gt; ! ls /u01

10201_database_linux32.zip  app    database            rlwrap-0.37.tar.gz.bak

afiedt.buf                  b.sql  rlwrap-0.37.tar.gz

SQL&gt; ! mkdir /u01/aa

SQL&gt; ! ls -l /u01

total 654232

-rwxr-xr-x 1 oracle oinstall 668734007 Nov  6  2009 10201_database_linux32.zip

drwxr-xr-x 2 oracle oinstall      4096 Aug 13 00:48 aa

-rw-r--r-- 1 oracle oinstall        43 Aug 13 00:33 afiedt.buf

drwxr-xr-x 3 oracle oinstall      4096 Aug  8 22:38 app

-rw-r--r-- 1 oracle oinstall        43 Aug 13 00:32 b.sql

drwxr-xr-x 6 oracle oinstall      4096 Jul  3  2005 database

-rwxrw-rw- 1 root   root        251438 Nov 19  2011 rlwrap-0.37.tar.gz

-rwxr--r-- 1 root   root        251438 Aug 12 21:55 rlwrap-0.37.tar.gz.bak

---------------要求是把查詢使用的指令加上查詢的結果全部都儲存下來----------------

SQL&gt; spool /u01/a.txt

SQL&gt; select ename from emp;

ENAME

SMITH

ALLEN

WARD

JONES

MARTIN

BLAKE

CLARK

SCOTT

KING

TURNER

ADAMS

JAMES

FORD

MILLER

SQL&gt; spool off       結果大功告成

SQL&gt; !

[oracle@server253 u01]$ ls

10201_database_linux32.zip  app    database

aa                          a.txt  rlwrap-0.37.tar.gz

afiedt.buf                  b.sql  rlwrap-0.37.tar.gz.bak

[oracle@server253 u01]$ vim a.txt

[oracle@server253 u01]$ 

vim a.txt

 本文轉自 vbers 51CTO部落格,原文連結:http://blog.51cto.com/vbers/1955997,如需轉載請自行聯系原作者