Redhat Linux 6.4下Oracle 10g安装配置手册

Oracle:RHEL7.5安装Oracle19C单实例(图形界面版) 本文基于红帽7.5系统安装Oracle19C单实例,使用图形界面进行安装。 阅读详情

Redhat Linux 6.4下Oracle 10g安装配置手册

1、安装准备

1.1        RedHat Linux Server 6.4安装DVD (32位), 安装时选择“桌面”。

1.2        Oracle 10g Linux安装文件(10201_database_linux32.zip)

2、用root用户操作:

1、加载DVD到yum库中

mkdir /mnt/iso

mount /dev/dvd /mnt/iso

修改/etc/yum.repos.d/ rhel-source.repo

在最后添加:

[rhel_iso]

name=local iso

baseurl=file:///mnt/iso/

gpgcheck=1

gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

2、拷贝zysong.ttf 到fonts中

mount -t cifs -o username=administrator,password=admin //200.120.75.24/share/ /windows/

mkdir -p /usr/share/fonts/zh_CN/TrueType

cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/

3、连接/usr/lib下的stdC++文件

ln -s libstdc++.so.6.0.13 libstdc++.so.5

4、修改Linux的发行标记

1)、如在redhat5上安装oracle,需要将文件 '/etc/redhat-release'的内容由:

     vi /etc/redhat-release

Red Hat Enterprise Linux Server release 5 (Tikanga)

修改为:

Red Hat Enterprise Linux Server release 4 (Tikanga)

 

2)、修改增强的Linux安全设置:vi /etc/selinux/config

SELINUX=disabled

5、安装libXp和gcc包

yum install libXp

yum install gcc

6、配置内核参数

1.1        编辑/etc/sysctl.conf文件,添加或修改如下的行:

本人实际配置环境中,红色部分是需要修改行,蓝色部分为添加行。
# Controls the maximum shared segment size, in bytes

kernel.shmmax = 2147483648

# Controls the maximum number of shared memory segments, in pages

kernel.shmall = 2097152

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=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144

1.2        查看当前内核参数的值

/sbin/sysctl –p

     注:(一般为内存的0.7倍)OLTP系统SGA+PGA<(Total Memory)*0.8

         SAG<(Total Memory)*0.8*0.8

7、修改/etc/hosts

增加下面内容,如果没有oracle 的监听器无法启动

127.0.0.1               localhost

10.130.166.202         henry

8、提高在linux系统上运行软件的性能,

    必须对oracle用户设置下列shell 限定。

1.3       打开文件数和进程数的限制

加入下面的行到文件/etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

1.4        加入下面的行到文件/etc/pam.d/login
session required     /lib/security/pam_limits.so

session required     pam_limits.so

4、创建oracle用户

以下操作需要使用root账户创建。

1.5        创建oinstall用户组

groupadd–g 701oinstall

1.6        创建dba用户组

groupadd–g 702 dba

1.7        创建oracle用户

useradd –g oinstall –G dba oracle

1.8        初始化oracle用户密码

passwd oracle

5、创建Oracle安装目录

本示例中,Oracle安装路径为:/opt/oracle/product/10.2.0/db_1

1.9        创建oracle安装目录

mkdir –p /opt/oracle/product/10.2.0

1.10    修改目录所属用户为oracle用户

chown –R oracle:oinstall /oracle

1.11    修改目录权限

chmod –R 775 /oracle或者

chmod -R ug=rwx,o=rx /oracle

echo 504> /proc/sys/vm/hugetlb_shm_group

9、oracle 中文乱码的解决

root用户下修改:

vi etc/sysconfig/i18n

LANG=”en_US.UTF-8”

3、使用oracle用户设置

1、设置oracle用户环境变量

注意以下命令为,必需以oracle用户身分登录:

su – oracle

1.12    修改/home/oracle/.bash_profile文件,添加以下行

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2/db_1

export ORACLE_SID=hydb

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

export JAVA_FONTS=/usr/share/fonts/zh_CN/TrueType

umask 022

unset USERNAME

#alias sqlplus='rlwrapsqlplus'

#alias rman='rlwraprman'

#alias ggsci='rlwrapggsci'

   

注:在export PATH=$ORACLE_HOME/bin:$PATH中,由于分隔时使用了‘;’而不是‘:’,引起了‘-bash: vim: command not found’,错误,所有的命令都无法使用,经过重启服务器,root账号可以使用这些命令了,但是Oralce用户仍无法使用,经查是由于‘;’引起的

1.13    检查设置的环境变量

echo $ORACLE_HOME

echo $ORACLE_BASE

echo $ORACLE_SID

1.14    使环境变量生效

[oracle@~]$ . .bash_profile

4、硬件要求

1.1        物理内存至少2G

查看命令:grepMemTotal /proc/meminfo

1.2        交换分区:至少1G,最好是物理内存的2倍

查看命令:grepSwapTotal /proc/meminfo

1.3        硬盘空闲区至少4G

查看命令:df –h

 

5、使用oracle用户安装oracle

./runInstaller 

 

安装时,最好选择高级安装模式“Advanced Installation”,这样可以设置数据库字符集。

 

使用Root执行两个脚本:

/opt/oracle/oraInventory/orainstRoot.sh

和

/opt/oracle/product/10.2.0/db_1/root.sh

 

安装完成后:

1、使用oracle用户,使用dbstart无法启动数据库的问题

Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr

1)    检查dbstart文件

vi  $ORACLE_HOME/bin/dbstart

检查ORACLE_HOME_LISTNER项的路径,将其改为$ORACLE_HOME,如下:

2)    进行完上述操作后,重新执行dbstart时,数据库仍不能启动。此时,登陆sqlplus,使用命令startup mount;可以登陆。同时伴有,数据库起来后,重启机器后,执行dbstart又不能启动数据库的情况。

解决方法:检查 /etc/oratab文件,按下面方法操作。

此处还有一种修改方法:

#注释掉上面的行,增加下面行

$ORACLE_SID:$ORACLE_HOME:Y

3)    如果执行dbstart仍不能启动,检查dbstart文件中的oratab项配置是否和下图中的一致,如果不一致修改。

 

2、常用命令:

监听程序:

[oracle@app oracle]$ lsnrctl start  --启动监听程序

lsnrctl stop  --停止监听程序

lsnrctl status  -查看监听状态

netca    监听程序配制(GUI)oracle net configuration assistant

dbca     database configuration assistant

emca    创建,修改,重建或者删除dbcontrol的配置

trcasst   Trace Assistant

数据库启动:

[oracle@app oracle]$ sqlplus /nolog 

SQL> connect / as sysdba 

Connected.  

SQL> shutdown immediate (关闭数据库)

 Database closed. 

Database dismounted. 

ORACLE instance shut down. 

SQL> startup; (启动数据库) 

ORACLE instance started.  

Total System Global Area 236000356 bytes

Fixed Size 451684 bytes 

Variable Size 201326592 bytes 

Database Buffers 33554432 bytes 

Redo Buffers 667648 bytes 

Database mounted. 

Database opened.  

如果执行startup启动数据库失败,报告Can’t find init file …initoradb.ora的错误,需要复制一个初始化文件,执行如下命令: 

$cd /opt/oracle/admin/hydb/pfile/ 

$cp  init.ora.*  /opt/oracle/product/10.2.0/dbs/initoradb.ora 

重新执行startup,顺利启动。

 

或者:

sqlpl  / as sysdba;

startup

 

启动em:

emctl start dbconsole

 

启动isqlplus

isqlplusctl start

 

select status from v$instance;

select open_mode from v$database;

 

http://192.168.1.9:1158/em

http://192.168.1.9:5560/isqlplus

 

防火墙设置

注意,安装完成后必须将防火墙的几个端口打开:1521端口,1158(em) 5560(isqlplus)

service iptables status   查看状态

彻底关闭防火墙: service iptables stop  (root)

开启 service iptables start  (root)

打开某个端口: ??

/etc/sysconfig/iptables

# Generated by iptables-save v1.4.7 on Mon Oct  7 08:32:32 2013

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [1084:263585]

-A INPUT -p tcp -m tcp --dport 5560 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 1521 -j ACCEPT

-A OUTPUT -p tcp -m tcp --dport 1521 -j ACCEPT

-A INPUT -p tcp -m tcp --dport 1158 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

# Completed on Mon Oct  7 08:32:32 2013

一个示例文件(详细说明):

IPTables 配置文件

RH 的 /etc/sysconfig/iptables 文件,为 iptables-save 生成的格式。

*nat 开始处理nat表

:PREROUTING ACCEPT [5278:800028] PREROUTING 链的默认策略为ACCEPT(接受/允许),即 -tnat -P PREROUTING ACCEPT。方括号内是本链引用计数,即通过本链的有5278个包,共800028字节。

:POSTROUTING ACCEPT [5278:800028] POSTROUTING 链的默认策略为ACCEPT,即 -t nat -P POSTROUTING ACCEPT

:OUTPUT ACCEPT [5278:800028]  OUTPUT 链的默认策略为接受,即 -t nat -P OUTPUT ACCEPT

QUOTE:

-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth1 -j SNAT --to-source 61.133.202.70

添加一SNAT规则,从eth1 外发的、源地址为192.168.0.0/24网络的数据包将被修改为好像从 61.133.202.70 发出。

COMMIT  nat表处理结束,以下部分不再属于 nat 表

*filter  开始处理 filter 表

:INPUT ACCEPT  [5278:800028]

:FORWARD ACCEPT [5278:800028]

:OUTPUT ACCEPT [5278:800028]

:RH-Firewall-1-INPUT [5278:800028] 定义一个自定义链,名称为RH-Firewall-1-INPUT

-A INPUT -j RH-Firewall-1-INPUT所有输入数据包都转到 RH-Firewall-1-INPUT 链处理

-A FORWARD -j RH-Firewall-1-INPUT所有转发数据包都转到 RH-Firewall-1-INPUT 链处理

-A RH-Firewall-1-INPUT -i lo -j ACCEPT在 RH-Firewall-1-INPUT 链中添加规则,接受由本地环回接口进入的所有数据包

-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT  接受由网络接口 eth0 进入的所有数据包

-A RH-Firewall-1-INPUT -i eth1 -j ACCEPT  接受由网络接口 eth1 进入的所有数据包

-A RH-Firewall-1-INPUT -p icmp -m icmp any -j ACCEPT  接受所有 ICMP 协议的数据包

-A RH-Firewall-1-INPUT -p esp -j ACCEPT  接受所有 IPSec ESP 协议的数据包

-A RH-Firewall-1-INPUT -p ah -j ACCEPT  接受所有 IPSec AH 协议的数据包

-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  接受所有状态标记为 RELATED 或 ESTABLISHED 的数据包

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT  接受所有目标端口为 80 的 TCP 新连接数据包

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT  接受所有目标端口为 21 的 TCP 新连接数据包

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT  接受所有目标端口为 22 的 TCP 新连接数据包

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited  其余数据包一律拒绝,并以 icmp-host-prohibited 数据包回应

COMMIT  filter表处理完毕

-A INPUT -s 219.150.13.170 -j DROP

-A INPUT -s 220.115.251.1 -j DROP

-A INPUT -s 211.115.68.55 -j DROP  还是在 filter 表里处理,丢弃源地址为219.150.13.170、220.115.251.1、211.115.68.55 的数据包。

这三行是手工加上去的了,不是 iptables-save 生成的。

6、配置oracle为自启动服务

以下操作使用root用户,

1.15    vi /etc/rc.d/init.d/oracle,复制以下内容:

#!/bin/bash

# chkconfig: 2345 66 36

# /etc/rc.d/init.d/oracle

# description: starts the oracle database

#

ORA_HOME=/oracle/product/10.2/db_1

ORA_OWNER=oracle

case "$1" in

start)

echo -n "Starting Oracle Databases: "

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >> /var/log/oracle

echo "Done."

echo -n "Starting Oracle Listeners: "

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >> /var/log/oracle

echo "Done."

echo ""

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Finished." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

touch /var/lock/subsys/oracle

        ;;

stop)

echo -n "Shutting Down Oracle Listeners: "

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >> /var/log/oracle

echo "Done."

rm -f /var/lock/subsys/oracle

echo -n "Shutting Down Oracle Databases: "

su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >> /var/log/oracle

echo "Done."

echo ""

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Finished." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        ;;

restart)

echo -n "Restarting Oracle Databases: "

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >> /var/log/oracle

echo "Done."

echo -n "Restarting Oracle Listeners: "

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >> /var/log/oracle

echo "Done."

echo ""

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Finished." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

touch /var/lock/subsys/oracle

        ;;

  *)

echo "Usage: oracle { start | stop | restart }"

exit 1

esac

exit 0

1.16    修改/etc/rc.d/init.d/oracle执行权限

chmod  755 /etc/rc.d/init.d/oracle

1.17    添加oracle服务

chkconfig  --add oracle

1.18    设置oracle服务自启动

chkconfig oracle on

1.19    启动、关闭、重启oracle命令

启动oracle数据库:

service  oracle  start

关闭oracle数据库:

service  oracle  stop

重启oracle数据库

service  oracle restart

 

 

附录1:安装过程中遇到的问题及解决方法

1.          xhost:unable to open display

解决方法:

1)查看/etc/inittab文件里,把init3或者其他值改成init5

2)reboot system,用root用户通过图形界面进入系统,在终端里执行xhost +,(一般在这里都xhost会执行成功,如果无法执行成功,那你图形肯定有问题!)

2.          执行runInstaller时报错:Exception in thread "main" java.lang.UnsatisfiedLinkError:/tmp/OraInstall2007-12-21_10-40-21PM/jre/lib/i386/libawt.so:libXp.so.6: cannot open shared object file: No such file or directory

解决方法:安装libXp.rpm。这个文件可以在linux安装文件中找到。如果是使用iso文件安装的,可以先挂载光驱:

mount /dev/cdrom  /mnt

3.          ORA-01031: insufficient privileges问题

先照着问题3的方法检查一遍。

4.          在linux下挂载iso的方法

mount  –o  loop  linux.iso  /mnt/cd1

5.          跟踪命令的执行过程

strace  -v  ps  -ef  2>  ps.txt  写入ps.txt文件

7、Host.conf文件配置错误

错误代码如下:/etc/host.conf:line3:bad command '127.0.0.1 localhost'

原因是: /etc/host.conf中多出来一行内容引起的:127.0.0.1 localhost

8、startup 开启出错

9、执行IMPDP时,停止不动,关闭之后重新启Impdp job时,出现下面的错误

[oraevent@henry ~]$ impdp event ATTACH=event.SYS_IMPORT_SCHEMA_01

Import: Release 10.2.0.4.0 - 64bit Production on Sunday, 25 September, 2011 10:07:05

Copyright (c) 2003, 2007, Oracle.  All rights reserved.

Password:

UDI-00008: operation generated ORACLE error 257

ORA-00257: archiver error. Connect internal only, until freed.

1)       查看Archive log 所在位置

SQL>Show parameter log_archeive_dest

2)       一般VALUE为空时,可以用archive log list;检查一下归档目录和log sequence

SQL>archive log list;

3)       检查flash recovery area 的使用情况,可以看见archivelog已经很大了,

SQL> select * from v$flash_recovery_area_usage;

4)       计算flash recovery area 已经占用的空间

Select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;

5)       找到Recovery 目录,show parameter recover

SQL> show parameter recover;

6)       上述结果告诉我们,归档位置默认是在flash_recovery_area下

转移或清除对应的归档日志(注意:再删除归档日之后,必须用RMAN维护控制文件,否则空间显示仍然不释放)

7)       检查一些无用的archivelog

RMAN> crosscheck archivelog all;

8)       删除过期的归档

RMAN> delete expired archivelog all;

Delete archivelog until time ‘sysdate-1’; 删除截止前一天的所有archivelog

9)       修改制定的归档文件路径或者修改flash_recovery_area的大小

SQL> alter system set log_archive_dest=’/oracle/oraarch_log’ scope=both;

SQL> alter system set db_recovery_file_dest_size=3G scope=both;

10、启动Data Pump Jobs

---查询正在运行的Data Pump Jobs

         SQL> select * from v$dba_datapump_jobs;

         ---启动Jobs

         $ impdp event ATTACH=event.SYS_IMPORT_SCHEMA_01

         ----查看Job运行状态:

         Impdp> status

         ---停止Job

         Impdp>stop_job

         ---启动jobs

         Impdp>start_job

         ---查看对应的SESSION

         SQL> select sid,serial# from v$session s, dba_datapump_sessions d where s.saddr=d.saddr;

Select * from v$dba_datapump_jobs;  --查询正在运行的Data Pump Jobs

Import>stop_job

Import>start_job

TMS.INTERFACE_TO_OMS_PG.RE_SENDLOADING_STATUS;

http://openwares.net/database/debian_amd64_install_10g_r2_database.html

登录到远程系统
$ssh -XY oracle@remotehost

执行oracle安装程序
$/path/to/client/runInstaller -ignoreSysPrereqs

因为oracle 10g认证的linux系统只有redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 和 asianux-2这几个,所以在其他linux发行版上安装时需要指定命令行参数-ignoreSysPrereqs,否则会提示:
Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
Failed <<<<

然后退出安装

之后在本地机器可以看到OUI(Oracle Universal Installer)界面,后面的安装根据提示来就可以了。安装目录修改为/u01/app/oracle/product/10.2.0/db_1

安装进度大约到65%时会有错误提示:
Error in invoking target 'collector' of makefile '/u01/app/oracle/product/10.2.0/db_1/sysman/lib/ins_emdb.mk'.
这是oracle安装程序的一个bug,可以忽略此错误继续安装,对系统没什么影响。同时oraInventory/logs/目录下的安装日志文件里面会有如下类似错误提示:

INFO: /usr/bin/ld: i386 architecture of input file `/u01/app/oracle/product/10.2.0/db_1/sysman/lib/snmccolm.o' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/u01/app/oracle/product/10.2.0/db_1/sysman/lib/libnmccol.a(nmccole.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/u01/app/oracle/product/10.2.0/db_1/sysman/lib/libnmcbuf.a(nmcbuft.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/u01/ap
INFO: p/oracle/product/10.2.0/db_1/sysman/lib/libnmcbuf.a(nmcbufw.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/u01/app/oracle/product/10.2.0/db_1/sysman/lib/libnmcbuf.a(nmcbufu.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/u01/app/oracle/product/10.2.0/db_1/sysman/lib/libnmcbuf.a(snmcbufm.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/u01/app/oracle/product/10.2.0/db_1/sysman/lib/
INFO: libnmcbuf.a(nmcbuff.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/u01/app/oracle/product/10.2.0/db_1/sysman/lib//libnmadbg.a(nmadbg.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: i386 architecture of input file `/u01/app/oracle/product/10.2.0/db_1/sysman/lib//libnmadbg.a(snmadbg.o)' is incompatible with i386:x86-64 output
collect2: ld returned 1 exit status

INFO: make[1]: Leaving directory `/u01/app/oracle/product/10.2.0/db_1/sysman/lib'

INFO: make[1]: *** [/u01/app/oracle/product/10.2.0/db_1/sysman/lib/nmccollector] Error 1
make: *** [nmccollector] Error 2

这是因为oracle 10.2.0.1安装包为这几个i386目标文件提供了错误版本的x86_64链接库,之后安装patchser 10.2.0.4时relink nmccollector会成功。
关于此错误更详细的信息请参考Metalink NOTE 957982.1和Bug 8993720

7、oracle 创建用户 赋权限

在SYSTEM用户下

创建用户:

create user [username] identified by [password]  default tablespace [space_name] temporary tablespace [temp_name];

Create User JFBQ identified by JFBQ default tablespace users;

查看用户使用的表空间sql语句如下:

Select username,default_tablespace from dba_users;

删除用户:

drop user [username] cascade;

删除用户的同时还会删除该用户下的所有的表、索引等。但不保证释放空间。

通过角色授权
grant connect to JFBQ;
grant resource to JFBQ;
grant dba to JFBQ;

oracle三种标准的角色:CONNECT、RESOURCE和DBA。

1. CONNECT Role(连接角色)

临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECTrole。CONNECT是使用Oracle的简单权限,这种权限只有在对其他用户的表有访问权时,包括select、insert、update和delete等,才会变得有意义。拥有 CONNECT role的用户还能够创建表、视图、序列(sequence)、簇(cluster)、同义词(synonym )、会话(session)和与其他数据库的链(link)。

2. RESOURCE Role(资源角色)

RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)和簇(cluster)。

3. DBA Role(数据库管理员角色)

DBA role拥有所有的系统权限----包括无限制的空间限额和给其他用户授予各种权限的能力。SYSTEM由DBA用户拥有。下面介绍一些DBA经常使用的典型权限。

(1)grant(授权)命令

下面对刚才创建的用户user01授权,命令如下:

grant connect, resource to user01;

(2)revoke(撤消)权限

已授予的权限可以撤消。例如撤消(1)中的授权,命令如下:

revoke connect, resource from user01;

一个具有DBA角色的用户可以撤消任何别的用户甚至别的DBA的CONNECT、RESOURCE 和DBA的其他权限。当然,这样是很危险的,因此,除非真正需要,DBA权限不应随便授予那些不是很重要的一般用户。

撤消一个用户的所有权限,并不意味着从Oracle中删除了这个用户, 也不会破坏用户创建的任何表;只是简单禁止其对这些表的访问。其他要访问这些表的用户可以象以前那样地访问这些表。

在一些情况下即使给新建的用户DBA的权限,但是它还是不能跨用户进行创建表和视图,这个时候需要直接授权。

直接授权

grant Create any View to JFBQ;
grant Create any table to JFBQ;

 2:启动数据实例 oradim -startup -sid dataname(实例名)

2.使用sys最高用户登录

sqlplus sys as sysdba (sqlplus username/password@connection_String)

create user lisi identified by lisi;//创建一个用户lisi密码为李四

grant session to lisi;//创建李四访问数据库权限

grant unlimited tablespace to lisi;//让李四能无限使用表空间,这时候李四就能创建表了(使用的是默认sys的表空间)

撤销lisi权限

revoke session from lisi;

revoke unlimited tablespace from lisi;

3.对象权限 王五能访问李四表

创建用户王五后,王五新建表tab

grant select on tab to lisi;

grant all on tab to lisi;

5.撤销权限

revoke select on tab from lisi;

revoke all on tab from lisi;

6.把权限授予全部用户

grant create session to public;

7.查询自己权限

select * from user_sys_privs;

12c Oracle基础 第01课-Oracle数据库介绍 文档位置: Concepts->11.1 Introduction to Physical Storage Structures 什么是 Oracle 数据库 1.1 Oracle 介绍 网址,下载 docs.oracle.com 查看系统版本: [oracle@ouzy ~]$ lsb_release -id Distributor ID: CentO... 阅读详情

相关推荐

Linux CentOS7 安装字体库 & 中文字体

前言 在安装Oracle数据库时,无法显示中文字体,经查是centos没有安装中文字体的原因,解决后做简单记录。 安装字体库 在CentOS 7.x开始用fontconfig来安装字体库,所以输入以下命令即可: yum -y install fontconfig 当看到下图的提示信息时说明已安装成功: 这时在/usr/share目录就可以看到fonts和fontconfig目录了(之前是没有的...

小蚂蚁艾IT的博客 2144

OS_PV操作_6.公园相亲问题

公园相亲问题 某公园举行相亲大会,但要求如下: (1)每次只能从公园门进入1人(男或女); (2)-50<=男相亲人数-女相亲人数<=100。 试用P、V操作描述男、女相亲人入园的并发过程。 这个其实和仓库问题是一样的 Semaphore male = 100; Semaphore female = 50; //代表还能进入公园的数量 Semaphore mutex = 1; process_male() { while(1){ P(male); //男人准备进入 P(mutex)

负负得正的博客 1万+

Red Linux 6.0下安装Oracle 10g

一. 环境说明   RedHat Enterprise Linux 6.0 + Virtual Box 4.1.8 + Oracle 10g   二. 安装前配置   1. 安装Oracle 10g R2所需的软件包 用root登录到系统,依次安装以下包 # cd /mnt/cdrom/Server/ # rpm -Uvh setarch-2* # rpm -U

DBA@Robin 1万+

linux安装Oracle11g详细教程(redhat6、Centos7)

一、摘要 本文是安装Oracle11g的详细步骤; 本人已通过此方式,成功安装多次Oracle11g,包含Centos7下安装、redhat6下安装 oracle12c、18c和11g安装方式一致,下面安装的有第四章节是18c,12c可以作为参考; 另外,除了最终执行runInstaller 安装内容外,安装之前的内容基本的都是安装oracle必须的操作, 本人用此步骤成功安装18c、12c和11gR2,两者区别仅是最终安装执行runInstaller 命令稍微不同,以及配置文件不同。 二、安装软件及环

为什么简介是必填项? 1万+

Redhat5.4+Oracle 10g RAC+ASM+RAW的安装文档

基于Redhat 5 和redhat 4 的RAC 区别在对raw的处理上。 之前做的是redhat 4.7 的 RAC 实验。 准备做一个Redhat 5.4 的环境。 RAC 的一些理论东西: http://blog.csdn.net/tianlesoftware/a

linghao00的专栏 6653

OpenDRIVE车道计算避坑指南:为什么你的poly3曲线总对不齐?

本文深入解析OpenDRIVE标准中车道几何计算的三大核心难题:参数化三次多项式(ParamPoly3)的坐标系转换与参数映射、车道偏移与宽度的优先级判定,以及螺旋线(Spiral)接续的平滑性保障。通过实战案例与代码示例,提供了一套避免车道线错位与曲率不连续的精确计算与验证方法,是高精地图开发与仿真场景构建的实用避坑指南。

q9w8e7r6t5的博客 424

在redhat6企业版安装oracle10g

一、安装前的系统设定 service iptables stop chkconfig iptables off setenforce 0 cd /etc/selinux/ ls vi config把参数改成disabled 二、安装JDK 复制jdk和oracle10g压缩包到 /usr/local/下 1、解压jdk cd /usr/local tar xvzf jdk-7

断不了的弦的专栏 5755

记一次Nacos线程数飙升排查

Nacos线程飙升问题排查

叭嘣的博客 2632

Oracle学习笔记安装篇之在Redhat Enterprise Linux 6.3 x86_64下安装Oracle11g R2

好长时间没有写写自己的学习内容了,现在终于有时间将这几年的学习整理一下,以备日后所需。随着计算机已经进入64位时代,64位应用将渐成主流,服务器应用就更不用说了,在操作系统平台选择上,Oracle力推Linux作为首选平台,下面将说明在Redhat Enterprise Linux 6.3 x86_64下安装Oracle11g R2的过程。     要想顺利的安装Oracle,最好当然是参考Or

温故而知新 3万+

C语言实验——各位数字之和排序

C语言实验——各位数字之和排序Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description给定n个正整数,根据各位数字之和从小到大进行排序。 Input输入数据有多组,每组数据占一行,每行的第一个数正整数n,表示整数个数,后面...

aiLMengi000的博客 1244

PX4与ROS协同仿真:从键盘控制到无人机自主飞行

本文详细介绍了如何搭建PX4与ROS协同仿真环境,实现从键盘控制到无人机自主飞行的完整流程。通过XTDrone项目整合PX4飞控、ROS通信框架与Gazebo物理引擎,逐步讲解环境配置、键盘控制实现原理,并深入剖析了迈向Offboard模式实现自主飞行的核心代码与数据流,为无人机算法开发与测试提供了安全的仿真沙盒。

weixin_29169899的博客 498

在RedHat Linux AS 4.0上安装Oracle 10g

  在RedHat Linux AS 4.0上安装Oracle 10g参考Oracle® Database Quick Installation Guide10g Release 2 (10.2) for Linux x86 一,准备工作1、 安装RedHat AS4.0,Ø         网络IP地址配置Oracle必须固定IP地址,不能用DHCP。可以用图形界面修

ccnpgs的专栏 2687

电路设计仿真软件:Mentor Graphics_(1).MentorGraphics电路设计仿真软件概述

菜单栏:包含文件、编辑、视图、工具等菜单。工具栏:提供常用的工具按钮,如打开、保存、仿真等。原理图编辑区:用于绘制电路原理图。元件库:包含各种电路元件,支持拖拽操作。属性面板:显示选中元件的属性,可以进行参数设置。仿真控制区:用于设置仿真参数和控制仿真过程。输出窗口:显示仿真结果和日志信息。打开模型编辑器:点击“工具”菜单,选择“模型编辑器”。选择模型类型:在模型编辑器中选择模型类型,如SPICE模型。输入模型参数:根据需要输入模型的参数,如电阻值、电容值等。保存模型。

kkchenjj的博客 1925

Redhat安装oracle 10g

Oracle 10g linux安装文档 1,安装必须软件   下面是oracle官方文档中对redhat 4的要求,对不同的版本名称可能不同                               2,创建oracle用户和相关组 #groupadd oinstall #groupadd dba #useradd -G oinstall -g dba -moracle #p

Linucle的专栏 1193

Linux 内核中 ARP 协议的全链路解析:从触发机制到物理层发送

核心设计思想按需解析:减少不必要的 ARP 请求,降低网络负载。分层解耦:协议栈各层(邻居子系统、Netfilter、驱动)职责分离,提高扩展性。ARP的核心作用是将IP映射为MAC地址,确保数据链路层能正确封装帧。其触发时机围绕“未知MAC地址需求”展开,覆盖通信初始化、缓存更新、网络变更及维护等多种场景。

数字人生 367

运行后选择GDB/LLDB出现这样的窗口:launch: program ‘输入程序名称,例如 D:\Desktop\新建文件夹\a.exe‘ does not exist...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1129

图文详解Oracle10g在RedHat Linux6.5_x64上的安装

一.修改系统版本 Oracle10g时代,Red Hat版本还是4.x,根据不认识6.5版本,因此在安装时作兼容性检查时会报错,解决办法是更改系统版本信息文件/etc/redhat-release,将6.5改为4.8。 二.设置内核参数 vi /etc/sysctl.conf kernel.shmall = 2097152 kernel.shmmax =

2961

国科大《人工智能原理与算法》2021年期末试题+2024经验(2025指南)

2021年期末试题+24年复习指南

MatsumotoChrikk 2928

Redhat6 安装 Oracle 10g 数据库

0、安装前的设定 0.1 软件安装在什么位置?安装在 /home/oracle/database 下面 0.2 数据放在什么位置?数据放在/home/oracle/database/MTDBdata 0.3 数据库名称叫什么? 数据名 mtyxdb 0.4 需要的字符集是什么?ZHS16GBK 0.5 是否归档,归档到什么位置?  /home/oracle/database/MT

3635

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Redhat6.5下Oracle10g静默安装

Oracle10g静默安装 OK,接下来说Oracle10g的静默安装(就是命令行安装,不用图形界面)1、如果是新装的系统,没有安装过Oracle的话,请忽略以下步骤,直接从第二步开始。 [oracle@oracle ~]$ sqlplus / as sysdba SQL>shutdown abort [oracle@oracle ~]$ su - root [root@oracle ~]$ cd

纸上得来终觉浅 1837

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Redhat Linux AS4 安装 Oracle 10g (10.2)

Redhat Linux AS4 安装 Oracle 10g (10.2)1、硬件需求   1)内存>1024M     内存     交换分区     >1024M    2倍内存               >8192M    0.75倍内存     显示内存命令   2)/tmp > 400M   3)检测命令     内存     # grep MemTotal /proc/meminfo

1843

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

在redhat enterprise 5 下安装ORACLE 10g【原创】

一、       安装准备:下载文件l         Oracle Database 10g Release 2(10.2.0.1) Software解压文件解压文件命令:unzip 10201_database_linux32.zip解压后的文件夹可能“database”或“db/Disk1”Hosts文件在/etc/hosts 文件中包含一个完整合法的

picklove的专栏 1万+

redhat6安装oracle10,图文详解Oracle10g在RedHat Linux6.5_x64上的安装

一.修改系统版本Oracle10g时代,Red Hat版本还是4.x,根据不认识6.5版本,因此在安装时作兼容性检查时会报错,解决办法是更改系统版本信息文件/etc/redhat-release,将6.5改为4.8。二.设置内核参数vi /etc/sysctl.confkernel.shmall = 2097152kernel.shmmax = 4294967295kernel.shmmni = ...

weixin_42308335的博客 626

linux 6.4 安装oracle10g,Red Hat Linux 6.4 安装 Oracle 10g 及问题解决

记录下Red Hat Linux 6.4 安装 Oracle 10g 及问题解决的过程,希望对大家有所参考。也许在RHEL6 64版本上安装64位Oracle 10g 的问题是最多的,估计很多人都被这个虐过无数次(很多人都是Oracle虐我无数遍,我待Oracle如初恋)。从网上搜索关于这方面的内容就可见一斑。好,废话少说,正式进入正题。1、依赖包的检查[root@linuxidc yum.rep...

weixin_42683392的博客 510

oracle10g 安装手册 linux,Redhat Linux 6.2下Oracle 10g安装配置手册 PDF

RedHat Linux 6.2下Oracle10g安装配置手册以下都是root用户操作1. 安装准备1.1 RedHatLinux Server 6.2安装文件RatHatLinuxServer-6.2-x86_64.iso1.2 Oracle10g Linux安装文件10201_database_linux_x86_64.cpio.gz1.3 检查安装包rpm -qa |grep make...

weixin_39922004的博客 188
上一篇: centos 7.2 最小化安装GNOME
下一篇: windowsXP中安装 IBM db2 7.2 后的设置
eamon100
博客等级 码龄23年 90粉丝 53原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值