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