打開服務(wù)器
net start oracleservice
打開監(jiān)聽器
lsnrctl start
關(guān)閉服務(wù)器
net stop oracleservicebinbo
關(guān)閉監(jiān)聽器
lsnrctl stop
管理命令:
數(shù)據(jù)庫配置:dbca
網(wǎng)路配置:netca芋绸,netmgr?
查看集群狀態(tài)
crsctl stat res -t
如何連接到遠(yuǎn)程數(shù)據(jù)庫服務(wù)器
connect username/password@[//]host[:port][/service_name]
例如:connect scott/tiger@192.168.100.134:1521/mdb04
注:如果不指定端口的話,默認(rèn)的端口就是1521
啟動數(shù)據(jù)庫
切換到oracle用戶下,輸入sqlplus / as sysdba
SQL>startup;
啟動過程中沒有報(bào)錯,啟動之后查詢
SQL >select status from v$instance;
狀態(tài)為OPEN?,則啟動成功
關(guān)閉數(shù)據(jù)庫
切換到oracle用戶下纤子,輸入sqlplus / as sysdba
SQL>shutdown immediate;
查詢指定表空間大小
select a.tablespace_name "tablespace",
round(a.bytes_alloc/1024/1024,2) "all(M)",
round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "used(M)",
round(nvl(b.bytes_free,0)/1024/1024,2) "free(M)",
100-round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "used(%)",
round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "free(%)"
from (select f.tablespace_name,sum(f.bytes) bytes_alloc from dba_data_files f group by tablespace_name) a,
(select f.tablespace_name,sum(f.bytes) bytes_free from dba_free_space f group by tablespace_name) b
where a.tablespace_name = b.tablespace_name;
啟動數(shù)據(jù)庫過程介紹
shutdown當(dāng)前狀態(tài)(數(shù)據(jù)庫不可用,不能執(zhí)行除startup外的SQL命令)?可做操作(通過操作系統(tǒng)命令復(fù)制數(shù)據(jù)庫)
nomount?當(dāng)前狀態(tài)(讀取了參數(shù)文件,啟動了數(shù)據(jù)庫實(shí)例)?可做操作(恢復(fù)控制文件)
mount?當(dāng)前狀態(tài)(在nomount的基礎(chǔ)上加載了控制文件)?可做操作(恢復(fù)數(shù)據(jù)庫文件形用,啟動歸檔模式就轧,冷備份)
open?當(dāng)前狀態(tài)?(在mount的基礎(chǔ)上加載了數(shù)據(jù)文件)?可做操作(通常狀態(tài),可以讀取和寫入數(shù)據(jù))
如何啟動跟關(guān)閉歸檔模式
檢查數(shù)據(jù)庫是否啟用歸檔日志模式
SQL> archive log list;
啟用歸檔日志模式
SQL> alter database archivelog;
ALTER SYSTEM set log_archive_dest_1='LOCATION=/arch' scope=spfile;
控制文件的作用田度?
控制文件妒御,是一個(gè)二進(jìn)制文件,是數(shù)據(jù)庫的非常關(guān)鍵镇饺、非常重要的文件乎莉。它知道數(shù)據(jù)文件、重做日志的存放位置奸笤,數(shù)據(jù)庫最新的狀態(tài)點(diǎn)(CheckPoint)惋啃,歸檔日志文件信息、備份信息等监右。
查詢控制文件的位置的SQL命令:
SQL> show parameter control_files;?或者?SQL> select name from v$controlfile;
rman備份與恢復(fù)的命令边灭?
run{
allocate channel ch00 type disk format '/disk1/bk_%s_%p_%t';
backup database plus archivelog;
backup current controlfile;
release channel ch00;
}
恢復(fù)控制文件
run{
allocate channel ch00 type disk;
restore controlfile from '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/0gpo886i_1_1';
release channel ch00;
}
恢復(fù)數(shù)據(jù)文件
run{
allocate channel ch00 type disk format '/disk1/bk_%s_%p_%t';
restore database;
recover database;
release channel ch00;
}
如何創(chuàng)建pfile文件跟spfile文件?
SQL>create pfile=‘/opt/oracle/product/db/dbs/initoradb.ora’ from spfile;
SQL>create spfile=‘/opt/oracle/product/db/dbs/spfileoradb.ora’ from pfile='/opt/oracle/product/db/dbs/initoradb.ora';
查看數(shù)據(jù)文件的信息
SQL> set linesize 160
SQL> col name format a50
SQL> select file#,name from v$datafile;
使用duplicate在線備份
在備庫創(chuàng)建/opt/oracle/gen_stb.rcv
/opt/oracle> more gen_stb.rcv
run
{
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate auxiliary channel stby1 type disk;
allocate auxiliary channel stby2 type disk;
allocate auxiliary channel stby3 type disk;
duplicate target database for standby from active database nofilenamecheck;
}
使用oracle用戶在備庫執(zhí)行
nohup rman target sys/<sys password>@<pr_db_alias> auxiliary sys/<sys password>@<dr_db_alias> cmdfile=/opt/oracle/gen_stb.rcv log=/opt/oracle/gen_stb.log &
創(chuàng)建表空間
ASM
create tablespace ring datafile '+DG_DATA/ring_data01' size 8000m extent management local segment space management auto;
文件系統(tǒng)
create tablespace usdp datafile '/opt/oracle/oradata/usdp_data01' size 5000m extent management local segment space management auto;
裸設(shè)備
root用戶輸入vgs?查看剩余空間
cd /dev/vg_data
查看LV編號ls
創(chuàng)建LV
lvcreate -L 8008 -n ring_data12 /dev/vg_data
掛載裸設(shè)備
執(zhí)行腳本raw.sh健盒,該腳本一般放在/opt/oracle目錄下
./raw.sh
執(zhí)行腳本linkraw_oracle.sh绒瘦,具體目錄看raw.sh腳本,一般在/opt/VRTSvcs/bin/vg或者/etc/init.d/
sh linkraw_oracle.sh start
create tablespace usdp datafile '/dev/vg_data/rring_data12' size 5000m extent management local segment space management auto;
刪除表空間
drop tablespace RING_DATA including contents and datafiles;
修改表空間
ASM
alter tablespace ring add datafile '+DG_INDEX/oradb/ring_data03' size 16000m;
修改sys/ststem的密碼
alter user system identified by "password_123";
#route add default gw 192.168.0.1
添加192.168.0.1默認(rèn)路由(即網(wǎng)關(guān))
EXPDP扣癣、IMPDP導(dǎo)入導(dǎo)出數(shù)據(jù)方法
create directory PDAMDA as 'D:\oradata';
grant read,write on directory PDAMDA to PDAMDA;
expdp PDAMDA/atmopdamda DIRECTORY=PDAMDA DUMPFILE=PDAMDA.dmp SCHEMAS=PDAMDA logfile=PDAMDAexpdp.log
create directory imput as 'D:\Oracle\BACKUP\IMPDP';
grant read,write on directory imput to MMPD;
impdp MMPD/atmommpd DIRECTORY=imput DUMPFILE=MMPD.dmp logfile=IMPUT_MMPD.log
參數(shù)remap_schema
remap_schema=expdp時(shí)的用戶:?將要?impdp的用戶
注意有兩個(gè)用戶中間有個(gè)冒號
EXP惰帽、IMP導(dǎo)入導(dǎo)出數(shù)據(jù)方法
imp rbt/rbt file=RBTLMEG21.dmp commit=y touser=rbt fromuser=R_ZT_LMEG21B021 buffer=102400 log = d1.log
exp rbt2/password_123 rows=y file=china_rbt.dmp log = rbt2.log
?1.?查看主機(jī)名
# hostname
2.?查看CPU個(gè)數(shù)和位數(shù)
查看CPU個(gè)數(shù)可以用top,也可以:
# cat /proc/cpuinfo | grep processor
查看CPU位數(shù)
# uname -m
3.?查看物理內(nèi)存
# cat /proc/meminfo | grep MemTotal
4.?查看SWAP
# cat /proc/swaps
查看表空間數(shù)據(jù)文件狀態(tài)
select file_id,file_name,status,online_status from dba_data_files;
創(chuàng)建rac數(shù)據(jù)庫的DBLINK
-- Create database link
create database link RBTMC
connect to c67_usdp identified by Huawei_123
using '(DESCRIPTION =
(FAILOVER = ON)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.137.19.134)(PORT = 1526))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.137.19.225)(PORT = 1526))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.137.19.234)(PORT = 1526))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = service_drora)
)
)';
?dataguard數(shù)據(jù)庫角色轉(zhuǎn)換
primary執(zhí)行
alter database commit to switchover to physical standby with session shutdown父虑;
shutdown immediate该酗;
startup mount;
alter database set standby database to maximize Performance士嚎;
alter database open呜魄;
stanby執(zhí)行
alter database commit to switchover to PRIMARY with session shutdown;
alter database set standby database to maximize Performance;
alter database open;
alter database recover managed standby database using current logfile disconnect from session;
DataGuard常用命令
查看數(shù)據(jù)庫的狀態(tài)?SQL> select status from v$instance;
查看數(shù)據(jù)庫的打開模式?SQL> select open_mode from v$database;
查看數(shù)據(jù)庫參數(shù)配置?SQL> show parameter parname?其中parname是按參數(shù)名前綴模糊匹配的。例如:SQL> show parameter DB_NAME
檢查TNS是否能正常連接?% tnsping tnsname?例如:% tnsping droradg01
啟動/檢查/停止監(jiān)聽服務(wù)?% lsnrctl start/status/stop listenername
設(shè)置snapshot相關(guān)的數(shù)據(jù)庫參數(shù)莱衩。
SQL> alter system set db_recovery_file_dest_size=10g;
alter system set db_recovery_file_dest="/oracle/snapshot";
“/oracle/snapshot”的屬主為“oracle”耕赘、屬組為“oinstall”、權(quán)限為“750”膳殷。
啟用Real Time Apply?[TW(1]?SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
查看Real Time Apply是否啟用?SQL> select RECOVERY_啟用歸檔日志模式
關(guān)閉數(shù)據(jù)庫:SQL> shutdown immediate;
啟動到mount模式:SQL> startup mount;
啟動歸檔模式:SQL> alter database archivelog;
設(shè)置歸檔日志路徑:SQL> alter system set log_archive_dest_1='location=/oracle/arch' scope=both;
啟動數(shù)據(jù)庫到open狀態(tài):SQL> alter database open;?修改歸檔模式或設(shè)置歸檔日志路徑操骡,需要重啟數(shù)據(jù)庫。
關(guān)閉歸檔日志模式
關(guān)閉數(shù)據(jù)庫:SQL> shutdown immediate;
啟動到mount模式:SQL> startup mount;
設(shè)置非歸檔模式:SQL> alter database noarchivelog;
啟動數(shù)據(jù)庫到open狀態(tài):SQL> alter database open;
修改歸檔模式需要重啟數(shù)據(jù)庫赚窃。
手工切換日志[TW(2]??SQL> alter system switch logfile;
創(chuàng)建standby redo日志?SQL> alter database add standby logfile thread 1 group 20 '/dev/vx/rdsk/vgora/rlv_stdredo1' size 1000M;?無
查看standby redo日志大小
SQL> select GROUP#,THREAD#,BYTES/1024/1024 from V$STANDBY_LOG;?無
刪除redo日志或standby redo日志
SQL> alter database drop logfile group 21;?無
查看redo日志大小
SQL> select GROUP#,BYTES/1024/1024 from v$log;?無
檢查redo日志或standby redo日志對應(yīng)的數(shù)據(jù)文件
SQL> select GROUP#,TYPE,MEMBER from v$logfile;?無
查看spfile的路徑?SQL> show parameter spfile;?無
備份spfile文件到本地?SQL> create pfile='pfilename' from spfile='spfilename';?例如:SQL> create pfile='?/dbs/initora01.ora.bak' from spfile='/dev/vx/rdsk/vgora/lv_spfile';
查看DG空閑空間?SQL> select name,free_mb from v$asm_diskgroup;?無E from v$archive_Dest_status;?正常情況下輸出應(yīng)為:RECOVERY_MODE ----------------------- MANAGED REAL TIME APPLY IDLE IDLE IDLE IDLE IDLE
停用Real Time Apply SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
查詢MRP0進(jìn)程狀態(tài)?SQL> SELECT PROCESS, STATUS, THREAD#, SEQUENCE#, BLOCK# FROM V$MANAGED_STANDBY where PROCESS='MRP0' or PROCESS='RFS';?在備用數(shù)據(jù)庫執(zhí)行
磁盤命令
1.?查看磁盤
l?收集所有磁盤基本信息
# lsscsi
l?查看具體磁盤大小
# fdisk -l /dev/diskname
2.?初始化PV
# pvcreate-f /dev/diskname
3.?創(chuàng)建VG
# vgcreate-s pesize vg_name /dev/diskname
4.?擴(kuò)展VG
# vgextend/dev/vg_name /dev/diskname1 /dev/diskname2
5.?刪除VG
l?卸載文件系統(tǒng)
l?先刪除VG中所有的lv
l?去激活VG
# vgchange -a n /dev/vg_name
l?刪除VG
# vgremove /dev/vg_name
6.激活VG
# vgchange -a y vg_name
7.去激活VG
# vgchange -a n vg_name
8.創(chuàng)建LV
l?指定LE數(shù)量(LV大小為100個(gè)LE)
# lvcreate -l 100 -n Name/dev/vg_name
l?指定大胁嵴小(LV大小為100M)
# lvcreate -L 100 -n Name /dev/vg_name
9.?擴(kuò)展LV
l?指定LE數(shù)量(LV擴(kuò)展100個(gè)LE)
# lvextend -l 100 /dev/vg_name/lv_name
l?指定大小(LV擴(kuò)展100M)
# lvextend -L 100 /dev/vg_name/lv_name
10.?刪除LV
# lvremove/dev/vg_name/lv_name
11.?創(chuàng)建文件系統(tǒng)
l?創(chuàng)建文件系統(tǒng)
# mkfs.ext3 /dev/vg_name/lv_name
l?創(chuàng)建文件系統(tǒng)掛載的目錄
# mkdir /fsname
l?掛載文件系統(tǒng)
# mount /dev/vg_name/lv_name /fsname
l?卸載文件系統(tǒng)
# umount /fsname
Dataguard基線備份的RMAN腳本
?vi bak_cmdfile
在文件中增加如下內(nèi)容:
Run
?{
allocate channel t1 type disk; CROSSCHECK ARCHIVELOG ALL;
backup as compressed backupset full database format '/oracle/backup/dbback_%s_%p_%T_%d'; sql 'alter system archive log current';
backup current controlfile format '/oracle/backup/prycontrolfile';
?backup current controlfile for standby format '/oracle/backup/stbcontrolfile';
release CHANNEL t1;
}
中勒极,“/oracle/backup”為數(shù)據(jù)庫備份目錄是掰。該目錄必須已存在,且屬主應(yīng)為oracle辱匿,權(quán)限至少為700键痛。
% rman target / nocatalog cmdfile=bak_cmdfile
tar -cvf dgbackup.tar /oracle/backup/*
tar -xvf dgbackup.tar
?vi restore_cmdfile
在文件中增加如下內(nèi)容:
run {restore standby controlfile from '/oracle/backup/stbcontrolfile';alter database mount;catalog start with '/oracle/backup/' NOPROMPT;restore database;}
其中炫彩,“/oracle/backup”為數(shù)據(jù)庫恢復(fù)目錄。該目錄必須已存在絮短,且屬主應(yīng)為oracle江兢,權(quán)限至少為700。
恢復(fù)數(shù)據(jù)庫丁频。
% rman target / nocatalog cmdfile=restore_cmdfile
連接數(shù)據(jù)庫并設(shè)置數(shù)據(jù)庫角色杉允。
% sqlplus / as sysdba
SQL> ALTER DATABASE OPEN READ ONLY;
SQL> alter database recover managed standby database using current logfile disconnect from session;
?ALTER SYSTEM SET asm_diskstring='/dev/diskgroup/' SCOPE=MEMORY;
登入rman,delete?過期的歸檔文件
oracle@orarac1 /home/oracle$ rman target /
Recovery Manager: Release 11.2.0.3.0 - Production on Tue Oct 27 11:07:56 2015
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: ORARAC (DBID=1488840336)
RMAN> crosscheck archivelog all;
RMAN> list expired archivelog all;
RMAN> delete expired archivelog all;
RMAN> y
RMAN> exit
刪除審計(jì)日志的定時(shí)任務(wù)
編輯定時(shí)任務(wù)腳本
crontab -e
30 * * * * su - oracle -c "find \$ORACLE_BASE/admin/\$ORACLE_SID/adump/ -name *.aud -exec rm -rf {} \;"
?防止數(shù)據(jù)庫的歸檔日志過度占用/home/oracle/archive目錄席里,導(dǎo)致磁盤空間占滿叔磷,觸發(fā)問題。
定時(shí)任務(wù)中查看到如下命令:
500,3,6,9,12,15,18,21 * * * su - oracle -c/opt/oracle/app/product/11g/db/oracle-log-delete/bin/arch_clear.sh>/dev/null 2>&1
即為正常部署奖磁。
其工作原理即是:
當(dāng)log_archive_dest_1中配置的路徑磁盤空間占用超過80%執(zhí)行
run
{
allocate channel t1 type disk;
crosscheck archivelog all;
delete force noprompt expired archivelogall;
release CHANNEL t1;
}
如果執(zhí)行上述命令之后改基,log_archive_dest_1中配置的路徑磁盤空間占用仍然超過80%,那么執(zhí)行
run {
allocate channel t1 type disk;
crosscheck archivelog all;
delete force noprompt archivelog all;
release CHANNEL t1;
}
?【Oracle如何修改】
哪些參數(shù)可以用AlterSystem修改
alter system?命令可以用來修改數(shù)據(jù)庫的初始化參數(shù)咖为。
具體哪些參數(shù)可以修改秕狰,可以從v$parameter動態(tài)性能視圖中的列ISSYS_MODIFIABLE中確定
例如:select* from v$parameter whereISSYS_MODIFIABLE='IMMEDIATE'; -->表示可以直接修改并立即生效的;
--------------------------------------------------------------------------------
■?altersystem的語法
alter system?參數(shù)名?=?參數(shù)值?[ COMMENT 'text' ][ DEFERRED ][ SCOPE = {MEMORY | SPFILE | BOTH } ][ SID = { 'sid' | * } ]
1)comment 'text'表示要修改的參數(shù)的注釋案疲。
2)deferred?表示修改的參數(shù)應(yīng)用到以后連接的session
3)scope={ MEMORY | SPFILE | BOTH }
表示所作的修改應(yīng)用到哪里,內(nèi)存,spfile文件,或是內(nèi)存和spfile都修改.
4)SID = { 'sid' | * }
如果選擇sid,那么表示修改的是某個(gè)session的參數(shù)。這個(gè)參數(shù)只是在真實(shí)應(yīng)用集群環(huán)境下有效麻养。
如果要修改所有sid的參數(shù),設(shè)置sid='*'
如果要修改某個(gè)sid的參數(shù),設(shè)置sid='sid',sid是指定的要修改的session的sid.
SCOPE的詳細(xì)含義
SCOPE的設(shè)定取值有如下三種:
1. SCOPE = SPFILE
既適用于動態(tài)初始化參數(shù)的修改褐啡,也使用與靜態(tài)初始化參數(shù)的修改。也是靜態(tài)參數(shù)唯一可以使用的方式鳖昌。
對參數(shù)的修改僅記錄在服務(wù)器初始化參數(shù)文件中备畦,更改將在下次DB啟動時(shí)生效。
2. SCOPE = MEMORY
只適用于動態(tài)初始化參數(shù)的修改许昨。靜態(tài)參數(shù)不允許懂盐。
對參數(shù)的修改僅在內(nèi)存上,立即生效糕档,但重啟后將不再有效莉恼,因?yàn)椴]有寫入到初始化參數(shù)文件。
DB重啟后這個(gè)修改會丟失,參數(shù)復(fù)原為修改前的參數(shù)值速那。
3. SCOPE = BOTH
只適用于動態(tài)初始化參數(shù)的修改俐银。靜態(tài)參數(shù)不允許。
對參數(shù)的修改同時(shí)既寫入到初始化參數(shù)文件端仰,也在內(nèi)存上修改捶惜,立即生效。
注意:
1.?在修改靜態(tài)初始化參數(shù)時(shí)荔烧,我們只能指定scope=spfile;
2.?在修改動態(tài)初始化參數(shù)時(shí)吱七,我們可以指定?deferred?關(guān)鍵字來對所做的修改延遲到新的session產(chǎn)生時(shí)生效汽久。
對于ALTERSYSTEM的參數(shù)修改命令,請注意以下幾點(diǎn):
1)如果當(dāng)前實(shí)例使用的是pfile而非spfile,則scope=spfile或scope=both會產(chǎn)生錯誤踊餐;
2)如果實(shí)例以pfile啟動景醇,則scope的默認(rèn)值為MEMORY,?若以spfile啟動,則默認(rèn)值為BOTH市袖;
參數(shù)如何重置恢復(fù)默認(rèn)值
#1.改sga大小啡直,指定注釋:
alter system set sga_max_size=6272Mcomment='internally adjusted' scope=spfile;
寫入SPFILE信息如下:
sga_max_size=6272M # internally adjusted
#2.重置參數(shù),也就是把參數(shù)回收苍碟,從spfile中刪除:把sga_max_size參數(shù)從spfile中刪除:
alter system reset sga_max_size;
關(guān)閉回收站特性
步驟1?以oracle用戶登錄操作系統(tǒng)酒觅。
步驟2?登錄數(shù)據(jù)庫。
$ sqlplus '/ as sysdba'
步驟3?清理回收站所有內(nèi)容微峰。
SQL> purge dba_recyclebin;
步驟4?關(guān)閉回收站舷丹。
SQL> alter system set recyclebin=offscope=spfile;
步驟5?關(guān)閉數(shù)據(jù)庫。
SQL> shutdown immediate;
步驟6?重新啟動數(shù)據(jù)庫蜓肆。
SQL> startup;
2.?采用move的辦法整理表空間碎片
可以用下面的語句查詢出使用這個(gè)表空間的表颜凯,然后把表move下。
select table_name,tablespace_name fromuser_all_tables where tablespace_name='TBS_ODS_CAMEROON_CAMTEL';
alter table T_O_CBS_MGRBILL_MID move ;
注意:進(jìn)行move操作的時(shí)候DML操作將不能進(jìn)行仗扬,請?jiān)跇I(yè)務(wù)低峰期后執(zhí)行
?可以使用srvctl(service control tool)工具管理CRS的各類資源症概。
srvctl工具可以操作如下CRS資源:Database,Instance早芭,ASM彼城,Service,Listener和Node Application退个,其中Node application又包括GSD募壕,ONS,VIP语盈。這些資源除了使用srvctl工具統(tǒng)一管理外舱馅,某些資源還有自己獨(dú)立的管理工具,
ASM磁盤相關(guān)操作
在操作系統(tǒng)中設(shè)置節(jié)點(diǎn)對應(yīng)的ASM實(shí)例后再使用sqlplus語句或asmcmd的命令管理ASM刀荒。
操作步驟
步驟?1?登錄操作系統(tǒng)代嗤。
以grid用戶登錄Oracle 11G R2。
步驟?2?建立并擴(kuò)充Disk Group缠借。
創(chuàng)建ASM磁盤組前需首先規(guī)劃要創(chuàng)建的磁盤組的冗余度资溃,ASM磁盤組的冗余度有:normal(2重鏡像),high(3重鏡像)烈炭,external(不做鏡像)溶锭,對于在儲存陣列上映射過來的raid盤建ASM磁盤組通常使用外部冗余方式。
例如符隙,建立外部冗余的磁盤組趴捅。
$ sqlplus/ as sysasm
SQL> create diskgroup dg_name external redundancydisk '/dev/diskgroup/dg_data' ATTRIBUTE'compatible.asm'='11.2.0.0.0','au_size'='1M';
為磁盤組增加一個(gè)裸盤垫毙。
SQL> alter diskgroup dg_name add disk '/dev/diskgroup/dg_data_extend';
從磁盤組中刪除某個(gè)磁盤。
SQL> alter diskgroup dg_name drop disk disk_name;
其中拱绑,“db_name”為磁盤組名稱综芥,“disk_name”為磁盤組中磁盤的名稱。
步驟?3?掛載Disk Group猎拨。
SQL> alter diskgroup dg_name mount;
步驟?4?卸載Disk Group膀藐。
SQL> alter diskgroup dg_name dismount;
?步驟?1?刪除Disk Group。
在節(jié)點(diǎn)上刪除磁盤組時(shí)红省,磁盤組狀態(tài)應(yīng)該為“MOUNT”额各。
SQL> drop diskgroup dg_name [including contents];
如果磁盤組狀態(tài)為“DISMOUNT”,可強(qiáng)制刪除吧恃。
SQL> drop diskgroup dg_name force including contents;
步驟?2?重新設(shè)置磁盤大小虾啦。
SQL> alter diskgroup dg_name resize all size 19085M;
如果磁盤組中有多個(gè)磁盤,每個(gè)磁盤大小不同痕寓,則設(shè)置磁盤大小時(shí)需要指定磁盤傲醉。
SQL> alter diskgroup dg_name resize disk disk_name size 19085M;
步驟?3?查詢ASM磁盤信息。
通過查詢v$asm_diskgroup呻率、v$asm_disk可以獲得ASM磁盤組硬毕、ASM磁盤的空間大小、狀態(tài)等等信息礼仗。
例如吐咳,查詢ASM磁盤組信息:
SQL> select name,state,type,total_mb,free_mb from v$asm_diskgroup;
步驟?4?使用ASMCD的命令查看或管理ASM。
進(jìn)入ASMCD模式后執(zhí)行help命令可獲取命令幫助藐守。
ASMCMD> help
系統(tǒng)返回類似如下信息:
asmcmd [-v] [-a
<sysasm|sysdba>] [-p] [command]
Type "help [command]"to get help on a specific ASMCMD command.
設(shè)置Oracle初始化參數(shù)
1.Oracle初始化參數(shù)我們只需關(guān)注兩種
l?動態(tài)參數(shù)挪丢,可以用altersystem命令修改蹂风,修改后立即生效卢厂;
l?靜態(tài)參數(shù),可以用altersystem..scope=spfile修改惠啄,修改后必須重新啟動實(shí)例才能夠生效慎恒;
2.查看初始化參數(shù)的類型
SQL> select name, value, issys_modifiable from v$parameter;
l?如果issys_modifiable為immediate說明是動態(tài)參數(shù);
l?如果issys_modifiable為false說明是靜態(tài)參數(shù)撵渡;
3.SPFILE的備份
彩鈴要求統(tǒng)一使用SPFILE融柬,因此在修改初始化參數(shù)前應(yīng)對SPFILE進(jìn)行一次備份。
l?查看Oracle是否使用SPFILE啟動:
SQL> show parameter spfile
--如結(jié)果為空趋距,則說明使用的不是SPFILE粒氧,而是PFILE!
l?備份SPFILE(SYSDBA登陸):
SQL> create pfile='/home/oracle/spfile.bak' from spfile;
--路徑和文件名可更改节腐,但不要放在$ORACLE_HOME/dbs(Windows為database目錄)下面外盯。
4.修改初始化參數(shù)
修改初始化參數(shù)必須用AS SYSDBA身份登陸數(shù)據(jù)庫摘盆。
l?動態(tài)參數(shù)
SQL> alter system set job_queue_processes=20;
l?靜態(tài)參數(shù)
SQL> alter system set session_cached_cursors=50scope=spfile;
修改完畢,重新啟動實(shí)例使之生效饱苟。
設(shè)置數(shù)據(jù)庫內(nèi)存大小
memory_max_target?物理內(nèi)存的60%?靜態(tài)參數(shù)孩擂;單位字節(jié)
memory_target?物理內(nèi)存的60%?動態(tài)參數(shù);單位字節(jié)
sga_target?物理內(nèi)存的50%?動態(tài)參數(shù)箱熬;單位字節(jié)
db_cache_size?物理內(nèi)存的40%?動態(tài)參數(shù)类垦;單位字節(jié)
pga_aggregate_target?物理內(nèi)存的8%?動態(tài)參數(shù);單位字節(jié)
shared_pool_size?物理內(nèi)存的5%?動態(tài)參數(shù)城须;單位字節(jié)
undo_retention 5400?動態(tài)參數(shù)蚤认;單位秒,回滾信息的保留時(shí)間酿傍。
?設(shè)置操作系統(tǒng)的共享內(nèi)存大小
【檢查操作系統(tǒng)共享內(nèi)存大小】
# df -k| grep shm
Filesystem 1K-blocks UsedAvailable Use% Mounted on
shm 16777216 1131136 15646080 7% /dev/shm
/dev/shm必須設(shè)置為物理內(nèi)存大小烙懦。
如物理內(nèi)存為16G的機(jī)器,/dev/shm的文件系統(tǒng)大小為16G赤炒,則表示已經(jīng)正確設(shè)置氯析。否則需要重新設(shè)置。
【卸載/dev/shm文件系統(tǒng)】
# umount /dev/shm
注意:?如果提示“device is busy”則需要停止數(shù)據(jù)庫莺褒。
【掛載/dev/shm文件系統(tǒng)】
# mount -t tmpfs shmfs -o size=16g /dev/shm
修改文件/etc/fstab掩缓,追加以下內(nèi)容
shm /dev/shm tmpfs size=16g 0 0
有歸檔日志,無備份文件恢復(fù)方法
SVRMGR> startup mount
SVRMGR> alter database create datafile 'c:\test.ora';
SVRMGR> set autorecovery on
SVRMGR> recover datafile 'c:\test.ora';
SVRMGR> alter database open;
設(shè)置linux下oracle開機(jī)啟動
在默認(rèn)中遵岩,Linux下?Oracle數(shù)據(jù)庫是不會開機(jī)自啟動的你辣,但是很多時(shí)候我們需要數(shù)據(jù)庫開機(jī)自啟動,因此需要進(jìn)行設(shè)置尘执,設(shè)置方法如下:
1舍哄、修改/etc/oratab文件
# vi /etc/oratab
找到orcl:/u01/app/oracle:N這一行,把N改成Y
orcl:/u01/app/oracle:Y
2誊锭、修改/etc/rc.local
# vi /etc/rc.local
#添加下面兩行
su - oracle -c 'lsnrctl start'
su - oracle -c 'dbstart'
3表悬、使用oracle用戶vi $ORACLE_HOME/bin/dbstart
找到ORACLE_HOME_LISTNER=$1
將$1修改為$ORACLE_HOME/network/admin
4、開機(jī)后查看狀態(tài)
sql> select status from v$instance;