设为首页 收藏本站
查看: 655|回复: 0

[经验分享] Oracle 11g R1 for Linux(RHEL5)安装及简单操作命令

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-7-9 08:53:50 | 显示全部楼层 |阅读模式
Oracle 11g R1 for Linux(RHEL5)安装前的准备

1.1 检查硬件

物理内存: # grep MemTotal /proc/meminfo

交换空间: # grep SwapTotal /proc/meminfo

交换空间的大小是根据物理内存的大小来设置的,物理内存少于 2G 的则交换空间设为物理内存的两倍,物理内存大于 2G 的则交换空间和物理内存大小一样。如果不符合上述规定,那么就需要重新设置交换空间的大小。重新设置交换空间的大小有两种方法:一种是使用 fdisk 删除交换分区重新划分大小;另一种是创建一个新文件,分配大小然后格式化成交换分区。本手册使用第二种方法。

创建文件:   # touch /home/swap

分配空间:   # dd if=/dev/zero of=/home/swap bs=1024 count=4100000

格式化文件: # mkswap /home/swap

停止 swap :   # swapoff –a

使用 swap :   # swapon /home/swap

自动挂载:   # 在 etc/fstab  里加入以下一行:

/home/swap    swap     swap     default   0 0

磁盘空间: # df –ah

Oracle 11g 安装所需的磁盘空间为 1.7G ,如果不够的话得另外添加。

1.2 软件包检查

检查下列包是否安装,如果未安装则要先安装。 # rpm -qa | grep make gcc glibc 等等

binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
sysstat-7.0.0
unixODBC-2.2.11
unixODBC-devel-2.2.11

1.3 下载软件

这里需要注意的有两点:一是弄清楚服务器是 32 位的还是 64 位;二是不要下载 Oracle 11gR2 , R2 不能够在 RHEL5 上安装。不要辛辛苦苦的下载下来,却发现版本不对,那就做了很多无用功了。 Oracle Database Software Downloads :

http://www.oracle.com/technology ... database/index.html

2 、安装环境设置

2.1 核心参数设置

在 /etc/sysctl.conf 文件中加入下列行:

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

fs.aio-max-nr = 3048576

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default=8388608

net.core.rmem_max=8388608

net.core.wmem_default=262144

net.core.wmem_max=1048576

运行 # sysctl –p 命令改变核心参数。

2.2 设置 Shell Limits

a 、在 /etc/security/limits.conf 文件中加入下列行:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

b 、在 /etc/pam.d/login 文件中加入下列行:

session required /lib/security/pam_limits.so

session required pam_limits.so

c 、在 /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

2.3 禁用 secure Linux

修改 /etc/sysconfig/selinux 文件中的 SELINUX 项为 disabled(SELINUX=disabled) ,使用命令 #setenforce 0 使更改生效。

2.4 创建用户和组及相关目录

       a 、创建 oinstall 、 dba 组

# groupadd dba

# groupadd oinstall

       b 、创建 oracle 用户

# useradd -g oinstall -G dba oracle

# usermod -g oinstall -G dba oracle

# passwd oracle

# id oracle

       c 、创建相关安装目录
su oracle

# mkdir -p /opt/oracle/product

# mkdir -p /opt/oracle/product/OraHome

# mkdir -p /opt/oraInventory                     

# mkdir -p /opt/oracle/oradata                  

# mkdir -p /var/opt/oracle

       d 、设置目录所有者和权限

# chown oracle:oinstall /opt

# chown -R oracle:oinstall /opt/oracle

# chown -R oracle:dba /opt/oraInventory

# chown oracle:dba /var/opt/oracle

# chmod -R 775 /opt/oracle

# chmod -R 755 /var/opt/oracle

       设置好后最好检查一遍,确认上述目录以及其子目录的所有者和权限都设置正确。后面安装过程中出现的权限问题大都和这里目录的所有者和权限设置不对有关。

2.5 设置环境变量

进入到 oracle 用户下,更改用户的一些配置。

# su – oracle

打开 .bash_profile 添加以下参数,主要是配置 oracle 软件运环境参数。

if [ -f ~/.bashrc ]; then

       . ~/.bashrc

fi

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/OraHome

export ORACLE_SID=orcl

export ORACLE_OWNER=oracle

export ORACLE_TERM=vt100

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

export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin:$PATH

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

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export CLASSPATH

ORA_NLS33=$ORACLE_HOME/nls/admin/data

执行以下命令让配置马上生效: # source $HOME/.bash_profile

2.6 设置网络

Oracle 的安装需要设置静态 IP ,否则会在安装检查时出现警告。打开 /etc/sysconfig/network-scripts/ifcfg-eth0 ,改为静态 IP ,这里注意一定要有红色标识的那句。

DEVICE=eth0

HWADDR=00:1b:11:0f:39:85

ONBOOT=yes

BOOTPROTO=static

NETMASK=255.255.225.0

IPADDR=192.168.1.30

GATEWAY=192.168.1.1

TYPE=Ethernet

修改 /etc/hosts ,增加一行,其中第一个是服务器的静态 IP 、第二个是服务器的域名,第三个是服务器的主机名。

192.168.1.30 localhost.localdomain localhost

3 、安装

重新打开一个终端窗口,以 oracle 用户登录,运行 runInstaller 。如果用的是 X 模式,则需要设置 DISPLAY 。

# su – oracle

# export DISPLAY=192.168.1.30:0.0

# unzip linux_x86_11gR1_database.zip

# cd database

# ./ runInstaller

最好在根上建立一个文件夹,这个文件夹专门用来存放 ORACLE 的安装文件。但是需要注意的是,在安装 ORACLE 前,需要把这个文件夹的所有者修改成用户 oracle ,文件夹权限最好是修改成 777 ,以免在安装过程中出现问题。在安装过程中会提示你以 root 权限运行 /oracle/oraInventory/orainstRoot.sh 和 /opt/oracle/product/OraHome/root.sh 两个脚本,注意一定要以 root 权限来运行。完成后的画面中会有管理端入口地址和 sqlplus 入口地址。

4 、启动

Oracle 提供了两个脚本 dbstart 和 dbshut 用来启动和关闭数据库。这两个脚本首先读取 oratab(/etc/oratab) 文件来决定哪个数据库是需要自动启动和关闭 , 然后启动和关闭那些数据库, oratab 文件通过 root.sh 创建。不过, dbstart 和 dbshut 脚本中都包含有错误,需要修改 ORACLE_HOME_LISTNER=$ORACLE_HOME 。

# dbstart

# sqlplus /nolog

# connect /as sysdba

在系统命令行输入sqlplus /nolog
conn sys / as sysdba
shutdow immediate;
startup;
lsnrctl start 开启监听服务

如果一切顺利的话,到此为止你就可以进行 SQL 操作了。

5 、安装过程常见错误

错误提示:

建议案 : Oracle 支持在具有 DHCP 分配的公共 IP 地址的系统上进行安装。但应使用静态 IP 地址来配置系统的主网络接口 , 以便 Oracle 软件正常工作。有关在配置有 DHCP 的系统上安装软件的详细信息 , 请参阅 Installation Guide 。

解决方法:参考 2.6 设置网络

错误提示:

/opt/oracle/product/OraHome/bin/lsnrctl: error while loading shared libraries: /opt/oracle/product/OraHome/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied

解决方法:关闭 SELinux ,参考 2.3 禁用 secure Linux

Linux下oracle数据库常用命令
Oracle用户下执行:
$ sqlplus system/manager @ file.sql  执行sql脚本文件
$ sqlplus system/manager                登录sqlplus,使用system用户
$ sqlplus /nolog                  以不连接数据库的方式启动sqlplus,启动数据时会用到
$ lsnrctl status/stop/start                                oracle的监听器listener状态查看/停
止/启动
$ imp system/manager file=/tmp/expfile.dmp log=/tmp/implogfile.log ignore=y fromuser=expuser  
touser=impuser                     用户模式表数据导入,这里我只使用了几个参数,还有好多没有
用到的参数,如果没有特别指定值,就使用默认的值。
$ exp username/password file=/tmp/expfile.dmp log=/tmp/proV114_exp.log           用户模式表
数据导出,这是最简单的导出方法,还有好多参数没有写出来。
Sqlplus下执行:
SQL> conn / as sysdba                                    sysdba用户模式连接
SQL> startup                                                 启动数据库
SQL> shutdown immediate                            立即关闭数据库
SQL> desc dba_users;                                    查询dba_users表结构
SQL> select username from dba_users;          查询当前sid下的所有用户的username
SQL> select count(*) from username.tablename;          查询tablename表的行数
SQL> drop user username cascade; 删除名称为username的oracle用户
SQL> select distinct table_name from user_tab_columns;          查看当前user模式下所有表名
附:

ORA-00922: 选项缺失或无效和ORA-28000: ORACLE账户锁定的解决办法

2010-11-04 23:26
ORA-00922: 选项缺失或无效
错误原因:一般是语句的语法有问题。比如命名不对,关键字写错等等。对于非标准的命名,一般采用双引号来创建。
解决办法:
标识符命名规则:
1、必须以字母开始。
2、长度不能超过30个单字节字符。
3、只能包括A-Z,a-z,0-9,_,$和#。
4、不能在相同用户下建立两个同名的对象。
5、不能使用保留字和关键字
ORA-28000: 账户锁定
第一步:使用PL/SQL,登录名为system,数据库名称不变,选择类型的时候把Normal修改为Sysdba;
第二步:选择myjob,查看users;
第三步:选择system,右击点击“编辑”;
第四步:修改密码,把“帐户被锁住”的勾去掉;
第五步:点击“应用”再点击“关闭”;
第六步:重新登录就可以通过验证了;
第二种
ALTER USER username ACCOUNT UNLOCK;
第三种
在plsql developer中要是以scott/tiger登录时提示ora-28000 the account is locked。
解决办法:
新装完Oracle 10g后,用scott/tiger测试,会出现以下错误提示:
oracle10g the account is locked
oracle10g the password has expired
原因:默认Oracle10g的scott不能登陆。
解决:
(1)conn sys/sys as sysdba; //以DBA的身份登录
(2)alter user scott account unlock;// 然后解锁
(3)conn scott/tiger //弹出一个修改密码的对话框,修改一下密码就可以了
在运行里面输入cmd在DOS模式下输入sqlplus,以system用户名登录,密码是刚装oracle时自己填写的密码orcl,登录进去以后。
SQL> conn sys/sys as sysdba; (分号是必须的但是我是以system登录的所在这不应该写conn sys/sys as sysdba应该写conn system/orcl as sysdba;)
Connected.
SQL> alter user scott account unlock;
User altered.
SQL> commit;
Commit complete.
SQL> conn scott/tiger//请输入新密码,并确认后OK
Password changed
Connected.
这时再到plsql developer里面以scott/tiger登录就可以了。。。。。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-84588-1-1.html 上篇帖子: oracle archivelog模式与非archivelog模式转换 下篇帖子: 安装oracle数据库时的报错处理[INS-35172] Oracle Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表