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