oracle安装配置

X Window System

yum groupinstall "X Window System"

安装

启动 vncserver

添加用户

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle

修改内核 /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

应用配置:/sbin/sysctl -p

修改用户限制 /etc/security/limits.conf

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

修改用户验证选项 /etc/pam.d/login

session required pam_limits.so

修改用户配置文件 /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

安装目录配置

mkdir -p /u01/

chown -R oracle:oinstall /u01/

chmod -R 775 /u01/

修改root用户bash shell: /root/.bash_profile(oracle用户的bash环境也修改掉/home/oracle/.bash_profile)

#oracle

export ORACLE_BASE=/u01/app

export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=orcl

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

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

export CLASSPATH=$ORACLE_HOME/jdk/jre

export NLS_LANG=american_america.ZHS16GBK

export TMP=/tmp

export TMPDIR=$TMP

必要软件

libaio-devel sysstat unixODBC unixODBC-devel pdksh

启动图形界面,切换安装用户

xclock可调出clock

xhost localhost 或者 xhost +

su oracle

执行安装:./runInstaller ;

如果执行时显示乱码,先切换为英文,export LANG=en ,暂时切换为英文;

安装时会产生临时文件到/tmp,所以那个目录要oracle用户有权限写,如果没有,使用 chmod -R 777 /tmp

图形安装过程(略)

产品语言:添加Simple Chinese

选择字符编码为:ZHS16GBK

安装完成

通过 https://10.12.0.100:1158/em 访问,此时oracle已启动;

卸载

使用oracle deinstall: ./runInstaller -deinstall

切换至root用户

rm -f /etc/oraInst.loc /etc/oratab

rm -rf /etc/oracle

rm -f /etc/initab.cssd

rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv

服务启动

sqlplus "/as sysdba"

startup

退出sqlplus启动lsnrctl监听

lsnrctl start

----一步步启动----

startup nomount; --started

alter database mount; --mounted

alter database open; --selecct status from v$instance; --open

-----

alter database close;--mounted

alter database dismount;--started

shutdown;

开机自启动

root用户修改/etc/rc.local 添加:

su - oracle -c 'dbstart'

su - oracle -c 'lsnrctl start'

root用户修改:/etc/oratab

orcl:/u01/app/oracle/product/11.2.0/dbhome_1:Y

sqlplus管理

sqlplus /nolog

SQL> conn / as sysdba

SQL> startup nomount

ORACLE instance started.

Total System Global Area 839282688 bytes

Fixed Size 2217992 bytes

Variable Size 549455864 bytes

Database Buffers 281018368 bytes

Redo Buffers 6590464 bytes

SQL> alter database mount

SQL> alter database open

以上三步可直接使用 startup 完成启动;

关闭

shutdown immediate;

sqlplus设置

show all --显示所有设置

define --显示所有变量

SQL>l (字母)列出执行过的命令

del 行号

调用vi

vi $ORACLE_HOME/sqlplus/admin/glogin.sql

加入DEFINE_EDITOR=vi

EM

启动em管理1158

emctl start dbconsole

启动监听1521

lsnrctl start

修改监听端口

$ORACLE_HOME/network/admin/listener.ora

修改完重启动lsnrctl,监听正常了,但em不能正常监控到;

重建EM

重建过程中保持lsnrctl 正常;

emca -deconfig dbcontrol db -repos drop

权限控制

系统权限

创建用户

create user lubx identified by "123" account unlock;

grant connect to lubx;

外部认证用户:oracle 不依赖于oracle数据字典验证,依赖于操作系统验证;

创建外部认证用户

create user ora001 identified externally account unlock;

grant connect to ora001;

要使用ora001登录需做以下设置:

alter system set remote_os_authent=true scope=spfile;

alter system set os_authent_prefix='' scope=spfile;

重启数据库:shutdown immediate; startup;

创建系统账号ora001: useradd -g oinstall ora001

sqlplus /nolog

conn /

show user;

Windows下:

create user ora001 identified externally account unlock;

grant connect to ora001;

grant resource to ora001;

创建系统账号:ora001

授予权限:

grant create session to "lubx"

grant unlimited tablespace to "lubx"

如果加上with admin option,则该用户可以将引权限转授其他人;

取消权限:revoke(不能实现级联取消权限)

revoke create table from lubx

对象权限

授予权限

grant select,update on test to lubx

可加with admin option

取消权限revoke 可实现级联取消权限

revoke select,update on test from lubx

删除用户

如果此用户没创建任何对象,直接 drop user;否则加 casecade

角色:基于权限或其他角色的容器

grant "connect" to "lubx"

grant "resource" to "lubx"

不能使用with grant option但可使用with grant admin

Profile

alter system set resource_limit=true;

show parameter resource_limit;

create profile "TEST_PROFILE" limit failed_login_attempts 3;

alter user lubx profile TEST_PROFILE;

grant connect,resource,select_catalog_role,sysdba to user

排错目录

/u01/app/oracle/admin/orcl/dpdump

/u01/app/oracle/diag/rdbms/orcl/orcl/trace

基础知识

SGA: 共享池、数据库高速缓冲区、日志缓冲区...

共享池:oracle硬解析后的SQL语句,以及最近使用的对象元数据;

高速缓冲:待更新的数据;

日志缓冲:CKPT使用

Oracle基本进程:

SMON:系统监视进程,负责数据库打开;

PMON: 进程监视进程,管理用户会话;

DBWn:数据库写入器,实时将调整缓冲区数据变化定稿磁盘重做日志文件;

CKPT:检查点进程,控制DBWn发生频率;

常用命令

sqlplus "/as sysdba"

shutdown immediate;

netca

netmgr

sqlplus不支持上下键解决

安装: yum install readline

编译安装 http://utopia.knoware.nl/~hlub/rlwrap/rlwrap-0.37.tar.gz

修改 .bashrc

alias sqlplus='rlwrap sqlplus'

alias rman='rlwrap rman'

支持删除: stty erase ^H

init.ora

db_name instance_name service_name

OS

oracle_sid

tns

service_name sid

导入示例

@/u01/oracle/rdbms/admin/utlsampl.sql

连接数

select value from v$parameter where name = 'processes'--数据库允许的最大连接数

select count(*) from v$process; --当前连接数

Linux下安装Oracle客户端

su - oracle

unzip linux.x64_11gR1_client.zip

1)修改 clientcustom.rsp(/tmp/client/response)

FROM_LOCATION="/tmp/client/stage/products.xml"

ORACLE_HOME=/usr/local/oracle

ORACLE_HOME_name="ORACLE_HOME"

COMPONENT_LANGUAGES={"en","zh_CN"}

2)开始安装

./runInstaller -silent -responseFile /tmp/client/response/clientcustom.rsp

3)修改oracle用户.profile

umask 022

ORACLE_BASE=/usr/local/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.1.0/client; export ORACLE_HOME

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

source .profile

相关推荐