1. 什麼是裸設備.Oracle為什麼要使用裸設備
ASM是以後發展的趨勢,而且11G版本中的ASM的穩定性比10G有所提高。ASM管理、維護也不是很復雜,而且性能上也很接近裸設備。樓主為什麼還非要使用裸設備呢?既然非要使用裸設備,可以手工建庫,數據文件指向裸設備即可。
2. HP UNIX中怎麼查看具體的某個裸設備lv沒被oracle使用
ls -ltr /dev/sd*
可以看到每一個磁碟的用戶和組,不適oracle用戶 的就沒有唄oracle使用咯
望採納
3. 如何判斷rac使用的是asm還是裸設
問法應該有問題,其實asm下可以掛在裸設備的,asm是oracle自己提供的卷管理器,當然你也可以使用其它的集群文件系統。
4. 如何判斷 oracle 使用 asm
正好剛整理了一個這方面的資料,先貼給你吧.
准備ASM環境
ASM使用一個名叫「+ASM」的資料庫實例來管理ASM磁碟,因此在配置ASM磁碟之前,需要先啟動ASM實例。另外還需要注意,ASM 實例必須要先於資料庫實例啟動,和資料庫實例同步運行,遲於資料庫實例關閉。ASM 實例的創建和刪除可以用DBCA 工具來操作。在DBCA的第一個界面選擇配置自動存儲管理就可以進入ASM配置的界面。
根據提示運行腳本就可以配置和啟動CSS(Cluster Synchronization Service)了,注意要以root的身份運行這個腳本,運行情況如下:
# /u01/app/oracle/proct/10.2.0/db_1/bin/localconfig add
/etc/oracle does not exist. Creating it now.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized
Adding to inittab
Startup will be queued to init within 90 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
s1
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)
ASM可以使用裸設備或者ASMLib方式, 因為裸設備的維護更羅嗦一些,本文只討論ASMLib方式。為了在Linux系統中使用ASMLib方式准備ASM磁碟,需要安裝相關的軟體,下載鏈接如下:
下載時注意選擇自己的操作系統和內核的版本,我下載到的是以下三個軟體:
oracleasm-2.6.18-164.el5-2.0.5-1.el5.i686.rpm
oracleasmlib-2.0.4-1.el5.i386.rpm
oracleasm-support-2.1.4-1.el5.i386.rpm
這里特別需要注意第一個軟體要和你的Linux內核的版本一致。(其實我的內核版本是2.6.18-155.el5,但是在官方網站找不到完全對應的版本,只好使用這個2.6.18-164.el5的版本了,後面會講怎麼解決這個問題。)接下來進行軟體的安裝,只需要使用rpm命令即可。
# rpm -ivh oracleasm*
現在安裝oracleasm模塊可能會報錯,像我因為沒有找到對應我的內核版本的oracleasm軟體就遇到了這個問題。經過一番查找,發現軟體將oracleasm的模塊文件oracleasm.ko安裝到了目錄/lib/moles/2.6.18-164.el5/kernel/drivers/addon/oracleasm中,而我的默認的模塊文件路徑應該是/lib/moles/2.6.18-155.el5,因此決定手工建立相關的目錄和文件。
# mkdir -p /lib/moles/2.6.18-155.el5/kernel/drivers/addon/oracleasm
# cp oracleasm.ko /lib/moles/2.6.18-155.el5/kernel/drivers/addon/oracleasm
然後再安裝oracleasm的模塊文件就可以通過了:
# depmod -a
# modprobe oracleasm
最後進行oracleasm服務的初始配置
# service oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
好了,現在已經有了初步的ASM配置環境,接下來就可以准備磁碟了。
添加ASM磁碟組
為了實現ASM的磁碟負載均衡和冗餘能力,我准備使用四個磁碟建立ASM的磁碟組,因此需要為Linux系統添加四個磁碟。為了搭建這個環境,我使用的是VMware環境,因此添加磁碟就非常容易了。只需要在VMware的設置中選擇添加硬體即可,而且現在的VMware版本是可以支持磁碟的熱插拔的。無需關閉Linux系統,直接添加磁碟即可。添加完四個磁碟之後,為了讓Linux系統馬上識別這幾個磁碟,可以運行如下命令:
# echo 'scsi add-single-device 0 0 1 0' > /proc/scsi/scsi
# echo 'scsi add-single-device 0 0 2 0' > /proc/scsi/scsi
# echo 'scsi add-single-device 0 0 3 0' > /proc/scsi/scsi
# echo 'scsi add-single-device 0 0 4 0' > /proc/scsi/scsi
運行fdisk -l命令可以看到系統中增加了/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde四個磁碟。使用fdisk工具在這個四個磁碟上各建立一個分區(具體步驟略,不熟悉的可以查閱Linux的fdisk命令用法)。
然後運行oracleasm createdisk命令添加ASM磁碟:
# oracleasm createdisk VOL1 /dev/sdb1
Writing disk header: done
Instantiating disk: done
依次添加/dev/sdb1、/dev/sdc1、/dev/sdd1、/dev/sde1四個磁碟分區,完成後檢查如下:
# oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
這時運行DBCA工具的ASM配置向導就可以建立ASM磁碟組了。進入DBCA向導後,選擇「Configure Automatic Storage Management」,然後單擊「Create New」按鈕,可以看到ASM磁碟組的配置界面。輸入磁碟組的名稱,如「dg1」,關於冗餘級別,我選擇了Norma,並且將VOL1和VOL2設置為一個Failure Group,而VOL3和VOL4設置為一個Failure Group。
以上操作也可以使用sqlplus連接到ASM實例上,使用命令完成。
為了連接到ASM實例上,首先需要設置ORACLE_SID環境變數,然後再使用sqlplus進行連接:
# ORACLE_SID=+ASM
# sqlplus / as sysdba
創建Disk Group的語句如下:
SQL> create diskgroup dg1 normal rendancy
failgroup fg1 disk 'ORCL:VOL1','ORCL:VOL2'
failgroup fg2 disk 'ORCL:VOL3','ORCL:VOL4';
至此,ASM磁碟組的准備已經完成,終於可以在ASM上建立資料庫了。還是使用DBCA工具,選擇「Create Database」進入創建資料庫的向導。按照向導操作,只是在選擇存儲機制時,選擇ASM類型。
5. oracle 查看有哪些資料庫
1、su – oracle 不是必需,適合於沒有DBA密碼時使用,可以不用密碼來進入sqlplus界面。
2、sqlplus /nolog 或sqlplus system/manager 或./sqlplus ;
3、SQL>connect / as sysdba ;(as sysoper)或
connect internal/oracle AS SYSDBA ;(scott/tiger)
conn sys/change_on_install as sysdba;
4、SQL>startup; 啟動資料庫實例
5、 查看當前的所有資料庫: select * from v$database;
select name from v$database;
desc v$databases; 查看資料庫結構欄位
7、怎樣查看哪些用戶擁有SYSDBA、SYSOPER許可權:
SQL>select * from V_$PWFILE_USERS;
Show user;查看當前資料庫連接用戶
8、進入test資料庫:database test;
9、查看所有的資料庫實例:select * from v$instance;
如:ora9i
10、查看當前庫的所有數據表:
SQL> select TABLE_NAME from all_tables;
select * from all_tables;
SQL> select table_name from all_tables where table_name like 『u』;
TABLE_NAME———————————————default_auditing_options
11、查看錶結構:desc all_tables;
12、顯示CQI.T_BBS_XUSER的所有欄位結構:
desc CQI.T_BBS_XUSER;
13、獲得CQI.T_BBS_XUSER表中的記錄:
select * from CQI.T_BBS_XUSER;
14、增加資料庫用戶:(test11/test)
create user test11 identified by test default tablespace users Temporary TABLESPACE Temp;
15、用戶授權:
grant connect,resource,dba to test11;
grant sysdba to test11;
commit;
16、更改資料庫用戶的密碼:(將sys與system的密碼改為test.)
alter user sys indentified by test;
alter user system indentified by test;
6. LINUX 如何查看裸設備
可以用df -h查看。
1、裸設備定義:
一塊沒有分區的硬碟,稱為原始設備(RAW DEVICE)或者是一個分區,但是沒有用EXT3,OCFS等文件系統格式化,稱為原始分區(RAW PARTITION)以上兩者都是裸設備。
2、裸設備的綁定
有文件系統的分區是採用mount的方式掛載到某一個掛載點的(目錄)而裸設備不能mount,只能綁定到/dev/raw/下的某一個設備名
比如/dev/raw/raw1
3、裸設備的綁定方法
修改/etc/sysconfig/rawdevices,添加以下內容,這里sdd1和sdd2是原始分區名或者原始設備(硬碟)名,raw1和raw2是/dev目錄下的原始設備名,編號從raw1到raw255,也就是最多可以綁定255個裸設備。
/dev/raw/raw1 /dev/sdd1
/dev/raw/raw2 /dev/sdd2
然後修改裸設備的屬主和訪問許可權
chown oracle:dba /dev/raw/raw1
chown oracle:dba /dev/raw/raw2
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
最後使得裸設備生效,並且在機器啟動的時候就自動載入執行 /etc/init.d/rawdevices restart 使裸設備生效執行 /sbin/chkconfig rawdevices on 保證機器啟動的時候裸設備能夠載入,這一步很重要。
4、裸設備的讀寫
不能用cp等命令操作,寫入內容用dd命令,可以參閱相關資料。
5、清空裸設備,相當於格式化啦bs是快的大小,block sizecount是快的數量,這兩者相乘大於裸設備的容量即可。
dd if=/dev/zero of=/dev/raw/raw1 bs=8192 count=12800
dd if=/dev/zero of=/dev/raw/raw2 bs=8192 count=12800
7. 關於oracle裸設備的一些疑問
裸設備搭建庫其實非常簡單,只是管理上麻煩點
如果你用邏輯卷來管理裸設備的話,會方便一點
1.裸設備是固定大小的,但建在邏輯卷上的裸設備是可以擴展裸設備的。通常在生產庫里都是增加裸設備的方式來擴展數據文件。
2.差不多的,但需要改文件路徑改成裸設備。
3.通常對於讀寫非常繁忙的生產庫,基本都是使用裸設備。pfile都是文件系統來管理的。
除了使用DBCA建庫,還可以使用冷備份將數據文件使用DD命令遷移到裸設備上,這個要沒是不熟悉的話,建議不要操作,很有可能DD成功過去,你打不開庫.
PS :
原理非常簡單,多上網查資料,只是建庫是非常簡單的,難的是出現問題後怎麼正確的修復。
8. 如何判斷 oracle 使用 asm
有個比較簡單的方法,就是查看數據文件的路徑。
select name from v$datafile;
如果前面帶個+符號的,是ASM。文件系統和裸設備之間就比較難辨認一點,但同樣可以根據路徑來判斷:使用裸設備需要建立邏輯卷,使用lvdisplay可以查看當前系統中創建的邏輯卷,tune2fs -l /dev/xxx 可以查看設備中的文件,裸設備中是沒有文件系統的,從/etc/sysconfig/rawdevices文件中也能找到蛛絲馬跡
9. Oracle怎麼查看錶被資料庫中那些object使用
1.System/Sysdba用戶,可以使用以下SQL查看:
select * from dba_dependencies where referenced_name =upper('emp') and owner=upper('tmd')
2.普通用戶可以使用以下SQL查看:
select * from all_dependencies where referenced_name =upper('emp')
10. oracle資料庫中,忘記了裸設備庫的名字怎麼辦
你忘記了庫的名字還是裸設備的名字?
前者忘記,一般如果用dbca建庫,會在/etc/oratab里寫庫名字,或者$ORACLE_HOME/dbs里應該有init$ORACLE_SID.ora或者spfile$ORACLE_SID.ora ,ORACLE_SID是實例名,一般情況建庫都和實例名是一樣的
後者忘記,在庫啟動情況下,查select name from v$datafile