Linux下 Oracle 10g安装文档

 

安装准备

1、 系统环境需求,服务器安装Oracle,所以系统配置我们不用担心,直接看下一步吧。

2、 检查Oracle依赖的程序包是否安装。Oracle 10g依赖如下程序包:

 
 

make gcc glibc glibc-devel compat-db45(Fedora)或compat-db(Redhat)

 

compat-gcc-34 compat-gcc-34-c++ compat-libstdc++-33

 

libaio-devel libaio libXp binutils openmotif setarch

 

测试一下:(以Redhat5为例)

 
 

[root@localhost ~]# rpm -q make gcc  glibc glibc-devel compat-db compat-gcc-34 compat-gcc-34-c++  compat-libstdc++-33 libaio-devel libaio libXp binutils openmotif setarch

 

make-3.81-3.el5

 

gcc-4.1.2-46.el5

 

glibc-2.5-42

 

glibc-devel-2.5-42

 

compat-db-4.2.52-5.1

 

compat-gcc-34-3.4.6-4

 

compat-gcc-34-c++-3.4.6-4

 

compat-libstdc++-33-3.2.3-61

 

libaio-devel-0.3.106-3.2

 

libaio-0.3.106-3.2

 

libXp-1.0.0-8.1.el5

 

binutils-2.17.50.0.6-12.el5

 

openmotif-2.3.1-2.el5

 

setarch-2.0-1.1

 

如果出现“package XXX is not installed”,则有两种途径来寻找该程序包,一种可以在系统安装盘中找到;二是可以去http://rpm.pbone.net/http://rpmfind.net/linux/RPM/index.html搜索下载相应的包来安装,安装时如果有很多依赖包可以选择 rpm -ivh xxxxx.rpm -nodeps -force命令强制安装。

3、 创建用户及组。oracle 安装需要两个unix用户组和一个运行时的oracle用户。

 
 

$su – root // 使用root用户权限

 

#groupadd dba // 数据库系统管理组

 

#groupadd oinstall //Oracle 文件所有者的组

 

#useradd -g oinstall -G dba -m -s /bin/bash oracle //-g  指定用户所属的群组, -G 附加群组, -m 自动建立用户的登入目录, -s 登录后使用的 shell

 

#passwd oracle

 

- 创建 Oracle 应用程序的目录

 

#mkdir -p /data/oracle/product/10.2.0/

 

#chown -R oracle.oinstall /data/oracle

 

4、 设置内核参数。修改/etc/sysctl.conf文件

 
 

kernel.shmmax = 2147483648 // 定义单个进程能够使用的共享内存段的最大尺寸,默认值为  32MB ,该值太低,通常设置为 2G 。可以根据机器的内存做相应调整。

 

kernel.shmmni = 4096 // 设置系统范围内共享内存段的最大个数,默认值是 4096 ,不需要修改。注意这里不是 shmmin

 

kernel.shmall = 2097152

 

kernel.sem = 250 32000 100 128 // 设置的信号量

 

fs.file-max = 65536

 

net.ipv4.ip_local_port_range = 1024 65000

 

net.core.rmem_default = 262144

 

net.core.rmem_max = 262144

 

net.core.wmem_default = 262144

 

net.core.wmem_max = 262144

 

采用下面命令,是内核参数设置生效。

 
 

[root@localhost ~]# /sbin/sysctl –p

 

net.ipv4.ip_forward = 0

 

net.ipv4.conf.default.rp_filter = 1

 

net.ipv4.conf.default.accept_source_route = 0

 

kernel.sysrq = 0

 

kernel.core_uses_pid = 1

 

net.ipv4.tcp_syncookies = 1

 

kernel.msgmnb = 65536

 

kernel.msgmax = 65536

 

kernel.shmmax = 2147483648

 

kernel.shmall = 268435456

 

kernel.sem = 250 32000 100 128

 

fs.file-max = 65536

 

net.ipv4.ip_local_port_range = 1024 65000

 

net.core.rmem_default = 262144

 

net.core.rmem_max = 262144

 

net.core.wmem_default = 262144

 

net.core.wmem_max = 262144

 

修改/etc/security/limits.conf文件,修改资源限制。

 
 

oracle soft nofile 65536 //nofile 表示可以同时打开的最大文件数

 

oracle hard nofile 65536

 

oracle soft nproc 16384 //noproc 表示单个用户同时可以执行的最大进程数量

 

oracle hard nproc 16384

 

5、伪装系统。oracle直接支持的是suse, redhat等的较低版本,这一点也可以从直接安装的提示看到。把原来的内容行注释掉,等安装完成后再改回来。

把原来的内容直接删除掉

 
 

# vi /etc/redhat-release

 

# Red Hat Enterprise Linux Server release 5.3 (Tikanga)

 

redhat-4

 

6、设置Oracle环境变量注:以上配置在 root 用户下进行,以下配置切换到 oracle 用户下进行

修改~/.bash_profile文件或~/.bashrc文件都可以(想要知道两者的区别吗?呵呵,建议百度一下。)

 
 

# -------------------oracle environment setup-----------------

 

export ORACLE_BASE=/data/oracle

 

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

 

export ORACLE_SID=ORCL(这里SID设置为ORCL,注意是大写,那么在下面的silent安装配置时,也要大写)

 

export ORACLE_TERM=xterm

 

export PATH=$ORACLE_HOME/bin:$PATH:/usr/sbin

 

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

 

# -------------------setup end-----------------

 

安装Oracle 10g

安装Oracle有两种方法,一种是图形界面安装,这种方法使用于已经安装了图形界面的Linux系统,优点是傻瓜式安装,方便简单;另一种安装方式是采用文本方式安装,即silent安装模式,这种方法适用于并未安装图形界面的Linux操作系统。目前企业大型的Linux服务器通常都摒弃用户界面,所以silent安装方法也是我们需要掌握的。

1、图形界面安装

在安装之前需要设置安装语言,通常设置为英文。

   
 

$ export LANG=en_US   

 
 

/etc/hosts 不是127.0.0.1  改成固定IP

 

 

 

切换到安装文件件,输入命令:

 
 

$./runInstaller

 

此时,就好弹出Oracle安装向导,可以发现与windows下安装Oracle并无差别。

※可能发出的错误

 
 

在图形界面安装时,可能发生下面这个错误:

 

java.lang.InternalError: Can't connect to X11 window server using ':0.0'  as the value of the DISPLAY variable

 

解决方法:

 

使用oracle用户权限,进入~/.bashrc文件,增加环境变量:

 

export JAVA_OPTS = -Djava.awt.headless=true

 

2、文本安装(Silent安装)

Silent安装需要配置两个静态文本文件。把10201_database_linux32.zip文件解压后 得到database目录,/data/database/response下有enterprise.rsp、standard.rsp和custom.rsp三个应答文件,分别对应企业版、标准版和定制的安装。我们以enterprise.rsp为例.复制enterprise.rsp重命名为myinst.rsp。

详细配置如下

 
 

UNIX_GROUP_NAME="oinstall"
  ORACLE_HOME_NAME="OraDb10g_home1"
  ORACLE_HOME="/data/oracle/product/10.2.0/db_1"(oracle安装的绝对路径)
  SHOW_INSTALL_PROGRESS_PAGE= true
  SHOW_END_OF_INSTALL_MSGS= true
  COMPONENT_LANGUAGES={"zh_CN"}
  s_nameForDBAGrp= "dba"
  s_nameForOPERGrp="dba"
  INSTALL_TYPE="EE"
  n_configurationOption=3
  RESTART_SYSTEM=false
  RESTART_REMOTE_SYSTEM=false

 

s_dbSid= "ORCL"(这里要和之前设置的环境变量SID一致)

 

s_dbRetChar="ZHS16GBK"(支持中文存取)

 

换oracle用户登录:注意文件位置视自己刚刚修改的文件位置而定

 
 

./runInstaller -silent -responseFile/data/database/response/myinst.rsp(绝对路径)

 

提示安装成功后,接下来按操作,换root身份登录

 
 

/data/oracle/oraInventory/orainstRoot.sh
  /data/oracle/product/10.2.0/db_1/root.sh

 

如此这般,数据库就算安装成功了,但是并没有完,下面需要增加数据库实例。复制安装文件夹database/response下册dbca.rsp并重命名为mydbca.rsp.修改mydbca.rsp根据数据库建立方式的不同编辑不同的数据库库选项。

详细配置如下

 
 

RESPONSEFILE_VERSION = "10.2.0"
  OPERATION_TYPE = "createDatabase"
  GDBNAME = "ORCL"
  SID = " ORCL "
  TEMPLATENAME = "New_Database.dbt"
  SYSPASSWORD = "password"
  SYSTEMPASSWORD = " password "
  DATAFILEDESTINATION ="/data/oracle/oradata/"
  RECOVERYAREADESTINATION="/data/oracle/flash_recovery_area"
  STORAGETYPE=FS
  CHARACTERSET = "UTF8"

 

NATIONALCHARACTERSET= "UTF8"
  MEMORYPERCENTAGE = "40"
  SCRIPTDESTINATION ="/data/oracle/admin/ora10g/scripts"
  EMCONFIGURATION=”LOCAL”
  SYSMANPASSWORD = " password "
  DBSNMPPASSWORD = " password "

 

下面就可以开始SILENT模式的数据库创建了。

 
 

dbca -silent -responseFile /data/database/response/mydbca.rsp(绝对路径)

 

至此,oracle的silent安装就算结束了。那么,Oracle是否安装成功了呢?说实话,我心里也没有底,接下来需要测试一下数据库,检查是否安装成功了。

数据库测试

检查Oracle数据库是否已经安装成功,主要检查两个方面:

1、 启动监听,打开数据库实例,能否成功?

2、 在客户端采用PL/SQL连接数据库,能否连接成功?

修改监听配置文件/data/oracle/product/10.2.0/db_1/network/admin/listener.ora

 
 

SID_LIST_LISTENER =

 

(SID_LIST =

 

(SID_DESC =

 

(SID_NAME = PLSExtProc)

 

(ORACLE_HOME = /data/oracle/product/10.2.0/db_1)

 

(PROGRAM = extproc)

 

)

 

(SID_DESC =

 

(GLOBAL_DBNAME = ORCL)

 

(ORACLE_HOME = /data/oracle/product/10.2.0/db_1)

 

(SID_NAME = ORCL)

 

)

 

)

 

LISTENER =

 

(DESCRIPTION_LIST =

 

(DESCRIPTION =

 

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

 

(ADDRESS = (PROTOCOL = TCP)(HOST = 59.64.194.112)(PORT  = 1521))

 

)

 

)

 

启动监听:

 
 

$ lsnrctl start

 

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 27-NOV-2010  09:06:38

 

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

 

Starting /data/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

 

TNSLSNR for Linux: Version 10.2.0.1.0 - Production

 

System parameter file is  /data/oracle/product/10.2.0/db_1/network/admin/listener.ora

 

Log messages written to  /data/oracle/product/10.2.0/db_1/network/log/listener.log

 

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))

 

Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=59.64.194.112)(PORT=1521)))

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))

 

STATUS of the LISTENER

 

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

 

Alias LISTENER

 

Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production

 

Start Date 27-NOV-2010 09:06:38

 

Uptime 0 days 0 hr. 0 min. 0 sec

 

Trace Level off

 

Security ON: Local OS Authentication

 

SNMP OFF

 

Listener Parameter File  /data/oracle/product/10.2.0/db_1/network/admin/listener.ora

 

Listener Log File /data/oracle/product/10.2.0/db_1/network/log/listener.log

 

Listening Endpoints Summary...

 

(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))

 

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=59.64.194.112)(PORT=1521)))

 

Services Summary...

 

Service "PLSExtProc" has 1 instance(s).

 

Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for  this service...

 

Service "orcl" has 1 instance(s).

 

Instance "orcl", status UNKNOWN, has 1 handler(s) for this  service...

 

The command completed successfully(启动成功)

 

打开Oracle实例:

 
 

$ sqlplus / as sysdba

 

SQL> startup

 

ORACLE instance started.

 

Total System Global Area 2147483648 bytes

 

Fixed Size 1220432 bytes

 

Variable Size 520093872 bytes

 

Database Buffers 1610612736 bytes

 

Redo Buffers 15556608 bytes

 

Database mounted.

 

Database opened.

 

哈哈,这下悬着的心可以落地了哈。安装成功了哦,至于第二步测试,希望读者自行完成。

1、安装前准备:

检查内存 最少1G free

swap 内存的1.5倍以上 free

tmp临时目录 要求400M以上 df -h

安装空间至少4到5个G,这里建议20个G

2,用户的创建

groupadd dba

groupadd oinstall

useradd oracle -g oinstall -G dba

passwd oracle

3,创建目录

mkdir /u01/oracle/10g -p

mkdir /u01/oracle/database

chown oracle.oinstall /u01/oracle/ -R

chmod 755 /u01/oracle/ -R

4,修改环境变量,注意是改oracle用户的,不是root的

su - oracle

vim .bash_profile

export ORACLE_BASE=/u01/oracle

export ORACLE_HOME=/u01/oracle/10g

export ORACLE_SID=orcl

export PATH=$ORACLE_HOME/bin:$PATH

source .bash_profile --保存后source一下使之生效,或者exit再su- oracle切换进去

5,修改系统内核参数

# sysctl -a |grep file-max | sed 's/204972/65536/' >>/etc/sysctl.conf

# sysctl -a |grep sem |sed 's/32/100/2' >> /etc/sysctl.conf

# sysctl -a |grep rmem_d |sed 's/110592/262144/' >> /etc/sysctl.conf

# sysctl -a |grep rmem_max |sed 's/131071/262144/' >>/etc/sysctl.conf

# sysctl -a |grep wmem_max |sed 's/131071/262144/' >>/etc/sysctl.conf

# sysctl -a |grep wmem_d |sed 's/110592/262144/' >> /etc/sysctl.conf

# sysctl -a |grep ip_local |sed -e 's/32768/1024/' -e 's/61/65/' >>/etc/sysctl.conf

或者直接写到/etc/sysctl.conf

fs.file-max = 65536

kernel.sem = 250 32000 100 128

net.core.rmem_default = 262144

net.core.rmem_max = 262144

net.core.wmem_max = 262144

net.core.wmem_default = 262144

net.ipv4.ip_local_port_range = 1024 65000

sysctl -p 使之生效

6,修改pam的limit限制

# vim /etc/pam.d/login

session required pam_limits.so --加上一句

# vim /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

7,解压10g安装包

# unzip /share/soft/oracle/10201_database_linux32.zip -d/u01/oracle/database/

[oracle@li database]$ ./runInstaller --安装

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

错误一:

libXp.so.6: cannot open shared object file: No such file or directory

有此报错,要先安装libXp包

[root@li ~]# yum install libXp -y

错误二:

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

这是因为普通用户oracle没有打开图形的权限,所以要用root用户xhost + 授权

[root@li /]# xhost +

错误三:

安装界面乱码

换英文环境

export LANG=en

OUI-10030此警告是临时目录是非空,第二次安装会报此警告,直接按yes过去

然后主要是要保证所有的都是succecced

然后用root用户运行下面的两个脚本

[root@li ~]# /u01/oracle/10g/root.sh

[root@li ~]# /u01/oracle/oraInventory/orainstRoot.sh --注意此脚本是拷了三个文件,并创建了一个/etc/oratab

Copying dbhome to /usr/local/bin ...

Copying oraenv to /usr/local/bin ...

Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...

最后一个界面是下面的信息:

The following J2EE Applications have been deployed and are accessible atthe URLs listed below.

iSQL*Plus URL:

http://li.cluster.com:5560/isqlplus

iSQL*Plus DBA URL:

http://li.cluster.com:5560/isqlplus/dba

Enterprise Manager 10g Database Control URL:

http://li.cluster.com:1158/em

使用firefox登录本机的isqlplus

http://10.1.1.35:5560/isqlplus/

安装完后

ps -ef |grep ora_ 查看进程就知道是否启动了

[oracle@li ~]$ sqlplus "/as sysdba" --这样去登录

[oracle@li ~]$ sqlplus / as sysdba --或者这样登录

--上面的命令登录没有使用用户名和密码,是因为使用的是系统验证

安装三个软件包,使oracle支持上下翻页,和命令历史记录,自动补全等功能

[root@li ~]# tar xvf /share/soft/oracle/IO-Tty-1.07.tar.gz -C /u01/oracle/

[root@li ~]# tar xvf /share/soft/oracle/Term-ReadLine-Gnu-1.16.tar.gz -C/u01/oracle/

[root@li ~]# tar xvf /share/soft/oracle/uniread-1.01.tar.gz -C/u01/oracle/

[root@li ~]# cd /u01/oracle/IO-Tty-1.07/

[root@li IO-Tty-1.07]# perl Makefile.PL ;make ;make install

[root@li IO-Tty-1.07]# cd /u01/oracle/Term-ReadLine-Gnu-1.16/

[root@li Term-ReadLine-Gnu-1.16]# perl Makefile.PL ;make ;make install

[root@li Term-ReadLine-Gnu-1.16]# cd /u01/oracle/uniread-1.01/

[root@li uniread-1.01]# perl Makefile.PL ;make ;make install

[oracle@li ~]$ uniread sqlplus / as sysdba --这样登录就可以使用uniread的功能了,也可以使用在ftp,让ftp有这个功能

如果觉得不方便,把uniread sqlplus做一个别名

vim .bashrc

alias sql="uniread sqlplus"

source .bashrc

再登录数据库时,使用sql / as sysdba

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

使用dbca创建库

[oracle@li ~]$ ls /u01/oracle/10g/assistants/dbca/templates/

Data_Warehouse.dbc General_Purpose.dbc Seed_Database.dfb

example01.dfb New_Database.dbt Transaction_Processing.dbc

example.dmp Seed_Database.ctl

[oracle@li ~]$ ls /u01/oracle/admin/upl/scripts/

cloneDBCreation.sql inituplTemp.ora rmanRestoreDatafiles.sql

CloneRmanRestore.sql postDBCreation.sql upl.sh

init.ora postScripts.sql upl.sql

[oracle@li 10g]$ export ORACLE_SID=upl --换sid为upl

[oracle@li 10g]$ uniread sqlplus / as sysdba --再次登录

SQL> select name from v$database; --默认就登录到了upl这个库

NAME

---------

UPL

SQL> startup --启动

SQL> shutdown immediate --关闭

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

删除库的方法:

使用dbca去删除

删除oracle软件的方法:

rm /etc/oraInst.loc

rm /etc/oratab

rm /usr/local/bin/coraenv

rm /usr/local/bin/dbhome

rm /usr/local/bin/oraenv

rm -rf /u01/oracle/

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

数据库安装完后,几个重要的目录介绍

ls $ORACLE_HOME/bin --工具全在这里,包括sqlplus

ls $ORACLE_HOME/dbs --参数文件,spfile,pfile,密码文件

ls $ORACLE_HOME/network/admin/ --监听文件

ls $ORACLE_BASE/oradata --默认的数据文件,控制文件,redo日志的路径

ls $ORACLE_BASE/admin --dump目录,包括告警日志

监听的配置:

[oracle@li 10g]$ vim /u01/oracle/10g/network/admin/listener.ora

--这个文件不用改

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/oracle/10g)

(PROGRAM = extproc)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

(ADDRESS = (PROTOCOL = TCP)(HOST = li.cluster.com)(PORT = 1521)) --服务器的主机名,可以使用ip,端口为1521

)

)

[oracle@li 10g]$ vim /u01/oracle/10g/network/admin/tnsnames.ora

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = li.cluster.com)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

比如我要连接142的orcl这个库,在我的tnsname.ora文件里加上下面一段

o142 = --自定义一个连接名

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.142)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

lsnrctl stop

lsnrctl start

[oracle@li 10g]$ sqlplus sys/oracle@o142 as sysdba 这样去连接142的orcl库

 

 

在rhel 5.X 系列上安装Oracle 10g:

1、修改系统版本号

# vi /etc/redhat-release

Red Hat Enterprise Linux Server release 4.3 (Tikanga)

2、搭建安装环境

a、硬环境

/tmp 必须有400M的可用空间

安装oracle的所在分区 空闲空间必须大于1.5G 或者 大于 3G

物理内存 ,一般要求大于1G

free -m (查看物理内存)

swap 交换分区 :

RAM 512-1G , 交换分区可以设定为1G

RAM 2G , 交换分区可以设定为4G

规则: 两倍的物理内存,32位的操作系统最多就支持4G

b、软环境

# cd /etc/yum.repos.d/ -----配置YUM源

# yum clean all

# yum list

安装两个包

# yum install compat-gcc-* -y

# yum install libXp –y

2、固定IP和静态绑定主机名字(省略步骤)

3、用户的创建

groupadd dba

groupadd oinstall

useradd oracle -g oinstall -G dba

passwd oracle

4、创建目录

mkdir /u01/oracle/10g -p

mkdir /u01/oracle/database

chown oracle.oinstall /u01/oracle/ -R

chmod 755 /u01/oracle/ -R

5、修改环境变量,注意是改oracle用户的,不是root的

su - oracle

vim .bash_profile

export ORACLE_BASE=/u01/oracle

export ORACLE_HOME=/u01/oracle/10g

export LD_LIBRARY_PATH=$ORACLE_HOME/lib

export ORACLE_SID=orcl

export PATH=$ORACLE_HOME/bin:$PATH

source .bash_profile

--保存后source一下使之生效,或者exit再su- oracle切换进去

6、修改系统内核参数

# sysctl -a |grep file-max | sed 's/204972/65536/'>> /etc/sysctl.conf

# sysctl -a |grep sem |sed 's/32/100/2' >>/etc/sysctl.conf

# sysctl -a |grep rmem_d |sed 's/110592/262144/' >>/etc/sysctl.conf

# sysctl -a |grep rmem_max |sed 's/131071/262144/'>> /etc/sysctl.conf

# sysctl -a |grep wmem_max |sed 's/131071/262144/'>> /etc/sysctl.conf

# sysctl -a |grep wmem_d |sed 's/110592/262144/' >>/etc/sysctl.conf

# sysctl -a |grep ip_local |sed -e 's/32768/1024/' -e's/61/65/' >> /etc/sysctl.conf

或者直接写到/etc/sysctl.conf

fs.file-max = 65536

kernel.sem = 250 32000 100 128

net.core.rmem_default = 262144

net.core.rmem_max = 262144

net.core.wmem_max = 262144

net.core.wmem_default = 262144

net.ipv4.ip_local_port_range = 1024 65000

sysctl -p 使之生效

7、修改pam的limit限制

# vim /etc/pam.d/login

session required pam_limits.so --加上这一句

(修改oracle用户的资源限制)

# vim /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

8、允许oracle用户运行图像安装oralce软件包

# xhost +

# su - oracle

$ export LANG=en_US.utf8

$ unzip /share/soft/oracle/10201_database_linux32.zip -d/u01/oracle/database/

$ cd database/

$ ./runInstaller

安装过程中需要管理员身份执行以下脚本

# /u01/app/oracle/oraInventory/orainstRoot.sh

# /u01/app/oracle/10g/root.sh

=======================================================

安装过程常见错误:

错误一:

libXp.so.6: cannot open shared object file: No such fileor directory

有此报错,要先安装libXp包

[root@li ~]# yum install libXp -y

错误二:

Xlib: connection to ":0.0" refused by server

Xlib: No protocol specified

这是因为普通用户oracle没有打开图形的权限,所以要用root用户xhost + 授权

[root@li /]# xhost +

错误三:

安装界面乱码

换英文环境

export LANG=en

OUI-10030 此警告是临时目录是非空,第二次安装会报此警告,直接按yes过去

然后主要是要保证所有的都是succecced

===========================================================

安装完后

ps -ef |grep ora_ 查看进程就知道是否启动了

[oracle@li ~]$ sqlplus "/as sysdba" --这样去登录

[oracle@li ~]$ sqlplus / as sysdba --或者这样登录

--上面的命令登录没有使用用户名和密码,是因为使用的是系统验证

安装三个软件包,使oracle支持上下翻页,和命令历史记录,自动补全等功能

[root@li ~]# tar xvf /share/soft/oracle/IO-Tty-1.07.tar.gz-C /u01/oracle/

[root@li ~]# tar xvf/share/soft/oracle/Term-ReadLine-Gnu-1.16.tar.gz -C /u01/oracle/

[root@li ~]# tar xvf/share/soft/oracle/uniread-1.01.tar.gz -C /u01/oracle/

[root@li ~]# cd /u01/oracle/IO-Tty-1.07/

[root@li IO-Tty-1.07]# perl Makefile.PL ;make ;makeinstall

[root@li IO-Tty-1.07]# cd/u01/oracle/Term-ReadLine-Gnu-1.16/

[root@li Term-ReadLine-Gnu-1.16]# perl Makefile.PL ;make;make install

[root@li Term-ReadLine-Gnu-1.16]# cd/u01/oracle/uniread-1.01/

[root@li uniread-1.01]# perl Makefile.PL ;make ;makeinstall

[oracle@li ~]$ uniread sqlplus / as sysdba

--这样登录就可以使用uniread的功能了

如果觉得不方便,把uniread sqlplus做一个别名

vim .bashrc

alias sql="uniread sqlplus"

source .bashrc

再登录数据库时,使用sql / as sysdba

==============================================================

数据库安装完后,几个重要的目录介绍

ls $ORACLE_HOME/bin --工具全在这里,包括sqlplus

ls $ORACLE_HOME/dbs --参数文件,spfile,pfile,密码文件

ls $ORACLE_HOME/network/admin/ --监听文件

ls $ORACLE_BASE/oradata --默认的数据文件,控制文件,redo日志的路径

ls $ORACLE_BASE/admin --dump目录,包括告警日志

==============================================================

删除库的方法:

使用dbca去删除

删除oracle软件的方法:

rm /etc/oraInst.loc

rm /etc/oratab

rm /usr/local/bin/coraenv

rm /usr/local/bin/dbhome

rm /usr/local/bin/oraenv

rm -rf /u01/oracle/

==============================================================

监听的配置:

[oracle@li 10g]$ vim/u01/oracle/10g/network/admin/listener.ora

--这个文件不用改

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /u01/oracle/10g)

(PROGRAM = extproc)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))

(ADDRESS = (PROTOCOL = TCP)(HOST = li.cluster.com)(PORT =1521)) --服务器的主机名,可以使用ip,端口为1521

)

)

[oracle@li 10g]$ vim/u01/oracle/10g/network/admin/tnsnames.ora

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = li.cluster.com)(PORT =1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

比如我要连接142的orcl这个库,在我的tnsname.ora文件里加上下面一段

o142 = --自定义一个连接名

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.1.142)(PORT =1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

监听的停止和启动

lsnrctl stop

lsnrctl start

[oracle@li 10g]$ sqlplus sys/oracle@o142 as sysdba 这样去连接142的orcl库

 

 

SQL>SHUTDOWN IMMEDIATE;

SQL>STARTUP MOUNT EXCLUSIVE;

SQL> alter system enable restrictedsession;

系统已更改。

SQL> alter system setjob_queue_processes=0;

系统已更改。

SQL> alter system set aq_tm_processes=0;

系统已更改。

SQL>alter database open;


SQL> alter database character set INTERNAL_USE UTF8;

数据库已更改。

SQL> alter database national characterset INTERNAL_USE UTF8;

数据库已更改。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORACLE 例程已经启动。

Total System Global Area 293601280 bytes
Fixed Size 1248600 bytes
Variable Size 121635496 bytes
Database Buffers 163577856 bytes
Redo Buffers 7139328 bytes
数据库装载完毕。
数据库已经打开。
SQL> select userenv('language') from dual;

USERENV('LANGUAGE')
-----------------------------------------------------------------

SIMPLIFIED CHINESE_CHINA.UTF8

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值