Linux下面oracle环境的搭建

标题:Linux下面oracle环境的搭建


主题:


Oracle数据库环境准备


第一部分:安装oracle软件包


1.安装

VMware Tools


安装vmware-tools工具

步骤1、点击---->虚拟机----->安装Vmware Tools

步骤2、df -h

[[email protected] ~]# 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

[[email protected] ~]# 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

/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

ls

步骤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

3.配置yum仓   库
  1. 点击虚拟机---->设置----->CD\DVD(SATA)---->使用ISO映像文件(M)---->

设备状态---->勾选上已连接

df -h

mount /dev/scd0 /mnt/

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

[[email protected] ~]rpm -qa|grep compat-db

[[email protected] ~]# yum -y install  compat-db

[[email protected] ~]# rpm -qa|grep pdksh

[[email protected] ~]# yum -y install pdksh

[[email protected] ~]# rpm -qa|grep sysstat

[[email protected] ~]# 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

  1. vim /etc/sysconfig/network
  2. system-config-securitylevel


6.配置名称解   析


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


7. 创建安装软    件需要账户    名和组

8. 判断nobody    是否存在


Creating Required Operating System Groups  and Users

创建三个用户

[[email protected] ~]# useradd dba

[[email protected] ~]# useradd oinstall

[[email protected] ~]# useradd oper

[[email protected] ~]# id oracle

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

将用户加入到组

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

[[email protected] ~]# id 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

[[email protected] ~]# 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系统中可以打开的文件数量

[[email protected] ~]# 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

[[email protected] ~]# source .bash_profile


13.准备安装介    质


a,如何将安装介质上传到linux

b,tool

c,使用root上传,使用解压,查看权限

unzip  包名

chown  -R oracle:oinstall /u01

chmod  -R 775 /u01


14. su -

oracle


[[email protected] ~]$ su - root

[[email protected] ~]# xhost +

access control disabled, clients can  connect from any host

[[email protected] ~]# su - oracle

[[email protected] ~]$ xclock


15.

安装你的数据库软件

16.安装过程要    做的事情


[[email protected] ~]$ cd /u01/database/

[[email protected] database]$  ./runInstaller

a,vim /home/oracle/.base_profile


umask 022

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

[[email protected] ~]$ source  .bash_profile

[[email protected] ~]$ cd /u01/database/

[[email protected] database]$  ./runInstaller

[[email protected] /]#  /u01/app/oracle/oraInventory/orainstRoot.sh

[[email protected] /]#  /u01/app/oracle/product/10.2.0/db_1/root.sh



第二部分:创建侦听




[[email protected] ~]$ netca

-bash: netca: command not found

查看netca所在的路径

[[email protected] bin]$ ls netca

netca

[[email protected] bin]$ pwd

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

[[email protected] ~]$ vim .bash_profile


umask 022

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

ORACLE_SID=orcl

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

export PATH ORACLE_BASE ORACLE_SID    ORACLE_HOME

[[email protected] ~]$ source .bash_profile

[[email protected] ~]$ netca

[[email protected] ~]$ lsnrctl status

[[email protected] ~]$ 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--

一是采用脚本的方式

二是采用图形界面

[[email protected] ~]$ dbca

使用DBCA创建第一个数据库:orcl

全局数据库名:数据库名+域名

oracle sid:  实例名

默认实例名和数据库名一样,也可以不一样

enterprise manager (EM)

EM采用网页形式对数据库进行管理

有2种类型的EM:

一是采用GRID CONTROL-它可以管理多台主机以及多个数据库,必须在主机上安装agent

二是采用Database control 只能管理一个数据库

数据库管理方式

1 grid control 默认不可选,原因:你没有配置grid contol agent

2 dbconsole 管理

一定要选择此模板


查看创建的数据库信息

[[email protected] orcl]$ ls

adump   bdump  cdump  dpdump   pfile  udump

[[email protected] orcl]$ pwd

/u01/app/oracle/admin/orcl

cd admin/实例名/            审计 跟踪 警告日志

[[email protected] admin]$ cd orcl/bdump/

[[email protected] bdump]$ ls

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

cd /u01/app/oracle/oradata/实例名/    数据库文件

这里十二个文件要写脚本

[[email protected] orcl]$ ls

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

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

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

[[email protected] orcl]$ pwd

/u01/app/oracle/oradata/orcl

ps -elf |grep ora

[[email protected] 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

还多了一个文件夹

[[email protected] ~]$ cd $ORACLE_HOME

[[email protected] 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

[[email protected] db_1]$ pwd

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

这里的实例在启动的时候,第一个读到的是spfileorcl.ora文件,一旦此文件丢了,你的实例就崩啦,以后排错,第一个要修复的文件就是这个文件

[[email protected] db_1]$ cd dbs

[[email protected] dbs]$ ls

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

[[email protected] dbs]$

如何证明创建数据库成功
[[email protected] ~]$ sqlplus sys/oracle as sysdba

-bash: sqlplus: command not found

[[email protected] ~]$ vim .bash_profile

umask 022

ORACLE_BASE=/u01/app/oracle

ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

ORACLE_SID=orcl

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

export ORACLE_BASE ORACLE_SID ORACLE_HOME PATH

[[email protected] ~]$ source .bash_profile

[[email protected] ~]$ sqlplus sys/oracle as sysdba

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>

方法一:

SQL> select * from tab;

3643 rows selected.

方法二:

SQL> shutdown abort

ORACLE instance shut down.

SQL> exit

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

With the Partitioning, OLAP and Data Mining options

[[email protected] ~]$ sqlplus  sys/oracle as sysdba

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

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

Connected to an idle instance.

SQL>

启动过程中有三个过程

  1. no mount
  2. mount
  3. open

如果三个过程都OK,那么数据库启动成功

SQL> 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.

SQL>


第四部分:oracle登录模式

1.数据库的连   接方式介绍
oracle登录模式

连接基本使用

  1. 连接--

1、EM-企业化管理器(图形管理)

2、isqlplus--(JAVA)

3、sqlplus

2.sys账号登录
sqlplus账号/密码  as sysdba

[[email protected] ~]$ sqlplus sys/oracle as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 06:27:25 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>

3.sys账户采   用的是系统   身份验证
例如:

[[email protected] ~]$ sqlplus xiaoming/oracle as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 06:29:53 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> show user

USER is "SYS"

SQL>

所以系统账号还可以这样登录

[[email protected] ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Aug 14 06:31:08 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>

注:只要你的oracle账号可以登录到你的系统上面来,那么你的SQL就可以登录

4.查看当前登   录的账号
SQL> show user

USER is "SYS"

5.退出登录
SQL> exit

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

With the Partitioning, OLAP and Data Mining options

[[email protected] ~]$

6.普通账号的   登录
oracle数据库在创建的时候,提供三个账号:

sys

scott

hr

scott账号默认登录的时候,密码为tiger,但是登录时候发现账号被锁定了

[[email protected] ~]$ sqlplus scott/tiger

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

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

ERROR:

ORA-28000: the account is locked

Enter user-name:

7.解锁普通账   号
[[email protected] ~]$ sqlplus / as sysdba

SQL> show user

USER is "SYS"

SQL> alter user scott account unlock ;

User altered.

[[email protected] ~]$ sqlplus scott/tiger

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

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

ERROR:

ORA-28001: the password has expired

Changing password for scott

New password:

Retype new password:

Password changed

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL> show user

USER is "SCOTT"

SQL>

8.修改普通账   号密码
SQL> show user

USER is "SCOTT"

SQL> alter user scott identified by redhat;

User altered.

注意:注意:用户自己本身也可以修改自己的密码,一般情况是不被允许的

9.同时解锁和   修改密码
SQL> 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> show user;

USER is "SYS"

SQL> alter user scott account unlock identified by oracle;

User altered.

SQL>

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> show user

USER is "SYS"

SQL> alter user hr account unlock identified by redhat;

User altered.

SQL> show user;

USER is "SYS"

SQL> conn scott/oracle

Connected.

SQL> show user;

USER is "SCOTT"

SQL>

12.帮助文件
--------------------------帮助-----------------------------------

---help index ---帮助索引

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

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

SQL> 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> ? shutdown

SHUTDOWN

--------

Shuts down a currently running Oracle Database instance, optionally

closing and dismounting a database.

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

SQL> ? 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] {&|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] {> | 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>|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

./configure; make install

如果安装不成功需要检查这两个软件包是否有安装

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

---------检验------------

su - oracle

sqlplus / as sysdba;

selecct * from tab;

exit

发现报错,使用不了

因为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> select ename,sal,hiredata

2  from emp

3  where sal=800

4  ;

select ename,sal,hiredata

*

ERROR at line 1:

ORA-00904: "HIREDATA": invalid identifier

------需要修改编辑器------

su - oracle

vim .bash_profile

EDITOR=vim

export   EDITOR

source .bash_profile

SQL> conn scott/oracle

Connected.

SQL> show user

USER is "SCOTT"

SQL> select ename,sal,hiredata

2  from emp

3  where sal=800

4  ;

select ename,sal,hiredata

*

ERROR at line 1:

ORA-00904: "HIREDATA": invalid identifier

敲一个ed,进行纠正编辑

SQL> ed

Wrote file afiedt.buf

1  select ename,sal,hiredate

2  from emp

3* where sal=800

4  ;

或者

SQL> ed

Wrote file afiedt.buf

1  select ename,sal,hiredate

2  from emp

3* where sal=800

4  /

ENAME             SAL HIREDATE

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

SMITH             800 17-DEC-80

SQL>

SQL> /

ENAME             SAL HIREDATE

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

SMITH             800 17-DEC-80

SQL>

!也可以退出oracle数据库

l列出oracle数据里面的缓存信息

scott模式下面所有的对象

scott这人账号里面一共有四个对象

这里的对象叫表

SQL> /

TNAME                          TABTYPE  CLUSTERID

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

DEPT                           TABLE

EMP                            TABLE

BONUS                          TABLE

SALGRADE                       TABLE

得到表里面产生的信息

SQL> 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

30

EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM

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

DEPTNO

----------

7566 JONES      MANAGER         7839 02-APR-81       2975

20

7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400

30

7698 BLAKE      MANAGER         7839 01-MAY-81       2850

30

EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM

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

DEPTNO

----------

7782 CLARK      MANAGER         7839 09-JUN-81       2450

10

7788 SCOTT      ANALYST         7566 19-APR-87       3000

20

7839 KING       PRESIDENT            17-NOV-81       5000

10

EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM

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

DEPTNO

----------

7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0

30

7876 ADAMS      CLERK           7788 23-MAY-87       1100

20

7900 JAMES      CLERK           7698 03-DEC-81        950

30

EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM

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

DEPTNO

----------

7902 FORD       ANALYST         7566 03-DEC-81       3000

20

7934 MILLER     CLERK           7782 23-JAN-82       1300

10

14 rows selected.

我现在想要知道EMP里面有哪些列?

从emp表里面得到了8个列

SQL> 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>

SQL> select empno,ename,sal from emp;

/    通过/可以再次执行一遍

-------------如何永久的保存--------

SQL> select ename,sal from emp;

SQL> save /u01/a.sql

Created file /u01/a.sql

注意保存一定要保存绝对路径

------------如何调用保存的脚步----------

第一种方法:@/u01/a.sql     就可以直接的调出来

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

-------将保存的命令调到缓存但是不执行-------

SQL> get /u01/b.sql

1  select ename,sal

2  from emp

3* where sal=3000

get调出来,但是不执行

----------------我想要临时的切换到linux环境下面怎么办-----------------------

! 就可以到linux环境

exit 从linux环境又切换到oracle环境

----------------直接退出oracle环境--------------

exit   在oracle环境下面直接的输入exit就可以直接的退出oracle环境

host和!功能一样

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

SQL> rm -rf /u01/a.sql

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

SQL>

---在前面添加一个感叹号即可完成-----

SQL> ! rm -rf /u01/a.sql

SQL> ! ls /u01

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

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

SQL>

SQL> ! mkdir /u01/aa

SQL> ! 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>

---------------要求是把查询使用的命令加上查询的结果全部都保存下来----------------

SQL> spool /u01/a.txt

SQL> select ename from emp;

ENAME

----------

SMITH

ALLEN

WARD

JONES

MARTIN

BLAKE

CLARK

SCOTT

KING

TURNER

ADAMS

ENAME

----------

JAMES

FORD

MILLER

14 rows selected.

SQL> spool off       结果大功告成

SQL> !

[[email protected] 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

[[email protected] u01]$ vim a.txt

[[email protected] u01]$

vim a.txt

时间: 2024-08-24 13:37:35

Linux下面oracle环境的搭建的相关文章

Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1

交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux-gcc的区别,gcc是x86架构的C语言编译器,编译出来的程序在本地执行,而arm-linux-gcc是跨平台的C语言编译 器,编译出来的程序在目标班上执行,嵌入式开发应该使用交叉编译工具链,下面给出详细的 Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1安

linux之lamp环境的搭建

linux之lamp环境的搭建 1.安装lamp环境的安装工具 我们的lamp环境都是采用源码包进行编译安装: 编译安装需要工具gcc gcc-c++. 建议在线联网安装:yum  -install -y gcc  gcc-c++ (安装多个用空格隔开即可) 测试有没有安装成功,在命令行输入gcc --version测试,出现以下界面代表安装成功: 2.使用ftp服务把lamp所需要的源码包上传linux中 这里采用ftp服务来上传: 使用ls  /home/wei看有没有上传成功: 3.lam

Linux 下java环境的搭建

1,准备好相应的jdk,tomcat 的安装包  (版本与linux的操作系统位数 一致) 查看linux 的操作系统位数 file /sbin/init--->/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped===>代表你的操作系统是64位 如果是aix系统   查看方

linux下LAMP环境的搭建

LAMP=mysql+appache+php,搭建lamp必须按步骤,先mysql再appahe,最后才是PHP 1.mysql安装 本文mysql 用的是二进制源码包(提供二个镜像免费下载点:A:https://github.com/aminglinux/resource/wiki B:http://mirrors.sohu.com/?qq-pf-to=pcqq.c2c) 首先下载二进制包:mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz包 (X86是64位系

[Linux] PHP程序员玩转Linux系列-lnmp环境的搭建

1.PHP程序员玩转Linux系列-怎么安装使用CentOS 在平常的工作中,我作为PHP程序员经常要搭建一下环境,这个环境就是Linux系统下安装nginx,php,mysql这三个软件,对软件进行配置,然后在浏览器上能够正常打开运行查看项目.CentOS中安装软件有好几种方式,我经常用的是包安装方式,因为这种非常简单一句命令就能安装成功,这也是与windows下安装软件最大的不同点.包安装方式就一个关键单词就是yum. 解决找不到nginx包的问题 我先安装一下web服务器nginx,按好这

Linux下oracle环境变量无效问题

今天在维护oracle数据库时,查看监听的状态,执行 #lsnrctl status 报错: -bash:lsnrctl:command not found.以前并不会这样,仔细想了一下,问题找到了,我是以root远程登录到服务器上,维护oracle时,直接 su oracle,这样操作虽然用户切换为oracle,但是环境变量仍然是root的环境变量,所以会报环境变量错误,正确的命令是su - oracle,这样环境变量也会切换为oracle的环境变量.看一下 su 命令的 man page N

linux下LNMP环境的搭建

lamp=linux+apache+mysql+php; lnmp=Linux+nginx+mysql+php 他们的区别在于apache和nginx和php结合的模式不同,我们讲的这两个架构中,php在编译的时候以一个模块的形式和apache成为了一个整体,这种情况下我们是可以把php的安装目录/usr/local/php删除的.而lnmp中的php启动了一个服务php-fpm,这种模式相当于nginx处理php脚本时,直接把请求转发给了php-fpm,说白了就是一个代理.这个php的安装目录

Linux下Oracle数据库的搭建(新手)

最近由于需要安装了几台服务器 ,由于网上找不到一些过程中遇到的问题,所以把解决方法写出来吧 ! 首先安装数据库服务器  如题装的是Oracle   系统环境是Redhat 6.5 x86 64位虚拟化服务器    首先 要确定需要安装 的版本  我们要求的是11g  最新的是12c 硬件要求 物理内存至少2G 查看命令: grep MemTotal /proc/meminfo 交换分区:至少1G,最好是物理内存的2倍 查看命令: grep SwapTotal /proc/meminfo 硬盘空闲

Linux下自动化测试环境的搭建

1.安装Linux虚拟机,详情参考  https://blog.csdn.net/qq_22770715/article/details/78558374     https://www.cnblogs.com/Q277227/p/8176564.html 1.1   需要确定IP  ,使用 ifconfig 1.2  linux的用户名跟密码: 1.3   确定可以远程ssh登录: 1.4  确定防火墙处于关闭状态 service iptables stop  用户关闭防火墙: 2.java