oracle安裝配置

bugbeta發表於2018-04-10
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

相關文章