欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle安装配置

程序员文章站 2022-03-26 18:42:06
yum groupinstall "X Window System" 启动 vncserver 添加用户 groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle 修改内核 /etc/sysctl.c ......
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