版本:1.0 做者:容 易linux
1)準備Centos5.7安裝盤,設置系統從光驅啓動,進入安裝界面c++
選擇安裝類型,這裏直接按enter選默認的圖形模式安裝sql
2)若是肯定光盤沒有問題跳過光盤檢測數據庫
3)選擇安裝語言centos
4)選擇鍵盤類型安全
4)因爲我是全新安裝,全部硬盤中的數據所有刪除,直接選擇yesbash
5)選擇自定義硬盤分區服務器
6)以下圖,這是最簡單的硬盤分區,能夠根據實際狀況調整,swap分區通常爲內存的2倍,可是不要超過8G。/boot默認100MB便可網絡
7)選擇GRUB安裝的位置,默認便可session
8)設置主機名
9)設置網絡鏈接類型,能夠動,也可DHCP自動獲取,以及啓動的ip版本,這裏用不上ipv6,全部不選
10)選擇系統的時區,中國選擇asia/shanghai便可,utc時間選中或不選中根據實際狀況而定
11)設置root賬號的密碼
12)選擇系統安裝類型,這裏選擇自定製安裝
選擇安裝包組以下
GNOME Desktop Environment
Graphical Internet
Development Libraries
Development Tools
Base
X Window System
13)準備安裝包
14)開始安裝系統
15)安裝完成重啓,記住重啓前推出安裝光盤
16)系統重啓中
17)系統第一次重啓後,須要完成如下基本設置
18)設置防火牆,這裏選擇關閉防火牆,能夠根據需求自定義
19)設置selinux,這裏選擇關閉,根據實際狀況自行選擇
20)設置系統時間,
21)設置ntp服務器,若是網絡中有本身的ntp時間服務器能夠添加ntp服務器
22)是否建立用戶,這裏不建立
23)聲卡設置,服務器不須要特殊配置聲卡,全部能夠直接下一步
24)是否安裝附件的軟件,若是不安裝直接finish便可完成centos5.7,系統會自動重啓
25)正常啓動後,將看到以下登陸界面,至此係統安裝完成,能夠根據本身的習慣作系統相關的配置。
1)將安裝盤從新掛載,安裝如下oracle數據庫依賴包
rpm -ivh libaio-devel-0.3.106-5.i386.rpm libaio-devel-0.3.106-5.x86_64.rpm sysstat-7.0.2-11.el5.x86_64.rpm compat-libstdc++-33-3.2.3-61.i386.rpm compat-libstdc++-33-3.2.3-61.x86_64.rpm unixODBC-2.2.11-7.1.i386.rpm unixODBC-2.2.11-7.1.x86_64.rpm unixODBC-devel-2.2.11-7.1.i386.rpm unixODBC-devel-2.2.11-7.1.x86_64.rpm pdksh-5.2.14-36.el5.x86_64.rpm
2)vi /etc/sysctl.conf #配置系統內核參數,知足oracle數據配置需求
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
添加完成後運行 sysctl –p 使其生效
3)vi /etc/security/limits.conf #置文件和進程限制,添加如下內容
oracle hard nofile 65536
oracle hard nproc 16384
4)準備oracle用戶和組,以及安裝目錄
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
mkdir /oracle
chown oracle.oinstall /oracle/
5)準備數據庫安裝文件
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
解壓縮後將會生產database目錄,設置目錄能夠被oracle用戶訪問
6)配置網絡和設置主機名,爲oracle數據庫服務器配置一個固定的ip地址,以及根據實際需求設置oracle服務器的主機名,完成以上配置後重啓操做系統。
7)進行簡單的系統優化,關閉不須要的服務,以及設置操做系統默認運行級別爲init 3,根據自身需求進行優化,設置完後重啓操做系統,然全部配置生效。
chkconfig --level 35 ip6tables off
chkconfig --level 35 atd off
chkconfig --level 35 cups off
chkconfig --level 345 pcscd off
chkconfig --level 345 hidd off
chkconfig --level 345 avahi-daemon off
chkconfig --level 35 microcode_ctl off
chkconfig --level 35 restorecond off
chkconfig --level 35 mcstrans off
1) 用oracle用戶登陸,經過如下命令設置遠程Xwindow
export DISPLAY=192.168.0.247:0
2)進入軟件目錄 運行 ./runInstaller 開始安裝
3)選擇安裝內容,這裏只安裝數據庫軟件
4)選擇節點,這裏屬於單實例安裝
5)選擇語言
6)選擇須要安裝的版本
7)設置oracle_base目錄和oracle_home目錄
8)設置inventory目錄和組
9)系統相關檢測
10)安裝概要信息
11)開始安裝
12)安裝過程當中會提示你以root用戶登陸運行如下2個腳本,運行完成後點擊OK便可
13)完成安裝退出
14)設置oracle用戶環境變量,vi ~/.bashrc 文件添加如下內容,而且
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/11g/
export PATH=$ORACLE_HOME/bin:$PATH
運行source .bashrc 讓配置生效
1) 設置環境變量 cat .bashrc 確保有如下數據庫環境變量
[oracle@yj_data ~]$ cat .bashrc
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/11g/
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=mydata
2) 建立目錄
mkdir -pv $ORACLE_BASE/oradata/mydata
mkdir -pv $ORACLE_BASE/admin/mydata/adump
mkdir -pv $ORACLE_BASE/flash_recovery_area
3) 建立密碼文件
orapwd file=/oracle/11g/dbs/orapwmydata password=oracle entries=5
file 密碼文件的文件名和位置;password sys用戶的密碼;
entries:密碼文件中能夠存放的最大用戶數,對應於容許以SYSDBA/SYSOPER權限登陸數據庫的最大用戶數。因爲在之後的維護中,若用戶數超出了此限制,則須要重建密碼文件,因此此參數能夠根據須要設置得大一些。
4)在$ORACLE_HOME/dbs目錄下建立ORACLE的參數文
cp init.ora initmydata.ora vi initmydata.ora內容以下
##備註## memory_target參數的值不要大於/dev/shm的大小須要對/dev/shm進行調整
db_name='mydata'
memory_target=2G
processes = 150
audit_file_dest='/oracle/admin/mydata/adump'
audit_trail ='db'
db_block_size=8192
db_domain=''
db_recovery_file_dest='/oracle/flash_recovery_area'
db_recovery_file_dest_size=2G
diagnostic_dest='/oracle'
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
open_cursors=300
remote_login_passwordfile='EXCLUSIVE'
undo_tablespace='UNDOTBS'
control_files = ('/oracle/oradata/mydata/mydata_control1.ctl','/oracle/oradata/mydata/mydata_control2.ctl')
compatible ='11.2.0'
==================================================================
調整/dev/shm方法
cat /etc/fstab | grep tmpfs
tmpfs /dev/shm
tmpfs defaults,size=4G 0 0
mount -o remount,size=4G /dev/shm
==================================================================
5) 建立spfile
[oracle@yj_data ~]$ sqlplus /nolog
SQL> conn sys as sysdba;
SQL> conn sys as sysdba;
Enter password:
Connected to an idle instance.
SQL> create spfile='/oracle/11g/dbs/spfilemydata.ora' from pfile = '/oracle/11g/dbs/initmydata.ora';
6) 啓動數據庫到nomount狀態
SQL> startup nomount
ORACLE instance started.
Total System Global Area 2137886720 bytes
Fixed Size 2215064 bytes
Variable Size 1224737640 bytes
Database Buffers 905969664 bytes
Redo Buffers 4964352 bytes
7)編寫建庫腳本 /home/oracle/createmydata.sql
CREATE DATABASE mydata
USER SYS IDENTIFIED BY tiger
USER SYSTEM IDENTIFIED BY tiger
LOGFILE GROUP 1 ('/oracle/oradata/mydata/redo01a.log','/oracle/oradata/mydata/redo01b.log') SIZE 10M BLOCKSIZE 512,
GROUP 2 ('/oracle/oradata/mydata/redo02a.log','/oracle/oradata/mydata/redo02b.log') SIZE 10M BLOCKSIZE 512,
GROUP 3 ('/oracle/oradata/mydata/redo03a.log','/oracle/oradata/mydata/redo03b.log') SIZE 10M BLOCKSIZE 512
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
EXTENT MANAGEMENT LOCAL
DATAFILE '/oracle/oradata/mydata/system01.dbf' SIZE 325M REUSE
SYSAUX DATAFILE '/oracle/oradata/mydata/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE users
DATAFILE '/oracle/oradata/mydata/users01.dbf'
SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/oracle/oradata/mydata/temp01.dbf'
SIZE 200M REUSE
UNDO TABLESPACE UNDOTBS
DATAFILE '/oracle/oradata/mydata/undotbs.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
8) 運行腳本,建立數據庫
sql>@/home/oracle/createmydata.sql
9)運行如下腳本建立相關的數據字典
@?/rdbms/admin/catalog.sql //建立經常使用的數據字典視圖和同義詞
@?/rdbms/admin/catproc.sql //運行服務器端PL/SQL所必需的腳本
@?/sqlplus/admin/pupbld.sql //出於安全考慮
1)
create tablespace test datafile '/oracle/oradata/mydata/test01.dbf' size 8M autoextend on next 5M maxsize 10M;
2)
create tablespace sales datafile '/oracle/oradata/mydata/sales01.dbf' size 10M autoextend on next 5M maxsize unlimited maxsize unlimited 是大小不受限制
3)
create tablespace sales datafile '/oracle/oradata/mydata/sales01.dbf' size 10M autoextend on next 5M maxsize 100M extent management local uniform; unform表示區的大小相同,默認爲1M
4)
create tablespace sales datafile '/oracle/oradata/mydata/sales01.dbf' size 10M autoextend on next 5M maxsize 100M extent management local uniform size 500K; uniform size 500K表示區的大小相同,爲500K
5)
create tablespace sales datafile ‘/oracle/oradata/mydata/sales01.dbf' size 10M autoextend on next 5M maxsize 100M extent management local autoallocate; autoallocate表示區的大小由隨表的大小自動動態改變,大表使用大區小表使用小區
1)
create temporary tablespace user_temp tempfile '/oracle/oradata/mydata/user_temp.dbf' size 50m autoextend on next 50m maxsize 20m extent management local;
1)
CREATE UNDO TABLESPACE UNDOTBS02 DATAFILE '/oracle/oradata/mydata/UNDOTBS02.dbf' SIZE 50M
1)增長數據文件
ALTER TABLESPACE game ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;
2)手動增長數據文件尺寸
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf' RESIZE 4000M;
3)設定數據文件自動擴展
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf AUTOEXTEND ON NEXT 100M MAXSIZE 10000M;
4)更改自動擴展屬性
alter database datafile /oracle/oradata/mydata/sales01.dbf','/oracle/oradata/mydata/sales02.dbf' autoextend off;
1) 刪除表空間
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
刪除表空間
前提:刪除表空間以前要確認該表空間沒有被其餘用戶使用以後再作刪除
including contents 刪除表空間中的內容,若是刪除表空間以前表空間中有內容,
而未加此參數,表空間刪不掉,因此習慣性的加此參數
including datafiles 刪除表空間中的數據文件
cascade constraints 同時刪除tablespace中表的外鍵參照
drop tablespace TBS_QUERY including contents and datafiles cascade constraints;
1.使表空間脫機
ALTER TABLESPACE game OFFLINE;
若是是意外刪除了數據文件,則必須帶有RECOVER選項
ALTER TABLESPACE game OFFLINE FOR RECOVER;
2.使表空間聯機
ALTER TABLESPACE game ONLINE;
3.使數據文件脫機
ALTER DATABASE DATAFILE 3 OFFLINE;
4.使數據文件聯機
ALTER DATABASE DATAFILE 3 ONLINE;
5.使表空間只讀
ALTER TABLESPACE game READ ONLY;
6.使表空間可讀寫
ALTER TABLESPACE game READ WRITE
1)建立用戶
create user username identified by password default tablespace user_data temporary tablespace user_temp;
2)受權
grant connect,resource to username;
GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW ,DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO addressbook
3)撤銷權限
revoke 權限... from 用戶名;
4)刪除用戶
drop user user_name cascade;
Oracle建立表空間語法描述:
CREATE [UNDO] TABLESPACE tablespace_name
[DATAFILE datefile_spec1 [,datefile_spec2] ......
[ { MININUM EXTENT integer [k|m]
| BLOCKSIZE integer [k]
|logging clause
|FORCE LOGGING
|DEFAULT {data_segment_compression} storage_clause
|[online|offline]
|[PERMANENT|TEMPORARY]
|extent_manager_clause
|segment_manager_clause}]
1、undo
說明系統將建立一個回滾表空間。
在9i中數據庫管理員能夠沒必要管理回滾段,只有創建了undo表空間,系統就會自動管理回滾段的分配,回收的工做。固然,也能夠建立通常的表空間,在上面建立回滾段.不過對於用戶來講,系統管理比本身管理要好不少.若是須要本身管理,請參見回滾段管理的命令詳解.
當沒有爲系統指定回滾表空間時,系統將使用system系統回滾段來進行事務管理。
2、tablespace
指出表空間的名稱。
3、datafile datefile_spec1
指出表空間包含什麼空間文件。datefile_spec1 是形如 ['filename'] [SIZE integer [ K | M ]] [REUSE] [autoextend_clause]
[autoextend_clause]是形如: AUTOEXTEND { OFF | ON [ NEXT integer [ K | M ] ] [maxsize_clause] }
其中filename是數據文件的全路徑名,size是文件的大小,REUSE表示文件是否被重用.
AUTOEXTEND代表是否自動擴展. OFF | ON 表示自動擴展是否被關閉.NEXT 表示數據文件滿了之後,擴展的大小.
maxsize_clause表示數據文件的最大大小.形如MAXSIZE { UNLIMITED | integer [ K | M ] }.UNLIMITED 表示無限的表空間.integer是數據文件的最大大小.
DATAFILE 'D:\oracle\oradata\IMAGEDATA01.dbf' SIZE 2000M,
'D:\oracle\oradata\IMAGEDATA02.dbf' SIZE 2000M
4、MININUM EXTENT integer [k|m]
指出在表空間中範圍的最小值。這個參數能夠減少空間碎片,保證在表空間的範圍是這個數值的整數倍。
5、BLOCKSIZE integer [k]
這個參數能夠設定一個不標準的塊的大小。若是要設置這個參數,必須設置db_block_size,至少一個db_nk_block_size,而且聲明的integer的值必須等於db_nk_block_size.
注意:在臨時表空間不能設置這個參數。
6、logging clause
這個子句聲明這個表空間上全部的用戶對象的日誌屬性(缺省是logging),包括表,索引,分區,物化視圖,物化視圖上的索引,分區。
7、FORCE LOGGING
使用這個子句指出表空間進入強制日誌模式。此時,系統將記錄表空間上對象的全部改變,除了臨時段的改變。這個參數高於對象的nologging選項。
注意:設置這個參數數據庫不能open而且處於讀寫模式。並且,在臨時表空間和回滾表空間中不能使用這個選項。
8、DEFAULT storage_clause
聲明缺省的存儲子句。
9、online|offline
改變表空間的狀態。online使表空間建立後當即有效.這是缺省值.offline使表空間建立後無效.這個值,能夠從dba_tablespace中獲得。
10、PERMANENT|TEMPORARY
指出表空間的屬性,是永久表空間仍是臨時表空間。永久表空間存放的是永久對象,臨時表空間存放的是session生命期中存在的臨時對象。這個參數 生成的臨時表空間建立後一直都是字典管理,不能使用extent management local選項。若是要建立本地管理表空間,必須使用create temporary tablespace
注意,聲明瞭這個參數後,不能聲明block size
11、extent_management_clause
這是最重要的子句,說明了表空間如何管理範圍。一旦你聲明瞭這個子句,只能經過移植的方式改變這些參數。
若是但願表空間本地管理的話,聲明local選項。本地管理表空間是經過位圖管理的。autoallocate說明表空間自動分配範圍,用戶不能指定範圍的大小。只有9.0以上的版本具備這個功能。uniform說明表空間的範圍的固定大小,缺省是1m。
不能將本地管理的數據庫的system表空間設置成字典管理。
oracle公司推薦使用本地管理表空間。
若是沒有設置extent_management_clause,oracle會給他設置一個默認值。若是初始化參數compatible小於9.0.0,那麼系統建立字典管理表空間。若是大於9.0.0,那麼按照以下設置:
若是沒有指定default storage_clause,oracle建立一個自動分配的本地管理表空間。
不然,若是指定了mininum extent,那麼oracle判斷mininum extent 、initial、next是否相等,以及pctincrease是否=0.若是知足以上的條件,oracle建立一個本地管理表空間,extent size是initial.若是不知足以上條件,那麼oracle將建立一個自動分配的本地管理表空間。
若是沒有指定mininum extent。initial、那麼oracle判斷next是否相等,以及pctincrease是否=0。若是知足oracle建立一個本地管理表空間並指定uniform。不然oracle將建立一個自動分配的本地管理表空間。
注意:本地管理表空間只能存儲永久對象。若是你聲明瞭local,將不能聲明default storage_clause,mininum extent、temporary.
EXTENT MANAGEMENT LOCAL
12、segment_management_clause
SEGMENT SPACE MANAGEMENT AUTO