欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      linux、oracle自我總結(jié)

      時間:2019-05-12 11:46:30下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《linux、oracle自我總結(jié)》,但愿對你工作學(xué)習有幫助,當然你在寫寫幫文庫還可以找到更多《linux、oracle自我總結(jié)》。

      第一篇:linux、oracle自我總結(jié)

      Linux和oracle知識點總結(jié)

      實現(xiàn)接口和方法的快捷鍵:ctrl+t activity生命周期: log類簡單的使用方法 log.vdiwe ctrl+alt+上或下鍵復(fù)制光標以下部分并粘貼在下面 *** 湯學(xué)淵

      rpm包編譯:gcc

      除了/之外。所有的符號命名方式都是合法的

      有些符號做好是不用,如空格 制表符 退格符@#¥()-等

      避免使用.作為普通文件名的第一個字符(.開頭的文件將會被影藏)大小寫敏感

      ls list-a

      all-l

      long-d

      directory-i inode i節(jié)點 b

      binary drwxr-xr-x 2

      root

      root

      4096

      7-28 21:51

      name

      所有者

      所屬組

      文件大

      創(chuàng)建修改時間

      文件名稱

      文件大小的表示:block數(shù)據(jù)塊 512字節(jié)=0.5kb(存儲數(shù)據(jù)的最小單位就是block)流媒體

      (d文件類型rwx所有者的權(quán)限r(nóng)-x組的權(quán)限r(nóng)-x其他人的權(quán)限)

      文件類型: d目錄directory

      -二進制文件

      l軟連接文件link

      文件權(quán)限:r-read w-write x-execute執(zhí)行

      rex r-w r-w

      用戶:u-user 所有者

      g-group所屬組

      o-other其他人

      2硬鏈接數(shù)

      cd change directory $cd / 切換回到根目錄 $cd..回到上一級目錄

      pwd print working directory 查看當前目錄

      touch 創(chuàng)建空文件夾

      mkdir make dir創(chuàng)建新目錄

      cp [原文件] [目的目錄] copy 復(fù)制 復(fù)制目錄為cp-R[原文件或目錄] [目的目錄]-p拷貝的時間和

      ctril +c終止命令

      mv [原文件或目錄] [目的目錄]移動文件或者是給文件改名 move

      rm [文件] rm-R[目錄] remove刪除

      cat concatenate and display files 整頁顯示文件內(nèi)容

      more 分頁顯示文件內(nèi)容 屬性:空格或者f顯示下一業(yè),回車顯示下一行 q是 退出

      head-num [文件名] 查看文件的前幾行

      tail-num [文件名] 查看文件后幾行-f動態(tài)的顯示文件信息(顯示最新的信息)

      ln-s[源文件][目標文件]創(chuàng)建軟鏈接文件

      ln [源文件][目標文件]創(chuàng)建硬鏈接文件

      軟鏈接文件的權(quán)限:lrwxrwxrwx 文件名不同(軟鏈接就是相當于是windows快捷方式)跨文件系統(tǒng)生成(分區(qū))

      硬鏈接類似于cp但是不同的是同步更新(linux的內(nèi)核處理問題都需要數(shù)字標識,硬鏈接文件和源文件具有相同的inode)不能跨文件系統(tǒng)操作

      文件處理命令匯總:ls ln

      權(quán)限處理處理命令

      chmod {ugo}{+-=}{rwx}[文件名]給文件授權(quán) r-4 w-2 x-1

      su- 切換用戶 chown change file owner ship 更改所有者

      chgrp change file group ownership更改所屬組

      $adduser $passwd添加用戶

      umask 查看權(quán)限-s查看缺省權(quán)限(使用的是權(quán)限的掩碼值)

      0-特殊權(quán)限

      022-用戶權(quán)限位,權(quán)限掩碼值

      linux權(quán)限規(guī)則:缺省創(chuàng)建的文件不能授予可執(zhí)行x權(quán)限

      文件的搜索命令

      which 顯示系統(tǒng)命令所在的目錄 whereis 顯示系統(tǒng)命令的幫助文檔

      在linux中所有的東西都是當做文件來處理的

      find [搜索的路徑][搜索的文件]查找任何文件和目錄

      ①-name根據(jù)文件名查找 *匹配任何字符 ?匹配單個字符

      ②-size根據(jù)文件大小查找 文件的大小的單位是數(shù)據(jù)塊 +大于-小于-user根據(jù)文件的所有者查找

      ③根據(jù)時間查找:

      1、天ctime atime mtime

      2、分鐘cmin amin mmin c-change(修改的事文件的屬性ls-l)a-access(文件被查看瀏覽過)m-modify(修改文件的內(nèi)容)-之內(nèi) +超過 ④連接符-a and邏輯與-o or邏輯或

      ⑤連接執(zhí)行符示例:find.....-exec 命令 {};解釋:{}find查找的結(jié)果,轉(zhuǎn)義符(使一些特殊的符號能夠使用它們本身的含義);命令結(jié)束符-ok命令累死-exec只是有一個確認的信息

      ⑥-type 根據(jù)文件類型查找 f二進制文件 l軟鏈接文件 d目錄 ⑦-inum根據(jù)文件節(jié)點查找

      locate 在數(shù)據(jù)庫中查找 但是需要使用updatadb命令定期的更新數(shù)據(jù)庫

      grep [指定字符串][源文件]

      man 獲得命令的幫助

      man service 獲得配置的幫助 info whatis 獲得索引的簡短信息 help 查看shell內(nèi)置命令的幫助

      壓縮解壓命令

      gzip 選項

      gnu zip 壓縮后的文件格式.gz linux的壓縮習慣在window上都能使用,反過來就不適用啊。①gzip不能壓縮目錄只能壓縮文件 ②壓縮之后源文件就不存在啦-gzip解壓文件

      tar 打包目錄-c(create)產(chǎn)生tar打包文件-v顯示詳細信息-f指定壓縮后的文件名-z打包同時壓縮

      壓縮后的文件名.tar.gz-x 解壓.tar的壓縮包 實例:$tar-zcf 打包后的文件名 打包的對象 解答思路:先用tar打包然后再用gzip壓縮

      zip 默認window和linux都支持的解壓方式可以壓縮文件和目錄但是壓縮目錄需要添加-r的屬性壓縮的時候能保留源文件

      bzip2 壓縮文件 壓縮比相當驚人主要用來處理大型的數(shù)據(jù)文件-k就能保留源文件

      網(wǎng)絡(luò)通信的指令:write write <用戶名> 內(nèi)容(實時在線通信方式)

      wall用于放松廣播

      ping測試網(wǎng)絡(luò)連通性

      網(wǎng)絡(luò)測試的步驟;ping 127回環(huán)地址之后ping192本機之后ping對方主機

      ifconfig 查看網(wǎng)絡(luò)設(shè)備信息

      shutdown關(guān)閉服務(wù)器

      reboot 重新啟動系統(tǒng)

      shell命令解釋器,內(nèi)核和內(nèi)核之上層之間的交互即使用戶和內(nèi)核之間的交互

      ctrl+l清屏

      ctrl+u清除光標之前 tab鍵自動載入存在的文件和命令 上下鍵能夠找回執(zhí)行過的命令

      別名機制:

      實例:alias copy=cp

      alias delete=“rm-r” 帶屬性的命令需要用引號引起來

      輸入輸出重定向

      0(stain)標準出入、stand input 1(staout)標準輸出、stand output 2(staerr)便準錯誤輸出 stand error >或者>> 輸出重定向 <輸入重定向

      2>錯誤輸出重定向

      管道:將一個命令的輸出傳送給另外一個命令,作為另一個命令的輸出 使用方法:命令1|命令2|命令3|

      命令連接符

      用;間隔的各命令按順序依次執(zhí)行

      &&只有&&前面的命令執(zhí)行成功后,它后面的命令才能被執(zhí)行 ||只有||之前的命令執(zhí)行失敗了,后面的命令才被執(zhí)行

      命令替換符:將一個命令的輸出作為一個命令的參數(shù)

      linux常用的輔助工具

      PPP 適配器 寬帶連接:

      連接特定的 DNS 后綴.......:

      IPv4 地址............: 221.205.51.148

      子網(wǎng)掩碼

      ............: 255.255.255.255

      以太網(wǎng)適配器 VMware Network Adapter VMnet1:

      連接特定的 DNS 后綴.......:

      本地鏈接 IPv6 地址........: fe80::45a2:988d:2a8a:2171%18

      IPv4 地址............: 192.168.234.1

      子網(wǎng)掩碼

      ............: 255.255.255.0

      以太網(wǎng)適配器 VMware Network Adapter VMnet8:

      連接特定的 DNS 后綴.......:

      本地鏈接 IPv6 地址........: fe80::e9c0:b346:4c5c2%20

      IPv4 地址............: 192.168.81.1

      子網(wǎng)掩碼

      ............: 255.255.255.0

      linux引導(dǎo)流程

      先是進行固件自檢(常用的固件設(shè)置:安全設(shè)置->安全設(shè)置->可引導(dǎo)介質(zhì)列表->課引導(dǎo)介質(zhì)搜索->電源管理->啟動細節(jié)顯示)之后就是載入內(nèi)核,內(nèi)核的作用首先是驅(qū)動硬件,然后開始第一個進程ini,讀取配置文件/etc/inittab文件的內(nèi)容 inittab文件

      init啟動后讀取inittab文件,執(zhí)行缺省運行級別,從而繼續(xù)引導(dǎo)過程。在unix中,init時第一個可以存在的進程pid恒為1,但是它必須想一個更高級別的功能負責:pid恒為0的內(nèi)核調(diào)度器(kernel schuduler),從而獲得cpu的時間

      inittab文件的剖析

      grep-v “^#” /etc/inittab 命令解讀:選出etc目錄下的inittab文件中排出含有#的文件; id:run-levels:action:process 查看運行級別:

      run-leves:運行級別,可以指定多個 運行級的切換: init number

      文件中條目格式:id:run-leves:action:process id:標識符;

      run-leves:運行級可指多個 process:需要執(zhí)行的腳本/命令

      action常用取值:

      initdefault:指定系統(tǒng)缺省啟動的運行級別 sysinit:系統(tǒng)啟動執(zhí)行process中的指定的命令

      wait:執(zhí)行process中的命令并等其結(jié)束在運行其他的命 令

      once:執(zhí)行process中的命令,不等其結(jié)束

      ctrlaltdel:按下ctrl+alt+del命令執(zhí)行process中的命令

      powerfail:當電源出現(xiàn)錯誤時執(zhí)行process指定的指令,不等其結(jié)束 powerrokwait:當電源恢復(fù)是執(zhí)行process指定的命令

      respawn:一旦process指定的命令終止,便重新欲行該指令

      設(shè)置自啟動程序: ln-s chkconfig ntsysv

      運行dmesg檢查引導(dǎo)期間的錯誤

      檢查系統(tǒng)日志/var/log/messages查看可能被demesg忽略的應(yīng)用和程序錯誤

      linux的運行級別

      0 1 2 3 4 5 6

      linux啟動服務(wù)管理 GRUB配置與應(yīng)用

      GRUB的默認的配置文件為 /book/grub/grub.conf grub默認

      default定義默認的啟動缺省項 timeout定義缺省等待的時間

      aplashimage定義grub界面的圖片 hiddenmenu隱藏菜單 titile定義菜單項

      root設(shè)置grub的根設(shè)備即內(nèi)核所在的分區(qū) kernel定義內(nèi)核文件的位置 initrd命令加載鏡像文件

      grub功能鍵

      e:編輯當前的啟動菜單項 c:進入grub的命令模式 b:啟動當前的菜單項 d:刪除當前行

      esc:返回grub啟動菜單界面,取消當前單項所做的任何修改 設(shè)置grub密碼

      1、使用grub自帶的grub-md5-crypt命令

      2、在grub交互命令行界面中使用md5crypt命令

      同樣的明文口令每次加密獲得的md5密文口令也是不同的--md5參數(shù)表示口令是md5加密的 grub修復(fù)

      當開機后進入grub界面但是沒有菜單,只剩下一個grub>提示符,解決辦法:grub>cat/grub/grub.conf(為查看參數(shù))

      啟動故障分析與解決 linux修復(fù)模式:

      1、把安裝光盤放到驅(qū)動,然后重新啟動機器,在bois中把系統(tǒng)設(shè)置為光驅(qū)引導(dǎo)。

      2、等安裝界面出來之后,按f5鍵進入linux rescue模式說明,然后在boot提示符下輸入:linux rescue 然后回車進入修復(fù)模式

      linux軟件包管理

      二進制包管理(rpm、yum)

      卸載:#rpm-e 軟件包名 注意:如果與其他軟件包有依賴關(guān)系,卸載時會產(chǎn)生提示信息,可使用--nodeps強行卸載 安裝:#rpm-ivh 軟件名 掛載光盤:

      mkdir/mnt/cdrom mount/dev/cdrom/mnt/cdrom 查詢:

      rpm-q 軟件報名

      rpm-qa | grep 軟件包名 其他安裝選項:

      --excludedocs 不安裝軟件包中的我文檔文件--prefix PATH 將軟件安裝到path指定的路徑下--test

      只對軟件進行測試,并不實際安裝--replacepkgs 將會覆蓋已經(jīng)安裝的軟件包

      --replacefiles 將會忽略軟件包中已經(jīng)安裝的部分文件--nodeps

      忽略軟件包需要安裝的依賴(部分軟件的安裝需要安裝其他的軟件)軟件包 軟件包的升級:#rpm-Uvh 軟件包名

      yum包管理

      yum包管理的好處:自動解決軟件包的依賴關(guān)系,方便軟件包升級 安裝yum install 檢測升級 yum check-update 升級

      yum update 軟件包查詢 yum list 軟件包信息 yum info 卸載軟件包 yum remove 幫助 yum--help、man yum 查詢的選項

      -a 檢查所有已經(jīng)安裝的軟件包-f 檢查所屬的軟包-p查詢軟件包

      -i 顯示軟件包信息-l 顯示軟件包中的列表

      -d顯示被標注為文檔的文件列表-c顯示被標注為配置文件的文件列表 校驗:#rpm-V 軟件名稱 5 文件的md5校驗值 s 文件大小 l 鏈接文件

      t 文件創(chuàng)建的時間 d 設(shè)備文件 u文件的用戶 g文件的用戶組 m文件的權(quán)限 軟件包文件提取

      源代碼包安裝

      腳本安裝(shell或者java腳本)

      debian系列l(wèi)inux軟件版管理介紹

      apt包管理

      用戶管理

      用戶管理配置文件

      用戶信息文件:/etc/passwd 密碼文件:/etc/shadow 用戶組文件:/ect/group 用戶組密碼文件:/etc/gshadow 用戶配置文件:/etc/login.defs或者/etc/default/useradd 新用戶文件:/etc/ske1 登錄信息:/etc/motd/etc/issue

      /etc/passwd文件格式

      用戶名:用戶登錄系統(tǒng)時使用的用戶名 密碼:密碼位 uid:用戶標識符 gid:缺省組標識符

      注釋性描述:例如尋訪用戶全名等等信息 宿主目錄:用戶登錄后缺省的目錄

      命令解釋器:用戶常用的shell命令,也就是bash

      用戶的類型:超級用戶(root。uid=0)普通用戶(uid 500-6000)偽用戶(uid 1-499)

      1、偽用戶和系統(tǒng)(bin daemon shutdown halt)和進程(mail news games apache ftp mysql sshd)有關(guān)

      2、偽用戶通常不需要登錄或者無法登錄系統(tǒng)

      3、偽用戶沒有宿主目錄

      用戶組:

      1、每一個用戶至少有一個用戶組

      2、每一個用戶組可以擁有多個用戶

      3、同一個用戶組的用戶享有該用戶組共有的權(quán)限

      /etc/shadow文件的格式 用戶名:用戶登錄系統(tǒng)時使用的用戶名 密碼:加密的密碼

      最后一次修改的時間:用戶最后一次修改密碼的時間 最小時間間隔:兩次修改密碼之間的最小天數(shù) 最大時間間隔:密碼保持有效的最大天數(shù) 警告時間:從系統(tǒng)開始警告密碼失效的天數(shù) 賬號閑置時間:賬號閑置時間 失效時間:密碼失效的絕對天數(shù) 標志:一般不使用

      /ect/group文件格式

      組名:用戶登錄時所屬的組 組密碼:一般不使用 gid:組標識號

      組內(nèi)用戶列表:組內(nèi)所有用戶列表

      用戶管理命令 用戶組管理命令 批量添加用戶

      手工添加用戶

      1、分別在用戶信息件:/etc/passwd、/etc/shadow、/ect/group文件中添加一筆記錄

      2、創(chuàng)建用戶宿主命令

      3、在用戶宿主目錄中創(chuàng)建默認的配置文件

      4、設(shè)置用戶初始化密碼

      SetUID的定義:當一個可執(zhí)行程序具有SetUID權(quán)限,當用戶執(zhí)行這個程序時,將也這個程序的所有者身份來執(zhí)行 添加用戶

      useradd 設(shè)置選項-D 查看缺省參數(shù) u:uid g:缺省所屬用戶組

      G:指定用戶所屬多個組 d:宿主目錄

      s:命令編輯器shell c:描述信息

      e:指定用戶失效時間 passwd sam

      用戶組命令

      添加用戶組:groupadd 刪除用戶組:groupdel 修改用戶組信息:groupmod 設(shè)置組密碼及其管理組內(nèi)成員:gpasswd 參數(shù)-a(添加用戶到該組)-d(從用戶組中刪除組)-A(設(shè)置用戶組管理員)-r(刪除用戶組密碼)-R(禁止用戶切換為改組成員)修改用戶信息:usermod groups 查看用戶隸屬那個用戶組 newgrp 切換用戶組

      grpck 用戶組配置文件檢測 chgrp 修改文件所屬組 vigr 編輯/etc/group文件

      用戶管理

      pwck 鎖定/etc/passwd文件 vipw 編輯/etc/passwd文件 id 查看用戶id和組信息 finger 查看用戶詳細信息 su 切換用戶

      passwd-S 查看用戶密碼狀態(tài) who 查看當前登錄用戶信息 禁用用戶 usermod-L username 回復(fù)用戶 usermod-U username 刪除用戶 userdel-r username 設(shè)置密碼:chage

      批量添加用戶

      newusers 導(dǎo)入用戶信息文件

      pwunconv 取消shadow password功能 chpasswd 導(dǎo)入密碼文件

      pwconv 將密碼寫入shadow文件中

      進程管理 進程的概念:

      進程是靜態(tài)概念,本身作為一種軟件資源長期存在,而進程是程序的執(zhí)行過程,它是動態(tài)的概念,有一定的生命周期,是動態(tài)的產(chǎn)生好消亡的。程序和進程沒有一一對應(yīng)關(guān)系。一個程序可以由多個進程共用;一個進程在活動中有可順序地執(zhí)行若干個程序

      父進程和子進程:

      子進程是由一個進程產(chǎn)生的進程。在linux中系統(tǒng)調(diào)用fork創(chuàng)建進程,父進程復(fù)制付棧段以及進程環(huán)境。父進程終止子進程必將終止。

      孤兒進程和僵尸進程

      前臺進程

      在shell提示出打入命令之后,創(chuàng)建一個子進程,運行命令,shell等待命令退出,然后返回到對用戶給出提示符。這條命令與shell異步運行,即在前臺運行,用戶在它完成之前不能執(zhí)行另一個命令

      后臺進程

      在shell提示出打入命令之后,若隨后跟一個&,shell創(chuàng)建的子進程欲行次命令,但是不等待命令退出,而直接返回到對用戶給出提示。這條命令與shell同步于行,即在后天運行,后天運行的進程必須是非交互式的

      進程的狀態(tài):

      等待:因某種事件而暫時不能運行的狀態(tài)。

      就緒:進程已經(jīng)非配到資源,但是因為其他進程占用cpu,所以暫時不運行等待分配cpu的狀態(tài)

      運行:進程分配到cpu,正在處理器上運行 進程狀態(tài)細化

      用戶態(tài)運行:在cpu上執(zhí)行用戶代碼 內(nèi)核態(tài)運行:在cpu上執(zhí)行核心代碼

      在內(nèi)存就緒:具備運行條件,只等調(diào)度程序為它分配cpu

      查看用戶的信息w w顯示信息的含義:

      load average:分別顯示系統(tǒng)在過去1、5、15分鐘內(nèi)的平均負載程度

      from:顯示用戶從何處登錄系統(tǒng),“:0”的玄冰山谷代表用戶從x window下,打開文件模式窗口登錄的

      idle:用戶閑置的時間,這是一個計時器,一旦用戶執(zhí)行任何操作,該計時器就會被重置

      查看系統(tǒng)中的進程ps 常見的選項:

      a:顯示所有用戶的進程

      u:顯示用戶名和啟動的時間 x:顯示沒有控制終端的進程

      e:顯示所有的進程,包含沒有控制終端的進程 l:長格式顯示

      w:寬行顯示,可以使用多個w進行加寬顯示

      ps常用輸出信息的含義: pid:進程號 ppid:父進程號

      tty:進程啟動的端口 stat:進程當前狀態(tài)

      s休眠狀態(tài)d不可中斷的休眠狀態(tài),r運行狀態(tài),z僵死狀態(tài),t停止 ni:進程的優(yōu)先級

      time:進程自從啟動以來啟用cpu的總時間 command/cmd:進程的命令名 user:用戶名

      %cpu:占用cpu時間和總時間的百分比 %mem:占用內(nèi)存與系統(tǒng)內(nèi)存總量的百分比

      kill 殺死進程 殺手進程的原因

      該進程占用過多的cpu的時間;該進程鎖住一個終端,其他前臺進程無法運行;運行的時間過長,但是沒有預(yù)期的效果;產(chǎn)生了過多到屏幕和磁盤的輸出;無法正常的退出

      關(guān)閉進程;kill 進程號

      強行關(guān)閉進程:kill-9 進程號 重啟進程:kill-1 進程號 關(guān)閉圖形程序:xkill 結(jié)束所有的進程:killall 查找服務(wù)進程號:pgrep 服務(wù)名稱 關(guān)閉進程:pkill 進程名稱

      進程的優(yōu)先級:

      nice:指定程序的運行優(yōu)先級 格式;nice-n command renice:改變一個正在運行的進程的優(yōu)先級 格式:renice-n pid 優(yōu)先級的取值范圍:(-20,19)

      是進程在用戶退出登錄之后仍舊繼續(xù)執(zhí)行,nohup將執(zhí)行后的數(shù)據(jù)信息和錯誤信息默認儲存到文件nohup.out中

      格式:nohup program &

      進程的掛起:ctril+z 進程的終止:ctril+c 進程恢復(fù)到前臺執(zhí)行:fg 進程恢復(fù)到后臺執(zhí)行:bg 查看被掛起的進程:jobs top 常見的命令

      u:查看指定用戶的進程 k:終止執(zhí)行中的進程 h or ?:獲得幫助

      r:重新設(shè)置進程優(yōu)先級 s:改變刷新的時間間隔

      w:將當前設(shè)置寫入~/toprc文件中

      計劃任務(wù)

      計劃任務(wù)的命令

      at:安排計劃在某一時刻執(zhí)行一次(計劃:一個或者是多個指令)at命令的格式和參數(shù): at [-f 文件名] 時間

      at-d or atrm刪除隊列中的任務(wù) at-l or atq 查看隊列中的任務(wù) 時間得格式和計算方式略

      at配置文件;/etc/at.allow或者/etc/at.deny 配置文件的作用:限制哪些用戶可以使用at命令.如果/etc/at.allow文件存在,那么就只有列在此文件中的用戶可以使用at命令;如果/etc/at.allow不存在,而/etc/at.deny存在,則再此文件中列出的用戶不能只用at命令。如果兩個文件都不存在的話就只有超級用戶可以使用at命令。如果兩個文件都存在而且均為空則所有的用戶都可以使用at命令

      batch:安排作業(yè)在系統(tǒng)負載在不重時執(zhí)行一次。使用方法同at

      cron:安排周期性運行的作業(yè)

      作用;用于生成cron進程所需要的crontab文件 格式;crontab {-l|-r|-e};l顯示當前的crontab,r刪除當前的crontab,e使用編輯器編輯當前的crontab文件

      書寫注意事項:選項不能為空,必須填入,不知道的值使用通配符*表示任何時間;每個時間字段都可以指定多個值,不連續(xù)的用,號分開,連續(xù)的值用-間隔;命令應(yīng)該給出絕對路徑;用戶必須具有運行鎖對應(yīng)的命令或者程序的權(quán)限 cron配置文件;限制哪些用戶可以使用crontab命令 /etc/cron.deny或者/etc/cron.allow

      進程的處理方式:standalone獨立運行;xinetd進程托管;atd、crond計劃任務(wù)

      文件管理

      文件系統(tǒng)構(gòu)成及命令

      /user/bin:存放所有用戶可以執(zhí)行的命令 /user/sbin:存放只有root能夠執(zhí)行的命令 /home:用戶缺省宿主目錄

      /proc:虛擬文件,存放當前進程信息 /dev:存放設(shè)備文件

      /lib:存放程序運行所需的共享文件庫

      /lost+fount:存放一些系統(tǒng)出錯檢查的結(jié)果 /tmp:存放臨時文件 /etc:系統(tǒng)配置文件

      /var:包含經(jīng)常發(fā)生變動的文件,如郵件、日志、計劃任務(wù)等 /user:存放所有的命令、庫、手冊頁

      /boot:內(nèi)核程序和自舉程序文件的存放點 /mnt:臨時文件系統(tǒng)的安裝點 特殊權(quán)限:粘著位t 粘著位的定義:當權(quán)限為777的命令被授予粘著位,用戶只有在此目錄下刪除自己是所有者的文件

      常見的命令:

      查看分區(qū)的使用情況:df 查看文件和目錄的大小:du 查看文件詳細的時間參數(shù):star 校驗文件md5值:md5sum 檢測修復(fù)文件系統(tǒng):fsck e2fsck(單用戶模式卸載文件系統(tǒng)后執(zhí)行)

      添加硬盤分區(qū): 劃分分區(qū):fdisk 創(chuàng)建文件系統(tǒng):mkfs 嘗試掛載點:mount 寫入配置文件:/etc/fstab

      /etc/fstab掛在設(shè)置: ro 只讀

      noexec 可執(zhí)行文件不可運行 nosuid SetUID命令不可執(zhí)行 noauto 不自動掛栽 acl 啟動ACL權(quán)限控制

      命令:getfacl查看 setfacl設(shè)置

      swapfile文件的實現(xiàn)

      硬盤分區(qū)及管理磁盤配額 磁盤配額

      1、開啟分區(qū)配額功能

      編輯/etc/fstab/文件,在掛載屬性上加上標志usrquota或者grpquota

      2、建立配額數(shù)據(jù)庫(進入單用戶模式)puotacheck-cvuga 會生成aquota.user、aquota.group兩個文件

      3、啟動磁盤配額

      quotaon 分區(qū)名稱

      quotaoff關(guān)閉配額

      4、編輯用戶配額

      edquota 用戶名 edquota-g 用戶組名 復(fù)制用戶配額

      edquota-p 模板用戶 復(fù)制用戶1 復(fù)制用戶2

      quota命令查看用戶的配額使用情況 管理員查看配額信息:repquota-a

      創(chuàng)建配額的選項:

      軟限制(soft limit):定義用戶可以占用的磁盤控件數(shù)。當用戶超過該限制后會收到已超過配額的警告

      硬限制(hard limit):當用戶試圖將文件存放在其已經(jīng)超過該限制值目錄時,報告文件系統(tǒng)錯誤。

      寬限期(grace period):定義用戶在軟限制下可以使用文件系統(tǒng)的期限

      備份與恢復(fù)

      shell編程:

      1、#!指定執(zhí)行腳本的shell

      2、#注釋行

      3、命令和控制結(jié)構(gòu)

      創(chuàng)建shell程序的步驟:

      第一步:創(chuàng)建一個包含命令和控制結(jié)構(gòu)的文件

      第二步:修改這個文件的權(quán)限使它可以執(zhí)行。chmod u+e 第三步:執(zhí)行./example

      shell變量:是shell傳遞數(shù)據(jù)的一種方式,用來代表每個取值的符號名。shell有兩類變量:臨時變量和永久變量

      臨時變量是shell程序內(nèi)部定義的,其使用范圍僅限于定義它的程序,對其它程序不可見。包括:用戶定義變量、位置變量。永久變量就是環(huán)境變量,其值不隨shell腳本的執(zhí)行而消失

      用戶自定義變量是有字母或者是下劃線開頭,有字母、數(shù)字或者下劃線序列組成,并且大小寫字母意義不同。變量名長度沒有限制。在使用變量時,需要在變量名前加上前綴“$” 設(shè)置和使用變量

      設(shè)置變量:習慣用大寫字母命名變量。變量名只能以字母表中的字母開頭,不能用數(shù)字。變量賦值:賦值號=值;等號的兩邊應(yīng)沒有空格 列出所有的變量:#set 刪除變量:#unset

      位置變量:shell解釋執(zhí)行用戶命令時,將命令行的第一個部分作為命令名,其他部分作為參數(shù)。由出現(xiàn)在命令行上的位置確定的參數(shù)稱為位置參數(shù) 特殊變量:

      $*這個程序所有的參數(shù) $#這個程序的參數(shù)個數(shù) $$這個程序的pid $!執(zhí)行上一個后臺命令的pid $?執(zhí)行上一個命令的返回值

      shell命令

      read:從鍵盤讀入數(shù)據(jù)賦值給變量 expr:對整數(shù)型變量進行算術(shù)運算

      變量測試語句:用于測試變量是否相等、是否為空、文件類型等 格式:test 測試條件

      測試范圍:整數(shù)、字符串、文件

      流程控制語句: exit語句:退出程序執(zhí)行,并返回一個返回碼,返回碼為0表示正常退出,非0表示非正常退出

      if……then……fi語句:

      if……then……elif……then……else……fi語句: for……done語句:for 變量 in 名字表

      do

      命令列表

      done

      -a:邏輯與,僅當兩個條件成立時,結(jié)果為真

      -o:邏輯或,有個條件只要有一個成立,結(jié)果為真

      select 變量 in 關(guān)鍵字 do

      command 1

      ……

      command n done select把關(guān)鍵字中的每一項做成類似表單,以交互的方式執(zhí)行do和done之間的命令

      case 變量 in

      命令列表1

      ……

      命令列表n esac

      while 條件 do

      命令 done

      until 條件 do

      命令 done until類似while,但是until返回值為假時才能繼續(xù)執(zhí)行

      break:跳出整個循環(huán)

      continue:跳出本次循環(huán),執(zhí)行下次循環(huán)

      shift:參數(shù)左移,每執(zhí)行一次,參數(shù)序列順次左移一個位置,$#的值減1,用于分別處理每個參數(shù),移出去的參數(shù)不再可用 函數(shù)的定義: 函數(shù)名(){

      命令序列 } 函數(shù)的調(diào)用:不帶()函數(shù)名 參數(shù)1 參數(shù)2……

      函數(shù)的變量:變量為全局變量,沒有局部變量

      函數(shù)中的參數(shù):調(diào)用函數(shù)時,可以傳遞參數(shù),在函數(shù)中用$

      1、$2……來引用

      shell腳本調(diào)試

      sh-x scrip:執(zhí)行該腳本并顯示所有的變量的值

      sh-n scrip:不執(zhí)行腳本只是檢查語法的模式,將返回所有語法錯誤

      awk-F 域分隔符 '命令'

      企業(yè)招聘要求:

      一年以上的java web項目開發(fā)經(jīng)驗,必須熟練運用j2ee相關(guān)的技術(shù)開發(fā)項目

      精通java編程及j2ee相關(guān)技術(shù),jsp/serlet、javascript、spring、hibernate、ibatis、struts;至少一種以上mvc框架技術(shù) 熟練ajav技術(shù)及其相關(guān)框架 熟悉soap、web service。

      熟練eclipse的開發(fā)環(huán)境,以及tomcat、jboss 熟悉常用的一些開源組件,對java設(shè)計模式有一定的了解 至少熟悉oracle、mysql、db2一種數(shù)據(jù)庫的開發(fā) 熟悉linux、nuix操作系統(tǒng)

      有良好的編程習慣,主動開朗,耐心和服務(wù)意識

      有團隊合作精神和良好的溝通,組織協(xié)調(diào)能力,擅長文檔寫作。

      Oracle核心知識點

      oracle的核心知識點在于SQL語句上,各個數(shù)據(jù)庫也許命令不同,但是現(xiàn)在對于sql語句的使用都是一樣的。

      oracle的發(fā)展簡介: oracle版本的介紹:oracle8、oracle8i、oracle9i、oracle10g、oracle11g、但是推薦使用是oracle9i(網(wǎng)格計算)

      oracle數(shù)據(jù)庫的安裝和配置

      安裝之前需要做的工作:關(guān)閉網(wǎng)絡(luò)同時關(guān)閉防火墻; 安裝安裝程序:*Oracle 10g/install/setup.exe;

      途中將數(shù)據(jù)庫的名稱改為midn并將“創(chuàng)建樣本方案的帶數(shù)據(jù)庫”選中,如果沒有選中,則以后不會有大數(shù)據(jù)用戶出現(xiàn);

      安裝到最后將用戶的密碼全部設(shè)置為oracleadmin,并且字母全部小寫,最好不要擅自修改; 直接選擇安裝“啟動安裝程序”,不要做任何的修改;

      安裝完成之后會進入口令管理界面:要使用oracle數(shù)據(jù)庫,只要使用下面四個用戶: 超級管理員:sys/change on install 普通管理員:system/manager 普通用戶:scott/tiger 此用戶默認是被鎖定的,需要將√去掉 大數(shù)據(jù)用戶:sh/sh 一切安裝完成之后下面直接選擇“退出”即可,退出之后oracle10g默認會為用戶打開一個oem的管理界面。安裝完成之后會自動在windows中為用戶注冊若干服務(wù)。這些服務(wù)默認為啟動,這樣的配置將會影響我們的電腦啟動,需要我們將其設(shè)置為手工啟動。(點擊電腦右鍵選擇管理,管理里面找到服務(wù),雙擊修改)但是有兩個服務(wù)時最為關(guān)鍵的: 監(jiān)聽服務(wù):如果有程序要操作數(shù)據(jù)庫或者是遠程的客戶端需要連接數(shù)據(jù)庫就必須開啟此項服務(wù)

      數(shù)據(jù)庫實例服務(wù):保存數(shù)據(jù)庫具體的信息,每一個數(shù)據(jù)庫對應(yīng)一個數(shù)據(jù)庫實例(服務(wù))。命名規(guī)則:Oracle ServiceXXX;XXX對應(yīng)我們數(shù)據(jù)庫名稱(嚴格來講我們的sid名稱)。

      oracle卸載步驟: 直接運行卸載程序

      刪除硬盤上殘留的文件,如果刪除不掉則先進入安全模式下刪除 刪除注冊表中所有與oracle有關(guān)的配置項

      如果是沒有安裝成功,直接運行二三部就可以啦,如果實在不行就只能從裝系統(tǒng)啦

      監(jiān)聽問題:

      監(jiān)聽服務(wù)是oracle數(shù)據(jù)庫中使用最主要的一個服務(wù),但是服務(wù)經(jīng)常出現(xiàn)錯誤,錯誤的解決方案

      錯誤一:注冊表使用了優(yōu)化軟件,刪除了相關(guān)項(對于每一個系統(tǒng)服務(wù)在注冊表中都會有所保留)

      第二篇:ORACLE培訓(xùn)總結(jié)

      篇一:oracle培訓(xùn)班總結(jié)(聽課筆記)oracle北京培訓(xùn)

      第一章 oracle10g的安裝與基本設(shè)置

      一、數(shù)據(jù)庫基礎(chǔ)部分。

      oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)結(jié)構(gòu)與產(chǎn)品。

      sql語言:操作數(shù)據(jù)庫,同時用于數(shù)據(jù)庫管理。(通用部分)sql*plus語言:對sql的擴充,主要增加一些報表。pl/sql語言:過程化語言。數(shù)據(jù)庫分區(qū)存儲技術(shù)。

      1、oracle數(shù)據(jù)庫應(yīng)用系統(tǒng)結(jié)構(gòu)與產(chǎn)品

      oracle數(shù)據(jù)字典有4.2萬個。數(shù)據(jù)字典只記錄標識。

      結(jié)構(gòu)方面:sql與oracle完成不同,sql可建多個庫,結(jié)構(gòu)與oracle明顯不同。i:代表internet.c語言結(jié)構(gòu)性最好,計算能力最強。指紋識別系統(tǒng)只能用c.2、pl:procedural language:過程化語言,條件、判斷、循環(huán)。sql屬非過程化語言,只關(guān)心結(jié)果,不關(guān)心過程。

      3、數(shù)據(jù)庫分區(qū)存儲技術(shù)(一個表存到多個表空間上)數(shù)據(jù)庫存儲數(shù)據(jù)的最小單位:表。

      邏輯空間——>表空間(在物理上與磁盤對應(yīng))1 ——>多個磁盤。

      一個表可以存在多個磁盤上,但不能存到多個表空間上。集中式存儲:安全性不好,i/o不平衡。

      數(shù)據(jù)庫的分區(qū)存儲技術(shù):range、list(oracle 11自動增加)range:可以比大小。

      list:不能比大小,例如:人口住址等。

      4、數(shù)據(jù)庫存取權(quán)限控制。

      5、oracle 10g flashback:數(shù)據(jù)閃回?;謴?fù)前提:歸檔和備份。(1)基于時間的恢復(fù):從5樓到4樓。必須從5樓下到一樓,再從1樓到4樓。邏輯備份: 物理備份:常說的備份點。

      不完全恢復(fù):向回倒,不可逆轉(zhuǎn),日志自動清0,有的數(shù)據(jù)要丟失。exp、import.(1)基于時間的恢復(fù)(2)基于中止(撤消)的恢復(fù)。(3)基于事務(wù)的恢復(fù)。完全恢復(fù)。

      delete from,rollback能100%恢復(fù)。drop,flashback不一定能恢復(fù)。

      二、程序設(shè)計

      pl/sql程序設(shè)計。存儲過程(procedure),函數(shù)(function),包(package),數(shù)據(jù)庫觸發(fā)器(data triggers(槍栓))。

      三、系統(tǒng)管理(dba)

      1、oracle核心軟件安裝與產(chǎn)品升級。sun solaris hp ux 國稅 aix 銀行 tru64 電力 數(shù)據(jù)庫的排序:在臨時表空間中進行。8i和9i排序完不釋放。10g可自動釋放。640萬人無人居住,不發(fā)生電費。

      命令行模式運行速度快,容易發(fā)現(xiàn)問題的存在。

      oracle占用可用內(nèi)在的55-57%,所以不要建兩個以上的庫,oracle按表空間劃分用戶,sql可建多個庫,結(jié)構(gòu)與oracle明顯不同。

      2、創(chuàng)建主要的數(shù)據(jù)庫存儲結(jié)構(gòu)。

      劃分磁盤空間。

      3、數(shù)據(jù)庫權(quán)限與角色管理。角色:權(quán)限的組合。

      4、監(jiān)視與控制用戶對于數(shù)據(jù)庫的操作。

      5、數(shù)據(jù)庫的啟動與關(guān)閉。

      6、數(shù)據(jù)庫性能優(yōu)化與調(diào)整。

      7、數(shù)據(jù)庫的備份與恢復(fù)。

      四、基于web應(yīng)用開發(fā)(會話進程)。

      會話數(shù)(在線數(shù))< 用戶數(shù)< 進程數(shù)在(windows稱為服務(wù))< 操作系統(tǒng)核心參數(shù) 如何查看修改連接數(shù),進程數(shù)及用戶數(shù),三者之間有什么關(guān)系? show parameter session;最大session數(shù) show parameter process;最大進程數(shù)

      select count(1)from all_users;查看已安裝數(shù)據(jù)庫的用戶數(shù) select * from all_users;oracle自帶的用戶數(shù)如何查。

      默認的情況下系統(tǒng)中的最大session = min(session ,process * 1.1 + 5)

      1、我們把它稱為一次對話,或者叫會話。同樣,在我們用電腦工作時,打開的一個窗口或一個web頁面,我們也可以把它叫做一個“會話”,擴展到一個局域網(wǎng)里面,所有用戶要通過防火墻上網(wǎng),要打開很多個窗口或web頁面(即會話),那么,這個防火墻,所能處理的最大會話數(shù)量,就是“并發(fā)連接數(shù)”。

      (1)查看oracle 10g數(shù)據(jù)庫會話數(shù) select * from v$session;當前總會話數(shù):select count(*)from v$session;可用總會話數(shù):在sqlplus里查詢,show parameter session

      2、查看已安裝數(shù)據(jù)庫的用戶數(shù):select count(1)from all_users;sql>select * from all_users;

      3、查看進程數(shù)

      使用sys,以sysdba權(quán)限登錄:sql> show parameter processes;

      4、$ps –ef | grep oracle 進程,在windows稱為服務(wù)。實例包括一個內(nèi)存和進程(在windows中為服務(wù))

      按我的理解來說session就等價與一個客戶端,它是用戶經(jīng)過用戶進程到oracle事例的特定連接.它從用戶連接開始一直持續(xù)到用戶斷開連接或退出數(shù)據(jù)庫為止.進程,籠統(tǒng)地認為一個程序有若干進程組成,從os角度講程序是靜態(tài)的,而進程是動態(tài)的罷了.進程可以分為user process和oracle process.說穿了,進程就是用來執(zhí)行程序的時候產(chǎn)生的,是一個動態(tài)過程.第二章 oracle安裝

      一、asm(automatic storage management)自動存儲管理。oracle10g 新內(nèi)容。鏡像:oracle 10g以后才支持。磁盤組:diskmap 邏輯設(shè)備

      裸設(shè)備:只做分區(qū),不做格式化??床坏轿募?,在磁盤管理器中才能看到設(shè)備,u盤拷貝不了。只能用邏輯手段拷貝:exp rman.二、oltp_數(shù)據(jù)倉庫_全局數(shù)據(jù)庫名_(nts適配器錯誤_在windows中清理oracle)

      1、t----->oltp(on line transaction processing)在線事務(wù)處理。網(wǎng)上數(shù)據(jù)傳輸量比較大,數(shù)據(jù)庫數(shù)據(jù)改動大,數(shù)據(jù)庫負荷重,oracle 會設(shè)比較大的回退段(rollback segments)和空閑率(pctfree 10%)oracle的塊為:8k.它使用了所有的所謂數(shù)據(jù)的操作 crud(創(chuàng)建、讀取、更新、刪除)。當數(shù)據(jù)存儲達到一定量的時候,規(guī)模就會幾乎保持不變,因為可以從存儲中刪除過期數(shù)據(jù)。

      2、數(shù)據(jù)倉庫

      數(shù)據(jù)倉庫改動少,主要為查詢速度快服務(wù),用于存歷史數(shù)據(jù),用來構(gòu)造決策支持系統(tǒng)。他的回退段和空閑率留的比較少。

      數(shù)據(jù)倉庫就完全是一種不同種類的應(yīng)用程序。它并不是用來運行當前的操作,例如發(fā)送郵件。它是用來分析數(shù)據(jù)并且從現(xiàn)有數(shù)據(jù)中發(fā)現(xiàn)新的價值,主要是用來預(yù)測未來的情況。數(shù)據(jù)倉庫并不是解決所有問題的通用結(jié)構(gòu)。它必須集中于某一問題領(lǐng)域,例如航空服務(wù)、顧客收益等。數(shù)據(jù)倉庫也有有趣的一面,那就是本身是穩(wěn)定增長的。數(shù)據(jù)沒有被刪除,也不發(fā)生變更。我們不需要將冗余數(shù)據(jù)置于數(shù)據(jù)庫之外(因為加入倉庫中的數(shù)據(jù)經(jīng)過了數(shù)據(jù)凈化的過程,該過程檢查了數(shù)據(jù)的正確性)來減少復(fù)雜性同時增強讀取操作的性能。

      為了能夠?qū)?shù)據(jù)倉庫中的數(shù)據(jù)進行分析,數(shù)據(jù)存儲于一個多維結(jié)構(gòu)中,叫做星型模式。如果將星型模式擴展,就會得到雪花模式。

      3、全局數(shù)據(jù)庫名:以字母打頭,不超過8個。

      數(shù)據(jù)庫名不能重名,否則復(fù)制數(shù)據(jù)和同步數(shù)據(jù)時會出麻煩,數(shù)據(jù)庫安裝完后,數(shù)據(jù)庫名不能更改,起名時要慎重。

      4、oracle字符集。zh16gbk.5、nts適配器錯誤。

      d:oracleproduct10.2.0db_1networkadminsqlnet.ora 把sqlnet.ora文件中的(nts)改為none,再重新啟動oracleconfigudration and mirdatabase config.6、在windows中清理oracle。(1)刪除注冊表:

      regedit-> local machine--> software-->oracle(2)刪除oracle服務(wù)

      regedit-> local machine-->system?currentcontrolset?services?ora*(3)刪除oracle事件日志

      (4)刪除windows安裝磁盤中program filesoracle目錄。(5)刪除oracle菜單。(6)刪除oracle環(huán)境變量。

      控制面板—>系統(tǒng)——>高級——>環(huán)境變量??偣矂h除2項。(7)重新啟動操作系統(tǒng)

      (8)刪除oracle磁盤文件。篇二:oracle數(shù)據(jù)庫學(xué)習總結(jié) oracle數(shù)據(jù)庫學(xué)習總結(jié) 時間過的還真快,不知不覺中就在這里呆了半個月了。這段時間里都在學(xué)習oracle數(shù)據(jù)庫的編程,畢竟這是家軟件外包公司。像我們這樣的新員工也就只能接觸到些curd的操作。廢話不多說,趕緊來梳理下這半月來學(xué)習的知識點.在來公司之前一直都是使用sql server數(shù)據(jù)庫,用sql server也開發(fā)了3個小型項目。所以對sql語句以及在數(shù)據(jù)庫中扮演重要作用的存儲過程,觸發(fā)器,視圖,主鍵/外鍵約束都很熟。但oracle是一個全新的環(huán)境,記得剛裝上oracle的時候,我都不知道在哪查看自己已經(jīng)建立好的表格。還好有師傅的幫忙,要不然我還真沒這么快就能入門oracle。

      學(xué)習東西就要學(xué)習些能改變自己思維的東西,只有這樣才能讓自己的眼光比別人更獨到,思維比別人更深邃,oracle就是這樣的東西。當然做這樣的事是要很大的驅(qū)動力的呀,如果公司不是都采用oracle來寫程序的話,我估計也就懶得學(xué)啦。

      對于一位程序員來說并不需要完全掌握oracle的所有知識,畢竟自己不是dba。在日常開發(fā)中也用不到那些命令和工具,但是有些知識點我們還是必須得熟練的掌握它們。比如:一些基本的ddl和dml語句,存儲過程,函數(shù),視圖,觸發(fā)器,序列,游標,自定義類型和包。下面我就把這段時間里學(xué)習oracle獲得的知識點羅列出來,一是為了方便以后查閱,二是為了和搭檔交流學(xué)習經(jīng)驗。要適應(yīng)的一些細節(jié)

      從sql server轉(zhuǎn)到oracle進行數(shù)據(jù)庫編程,第一道門檻就是語法問題。很多很多的問題都是因為語法而產(chǎn)生的,現(xiàn)將它們統(tǒng)統(tǒng)集合起來并將它們一網(wǎng)打盡之。pl結(jié)構(gòu)。在sql server中,采用的是批處理執(zhí)行任務(wù)的方式,所以可以將多條sql語句選中批量執(zhí)行,而不用顧忌要在專門的地方聲明變量,在專門的地方進行邏輯編碼。在oracle中采用的是pl編程方式,必須在專門的地方聲明變

      循環(huán)結(jié)構(gòu),要達到循環(huán)在oracle中有3種方式,各有各的好處,你懂的。它們分別如下: pl結(jié)構(gòu)中的錯誤處理

      就像c#中的try{} catch{}語句塊 能捕獲錯誤。寫幾個例子: helloworld級別的錯誤拋出例子record類型

      oracle中的record類型類似于c語言中的結(jié)構(gòu)體,主要用來接收select語句或游標中返回的數(shù)據(jù),下面寫個例子:ddl語句

      這里的ddl語言主要是指能完成如下工作的ddl語言:創(chuàng)建表,創(chuàng)建表的主/外 鍵及級聯(lián)效果,dml語句

      select語句。oracle中的select語句的使用方法與sql server差不多,但還是有些不同之處。

      篇三:oracle培訓(xùn)心得 oracle培訓(xùn)心得

      2010年x月x日至x月x日,我有幸參加了工業(yè)和信息化部軟件與集成電路促進中心主辦的“oracle數(shù)據(jù)庫高級實戰(zhàn)培訓(xùn)班”學(xué)習交流。首先感謝學(xué)校領(lǐng)導(dǎo)給予了我這次學(xué)習機會。通過短暫的幾天培訓(xùn),我不僅對oracle知識有了部分的了解,也接受了很多最新的信息。在這次培訓(xùn)中,上課的老師有非常豐富dba經(jīng)驗,他結(jié)合他自身的dba工作經(jīng)歷,從oracle體系結(jié)構(gòu)與網(wǎng)絡(luò)配置、訪問控制、事務(wù)處理與日志、閃回特性、數(shù)據(jù)庫的備份與恢復(fù)和數(shù)據(jù)庫性能監(jiān)測與調(diào)整優(yōu)化等幾個方面對oracle進行了講解。對課程講解十分的詳細。通過案例示范以及演示,指導(dǎo)我們一步步操作。

      oracle主要以操作命令行為主,在學(xué)習的過程中,對老師的每一步操作都做好了記錄。課堂上按照老師的要求一步步操作,課后按記錄的操作步驟和命令反復(fù)多次的練習。以此到達了對oracle反復(fù)學(xué)習,熟悉掌握老師所傳授的知識。

      短短5天的高強度集中學(xué)習,我通過“xxxx”考試,取得了“xxxx”的認證。但是我知道依靠這幾天的培訓(xùn)對oracle學(xué)習是不行的,還必須在實踐中不斷地努力,提升自身的專業(yè)技術(shù)能力。只有在不斷的實踐練習,才能夠深刻了解它的原理和方法。在以后的工作中,我仍會繼續(xù)學(xué)習各種關(guān)于oracle數(shù)據(jù)庫的知識、持之以恒,在今后的工作中不斷實踐、總結(jié)、深入學(xué)習,全面掌握oracle知識。

      第三篇:oracle日期格式總結(jié)

      select to_char(sysdate,'yyyy')||'年'||to_char(sysdate,'mm')||'月'||to_char(sysdate,'dd')||'日'||to_char(sysdate,'hh24')||'時'||to_char(sysdate,'mi')||'分'||to_char(sysdate,'ss')||'秒’from dual 在oracle中處理日期大全 TO_DATE格式 Day: dd number 12 dy abbreviated fri day spelled out friday ddspth spelled out, ordinal twelfth Month: mm number 03 mon abbreviated mar month spelled out march Year: yy two digits 98 yyyy four digits 1998 24小時格式下時間范圍為: 0:00:0012:59:59....1.日期和字符轉(zhuǎn)換函數(shù)用法(to_date,to_char)2.select to_char(to_date(222,'J'),'Jsp')from dual 顯示Two Hundred Twenty-Two 3.求某天是星期幾和設(shè)置語言格式

      select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day')from dual;星期一 select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American')from dual;monday 設(shè)置日期語言

      ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';也可以這樣

      TO_DATE('2002-08-26', 'YYYY-mm-dd', 'NLS_DATE_LANGUAGE = American')4.兩個日期間的天數(shù)

      select floor(sysdateto_date('2002-02-01','yyyy-mm-dd')+1)where to_char(to_date('2002-02-01','yyyy-mm-dd')+rnum-1, 'D')not in('1', '7')在前后分別調(diào)用DBMS_UTILITY.GET_TIME, 讓后將結(jié)果相減(得到的是1/100秒, 而不是毫秒).9.select months_between(to_date('01-31-1999','MM-DD-YYYY'), to_date('12-31-1998','MM-DD-YYYY'))“MONTHS” FROM DUAL;1 select months_between(to_date('02-01-1999','MM-DD-YYYY'), to_date('12-31-1998','MM-DD-YYYY'))“MONTHS” FROM DUAL;1.03225806451613 10.Next_day的用法 Next_day(date, day)Monday-Sunday, for format code DAY Mon-Sun, for format code DY 1-7, for format code D 11 select to_char(sysdate,'hh:mi:ss')TIME from all_objects 注意:第一條記錄的TIME 與最后一行是一樣的 可以建立一個函數(shù)來處理這個問題 create or replace function sys_date return date is begin return sysdate;end;select to_char(sys_date,'hh:mi:ss')from all_objects;12.獲得小時數(shù)

      SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 2:38:40')from offer SQL> select sysdate ,to_char(sysdate,'hh')from dual;SYSDATE TO_CHAR(SYSDATE,'HH')-----------------------------------------2003-10-13 19:35:21 07 select sysdate ,to_char(sysdate,'hh24')from dual;SYSDATE TO_CHAR(SYSDATE,'HH24')-------------------------------------------2003-10-13 19:35:21 19 獲取年月日與此類似 13.年月日的處理

      select older_date, newer_date, years, months, abs(trunc(newer_date-add_months(older_date,years*12+months)))days from(select trunc(months_between(newer_date, older_date)/12)YEARS, mod(trunc(months_between(newer_date, older_date)), 12)MONTHS, newer_date, older_date from(select hiredate older_date,add_months(hiredate,rownum)+rownum newer_date from emp))14.處理月份天數(shù)不定的辦法

      select to_char(add_months(last_day(sysdate)+1,-2), 'yyyymmdd'),last_day(sysdate)from dual 16.找出今年的天數(shù)

      select add_months(trunc(sysdate,'year'), 12)60*TRUNC(A*24))Minutes, TRUNC(A*24*60*60100*TRUNC(A*24*60*60))mSeconds from(select trunc(sysdate)Days, sysdate6 first_day from(select substr('2004-33', 1, 4)yy, to_number(substr('2004-33', 6))ww

      from dual)

      select trunc(to_date(substr('2003-01',1,5)||to_char((to_number(substr('2003-01',6)))*7),'yyyy-ddd'),'d')last_day from dual

      select max(v_date)from(select(to_date('200408','yyyymm')+ rownum)v_date from all_tables where rownum < 370)where to_char(v_date,'yyyy-iw')= '2004-33'

      3.查詢某周的日期

      select min_date, to_char(min_date,'day')day from(select to_date(substr('2004-33',1,4)||'001'+rownum-1,'yyyyddd')min_date

      from all_tables where rownum <= decode(mod(to_number(substr('2004-33',1,4)),4),0,366,365)union

      select to_date(substr('2004-33',1,4)-1||

      decode(mod(to_number(substr('2004-33',1,4))-1,4),0,359,358)+rownum,'yyyyddd')min_date

      from all_tables

      where rownum <= 7 union select to_date(substr('2004-33',1,4)+1||'001'+rownum-1,'yyyyddd')min_date

      from all_tables

      where rownum <= 7)where to_char(min_date,'yyyy-iw')='2004-33'

      oracle中時間運算

      論壇中常??吹接袑racle中時間運算提問的問題,今天有時間,看了看以前各位兄弟的貼子,整理了一下,并作了個示例,希望會對大家有幫助。

      首先感謝ern、eric.li及各版主還有熱心的兄弟們

      內(nèi)容如下:

      1、oracle支持對日期進行運算

      2、日期運算時是以天為單位進行的

      3、當需要以分秒等更小的單位算值時,按時間進制進行轉(zhuǎn)換即可

      4、進行時間進制轉(zhuǎn)換時注意加括號(見示例中紅色括號),否則會出問題

      SQL> alter session set nls_date_format='yyyy-mm-dd hh:mi:ss';

      會話已更改。

      SQL> set serverout on SQL> declare 2 DateValue date;3 begin 4 select sysdate into DateValue from dual;5 dbms_output.put_line('源時間:'||to_char(DateValue));6 dbms_output.put_line('源時間減1天:'||to_char(DateValue-1));7 dbms_output.put_line('源時間減1天1小時:'||to_char(DateValue-1-1/24));8 dbms_output.put_line('源時間減1天1小時1分:'||to_char(DateValue-1-1/24-1/(24*60)));9 dbms_output.put_line('源時間減1天1小時1分1秒:'||to_char(DateValue-1-1/24-1/(24*60)-1/(24*60*6 0)));10 end;11 / 源時間:2003-12-29 11:53:41 源時間減1天:2003-12-28 11:53:41 源時間減1天1小時:2003-12-28 10:53:41 源時間減1天1小時1分:2003-12-28 10:52:41 源時間減1天1小時1分1秒:2003-12-28 10:52:40

      第四篇:Oracle數(shù)據(jù)庫總結(jié)范文

      創(chuàng)建表及命名規(guī)則?

      表名和列名:

      必須以字母開頭 必須在1–30個字符之間

      必須只能包含A–Z, a–z, 0–9, _, $, 和# 必須不能和用戶定義的其他對象重名 必須不能是Oracle 的保留字 Oracle默認存儲是都存為大寫

      增刪改查語法?

      增加: 例如:使用INSERT語句往customers表中插入數(shù)據(jù),指定相關(guān)列和值 INSERT INTO customers(customer_id, first_name, last_name, dob, phone)VALUES(6, 'Fred', 'Brown', '01-1月-1970', '800-555-1215');

      如果為表所有列都指定值,那么可以忽略列清單

      INSERT INTO customersVALUES(6, 'Fred', 'Brown', '01-1月-1970', '800-555-1215');

      可以使用NULL為某些列指定空值

      INSERT INTO customersVALUES(8, 'Sophie', 'White', NULL, NULL);

      查詢:select * fromcustomers;或者select字段 fromcustomerswhere條件 刪除:deletefromcustomerswhere條件

      更改:update customersset name = 'xiaoming',age = ‘16’(更改多個字段時候用逗號隔開)where 條件

      對查詢結(jié)果進行排序?

      語句:select * fromcustomersorderby字段 desc;

      (asc(升序),desc(降序)如果不寫,默認升序)

      NULL值了解么?

      NULL值表示未知的值。它是一個特殊的值,但并不是空字符串,NULL值表示該列是未知的。當某些查詢語句在輸出結(jié)果列上看不到值的時候,可能就是NULL值

      NVL()和NVL2():

      NULL值被查詢出來的時候沒有顯示信息,如何告知用戶這是空字符串還是NULL,這可以通過NVL()函數(shù)來進行處理

      NVL(x,value)是有value顯示本身,null顯示為替換的value NVL2(x,value1,value2)是如果x不為NULL值,返回value1,否則返回value2 例程:

      select name,nvl2(email,'已知','未知')from student;【代碼含義:代表如果email字段中有值,則顯示已知,null則顯示未知,如果想顯示本來的查詢結(jié)果select name,nvl(email,'未知')from student;】 update student set name = replace(name,'小','大');【代碼含義:代表將STUDENT表中NAME 字段中如果含有小字,那么就將小字替換為大字(操作的不是顯示結(jié)果,而是將表中數(shù)據(jù)進行更改)】

      Oracle中的簡單函數(shù)?

      字符串函數(shù)

      ? concat:將x和y拼接起來,并返回新字符串

      例程:

      select concat(first_name,'-'||last_name)姓名 from customers;? Instr字符查找,從1開始。

      select instr('asdbcrdbewqrbmde','b')from dual;select instr('asdbcrdbewqrbmde','b',5,2)from dual;【代表從第5個字符開始,第二個b所在的位置】

      ? Ltrim : LTRIM(x,[trim_string])從x字符串左側(cè)去除所有的trim_string字符串,如果沒有指定trim_string字符串,則默認為去除左側(cè)空白字符

      ? Rtrim RTRIM(x,[trim_string])從x字符串右側(cè)去除所有的trim_string字符串,如果沒有指定trim_string字符串,則默認為去除右側(cè)空白字符 ? Trim TRIM(trim_string FROM x)從x字符串兩側(cè)去除trim_string字符串

      ? Replace REPLACE(x, search_string, replace_string)從字符串x中搜索search_string字符串,并使用replace_string字符串替換。用select執(zhí)行并不會修改數(shù)據(jù)庫中原始值,但是用update執(zhí)行可以修改。

      ? Substr SUBSTR(x, start,[length])返回字符串中的指定的字符,這些字符從字符串的第start個位置開始,長度為length個字符;如果start是負數(shù),則從x字符串的末尾開始算起;如果length省略,則將返回一直到字符串末尾的所有字符

      例程:

      select substr('abcd月fg',4,2)from dual;(結(jié)果:d月)select substr('abcdefg',-2)from dual;(結(jié)果:fq)

      日期函數(shù)

      ? Sysdate 例程:

      Selectsysdatefromdual;

      Select to_char(sysdate, 'yyyy-mm-dd-hh-mm-ss')from dual;

      ? Add_months(d1,n1)? last_day():

      轉(zhuǎn)換函數(shù)

      ? To_char TO_CHAR(x,[ format])將x轉(zhuǎn)化為字符串。format為轉(zhuǎn)換的格式,可以為數(shù)字格式或日期格式

      select to_char(sysdate,'yyyy-mm-dd')from dual;【一般在查詢時候使用,使返回的值成為指定格式】

      ? to_date TO_DATE(x,[format])將x字符串轉(zhuǎn)換為日期

      insert into student values(seq_stu.nextval,'小明',to_date('1992-2-18','yyyy-mm-dd'),default,'北京',null);【一般在添加使用】 返回所查詢的值中最后一個日期數(shù)據(jù)。

      聚合函數(shù)

      ? Avg:平均數(shù) ? Sum:求和 ? Max:最大值 ? Min:最小值 ? Count:返回統(tǒng)計的行數(shù) ? Round:四舍五入

      例程:

      select round(avg(bid),1)from bug;分組了解么?

      有時需要對表中的行進行分組,然后統(tǒng)計每組的信息,可以使用GROUP BY進行分組,然后再對每組進行統(tǒng)計。

      (1)可以使用GROUP BY對多個列進行分組

      例:

      SELECT product_id, avg(customer_id)FROM purchases GROUP BY product_id;

      (2)可以對分組后的行使用聚集函數(shù),聚集函數(shù)會統(tǒng)計每組中的值,對于每組分別統(tǒng)計后返回一個值 例:

      SELECT

      product_type_id,BY

      COUNT(ROWID)FROM

      BY

      productsGROUP product_type_id;注意:

      product_type_idORDER a)如果查詢中使用了聚集函數(shù),被查詢的列未使用聚集函數(shù)處理,那么這些列必須出現(xiàn)在GROUP BY子句后,否則,會提示ORA-00937錯誤

      b)不能使用聚集函數(shù)作為WHERE子句的篩選條件,否則,會提示ORA-00934錯誤

      c)可以使用HAVING子句過濾分組后的行

      SELECT...FROM...WHERE GROUP BY...HAVING...ORDER BY...;(GROUP BY使用時可以不使用HAVING,但是使用HAVING時必須有GROUP BY才有意義)

      (3)同時使用WHERE, GROUP BY和HAVING

      a)首先,執(zhí)行WHERE篩選掉不符合條件的行 b)然后,將符合條件的行使用GROUP BY進行分組 c)最后,使用HAVING對分組統(tǒng)計的結(jié)果進行再次篩選 例:

      SELECT product_type_id, AVG(price)FROM products

      WHERE price < 15

      GROUP BY product_type_id HAVING AVG(price)> 13 ORDER BY product_type_id;

      表的約束條件?

      目的:

      確保表中數(shù)據(jù)的完整性。

      常用的約束類型: 主鍵約束(PRIMARY KEY):要求主鍵列數(shù)據(jù)唯一,并且不允許為空 非空約束(NOT NULL):指定的列的值不允許為空

      唯一鍵約束(UNIQUE):要求該列唯一,允許為空,但只能出現(xiàn)一個空

      檢查約束(CHECK):指定表中一列或多列可以接受的數(shù)據(jù)值格式 默認約束(DEFAULT):指定某列的默認值

      外鍵約束(FOREIGN KEY):用于建立和加強兩個表數(shù)據(jù)之間連接的一

      列或多列。通過將表中的主鍵列添加到另一個表中??梢詣?chuàng)建兩個表之間的連接。這個主鍵的列就稱為第二個表的外鍵。外鍵約束就可以確保添加到外鍵表中的任何行都在主表中都存在相應(yīng)的行

      多表查詢?

      不同的數(shù)據(jù)存儲在不同的表中,通常要查詢多張表才能找到需要的數(shù)據(jù)

      例程: SELECT products.name, product_types.name FROM products, product_types WHERE

      products.product_type_id

      = product_types.product_type_id AND products.product_id = 3;

      products表和product_types表相關(guān)字段會用在SELECT語句及WHERE子句上,可以給表起別名,提高代碼可讀性、降低書寫難度 例程:

      SELECT p.name, pt.name FROM products p, product_types pt WHERE p.product_type_id = pt.product_type_id AND p.product_id = 3 注意:

      如果查詢兩張表,并且沒有定義連接條件,那么查詢的結(jié)果集是兩表相乘的結(jié)果,這樣的情況稱之為笛卡爾乘積??偨Y(jié):多表查詢WHERE時,連接次數(shù)=查詢時連接表的數(shù)量-1

      常見的三種連接類型:

      內(nèi)連接:

      內(nèi)連接返回的行只有滿足連接條件才會返回。如果連接條件的列中有NULL值,那么該行則不會返回 外連接:

      外連接返回的行滿足連接條件,也包括在連接條件的列包含空值的行

      自連接:

      連接的表為同一張表

      子查詢?

      子查詢是嵌入到另一個SELECT語句中的一個SELECT語句。通過使用子查詢,可以使用簡單的語句組成強大的語句。當需要從表中選擇行,而選擇條件卻取決于該表自身中的數(shù)據(jù)時,子查詢非常有用。

      單行子查詢:(1)可以將另外一個查詢作為WHERE子句的子查詢

      例:查詢尾名是‘Brown’的首名和尾名

      SELECT first_name, last_name FROM customers

      WHERE customer_id =

      (SELECT customer_id FROM customers WHERE last_name = 'Brown');(2)在單行子查詢還可以使用其他比較運算符,如<>、<、>、<=和>= 例:查詢價格大于平均價格的商品編號、名稱及價格

      WHERE子句中使用>,以及子查詢中使用AVG()聚集函數(shù)

      SELECT product_id, name, price FROM products WHERE price >(SELECT AVG(price)FROM products);(3)在HAVING子句中使用子查詢

      HAVING是在分組統(tǒng)計后用于過濾行,同樣在HAVING子句后面可以跟子查詢。單行子查詢將返回結(jié)果用于HAVING子句過濾分組統(tǒng)計的行

      例如:查詢平均價格小于最大平均值的商品編號及平均值

      SELECT product_type_id, AVG(price)FROM products GROUP BY product_type_id HAVING AVG(price)<(SELECT MAX(AVG(price))FROM products GROUP BY product_type_id)ORDER BY product_type_id;

      分頁查詢?

      可以通過ROWNUM來實現(xiàn)。

      序列?

      序列是一個數(shù)據(jù)庫對象,用于生成一系列的整數(shù)。

      索引?

      索引是與表關(guān)聯(lián)的可選結(jié)構(gòu)??梢詣?chuàng)建索引以加快對表執(zhí)行SQL語句的速度。就像書的索引可以幫助我們更快速的查找信息一樣,Oracle中的索引也提供了一種更快地訪問表數(shù)據(jù)的途徑。

      視圖?

      視圖是基于一張表或多張表或另外一個視圖的邏輯表。視圖不同于表,視圖本身不包含任何數(shù)據(jù)。表是實際獨立存在的實體,是用于存儲數(shù)據(jù)的基本結(jié)構(gòu)。而視圖只是一種定義,對應(yīng)一個查詢語句。視圖的數(shù)據(jù)都來自于某些表,這些表被稱為基表。數(shù)據(jù)庫中只在數(shù)據(jù)字典中存儲對視圖的定義。

      第五篇:oracle視圖總結(jié)

      oracle視圖總結(jié)(轉(zhuǎn))

      視圖簡介: 視圖是基于一個表或多個表或視圖的邏輯表,本身不包含數(shù)據(jù),通過它可以對表里面的數(shù)據(jù)進行查詢和修改。視圖基于的表稱為基表。視圖是存儲在數(shù)據(jù)字典里的一條select語句。通過創(chuàng)建視圖可以提取數(shù)據(jù)的邏輯上的集合或組合。

      視圖的優(yōu)點:

      1.對數(shù)據(jù)庫的訪問,因為視圖可以有選擇性的選取數(shù)據(jù)庫里的一部分。2.用戶通過簡單的查詢可以從復(fù)雜查詢中得到結(jié)果。3.維護數(shù)據(jù)的獨立性,試圖可從多個表檢索數(shù)據(jù)。4.對于相同的數(shù)據(jù)可產(chǎn)生不同的視圖。

      視圖的分類:

      視圖分為簡單視圖和復(fù)雜視圖。

      兩者區(qū)別如下:

      1.簡單視圖只從單表里獲取數(shù)據(jù),復(fù)雜視圖從多表獲取數(shù)據(jù); 2.簡單視圖不包含函數(shù)和數(shù)據(jù)組,復(fù)雜視圖包含; 3.簡單視圖可以實現(xiàn)DML操作,復(fù)雜視圖不可以。

      視圖的創(chuàng)建:

      CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)] AS subquery [WITH CHECK OPTION [CONSTRAINT constraint]] [WITH READ ONLY] 其中:

      OR REPLACE:若所創(chuàng)建的試圖已經(jīng)存在,ORACLE自動重建該視圖; FORCE:不管基表是否存在ORACLE都會自動創(chuàng)建該視圖; NOFORCE:只有基表都存在ORACLE才會創(chuàng)建該視圖: alias:為視圖產(chǎn)生的列定義的別名;

      subquery:一條完整的SELECT語句,可以在該語句中定義別名;

      WITH CHECK OPTION : 插入或修改的數(shù)據(jù)行必須滿足視圖定義的約束; WITH READ ONLY : 該視圖上不能進行任何DML操作。

      例如: Sql代碼

      1.CREATE OR

      REPLACE

      VIEW dept_sum_vw

      2.(name,minsal,maxsal,avgsal)

      3.AS SELECT d.dname,min(e.sal),max(e.sal),avg(e.sal)

      4.FROM

      emp e,dept d

      5.WHERE e.deptno=d.deptno

      6.GROUP BY d.dname;

      視圖的定義原則:

      1.視圖的查詢可以使用復(fù)雜的SELECT語法,包括連接/分組查詢和子查詢; 2.在沒有WITH CHECK OPTION和 READ ONLY 的情況下,查詢中不能使用 ORDER BY 子句;

      3.如果沒有為CHECK OPTION約束命名,系統(tǒng)會自動為之命名,形式為SYS_Cn;4.OR REPLACE選項可以不刪除原視圖便可更改其定義并重建,或重新授予對象權(quán)限。

      查詢視圖:

      視圖創(chuàng)建成功后,可以從視圖中檢索數(shù)據(jù),這點和從表中檢索數(shù)據(jù)一樣。示例:

      SQL>SELECT * FROM dept_sum_vw;

      修改視圖:

      通過OR REPLACE 重新創(chuàng)建同名視圖即可。

      刪除視圖:

      DROP VIEW VIEW_NAME語句刪除視圖。刪除視圖的定義不影響基表中的數(shù)據(jù)。

      只有視圖所有者和具備DROP VIEW權(quán)限的用戶可以刪除視圖。視圖被刪除后,基于被刪除視圖的其他視圖或應(yīng)用將無效。

      查詢視圖定義:

      SELECT view_name,text from user_views;其中text顯示的內(nèi)容為視圖定義的SELECT語句,可通過DESC USER_VIEWS 得到相關(guān)信息。

      視圖上的DML 操作: DML操作應(yīng)遵循的原則:

      1.簡單視圖可以執(zhí)行DML操作; 2.在視圖包含GROUP 函數(shù),GROUP BY子句,DISTINCT關(guān)鍵字時不能刪除數(shù)據(jù)行; 3.在視圖不出現(xiàn)下列情況時可通過視圖修改基表數(shù)據(jù)或插入數(shù)據(jù):

      a.視圖中包含GROUP 函數(shù),GROUP BY子句,DISTINCT關(guān)鍵字; b.使用表達式定義的列; c.ROWNUM偽列。

      d.基表中未在視圖中選擇的其他列定義為非空且無默認值。WITH CHECK OPTION 子句

      通過視圖執(zhí)行的INSERTS和UPDATES操作不能創(chuàng)建該視圖檢索不到的數(shù)據(jù)行,因為它會對插入或修改的數(shù)據(jù)行執(zhí)行完整性約束和數(shù)據(jù)有效性檢查。(也就是說在執(zhí)行INSERTS、UPDATES時,WHERE條件中除需要INSERT、UPDATE本身的限制條件之外,還需要加上視圖創(chuàng)建時的WHERE條件。)

      例如:

      CREATE OR REPLACE VIEW vw_emp20 AS SELECT * FROM emp WHERE deptno=20 WITH CHECK OPTION constraint vw_emp20_ck;視圖 已建立。

      查詢結(jié)果:

      SELECT empno,ename,job FROM vw_emp20;EMPNO

      ENAME

      JOB---------------------

      --------------

      -------------7369

      SMITH

      CLERK 7566

      JONES

      MANAGER 7902

      FORD

      ANALYST 修改:

      UPDATE vw_emp20 SET

      deptno=20 WHERE empno=7902;將產(chǎn)生錯誤:

      UPDATE vw_emp20 * ERROR 位于第一行:

      ORA-01402:視圖WITH CHECK OPTION 違反WHERE 子句

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      1,Oracle是可以通過視圖來修改Base table的。所謂base table就是用來構(gòu)建視圖的表,也就是視圖的數(shù)據(jù)來源表。但是這種修改是有條件的。比如: create view v_emp as select empno,ename,job,deptno from emp where deptno=10 with check option constraint emp_cnst;如果有這個限制,那么通過視圖v_emp 插入數(shù)據(jù)的deptno字段的值必須是10,否則就會報“ORA-01402: 視圖 WITH CHECK OPTIDN 違反 where 子句”的異常。

      2,聯(lián)結(jié)視圖:

      create view dept1_staff as select e.ename, e.empno, e.job, d.deptno, d.dname from emp e,dept d where e.deptno in(10,30)and e.deptno = d.deptno; 將兩個表的數(shù)據(jù)聯(lián)結(jié)起來,看起來應(yīng)該是一個內(nèi)聯(lián)結(jié)(Inner joint)。

      對于聯(lián)結(jié)視圖(Joint view)的修改規(guī)則稍顯復(fù)雜,設(shè)計到所謂key_preserved table的概念。通過聯(lián)結(jié)視圖來修改基表,只有那些key_preserved 的表才能被修改。上述創(chuàng)建視圖語句中emp和dept通過deptno進行聯(lián)結(jié)構(gòu)成視圖時,emp就是key_preserved 表,而dept不是。為什么?因為在dept1_staff 中empno的值唯一的而deptno不是唯一的。所以emp是key_preserved 而dept不是。因此只能通過該視圖來修改emp,而不能修改dept的數(shù)據(jù)。

      3,Oracle視圖非常強大的功能之一在于其可以創(chuàng)建一個帶有錯誤的視圖。比如說視圖里的字段在基表里不存在,該視圖仍然可以創(chuàng)建成功,但是非法的且無法執(zhí)行。當基表里加入了該字段,或者說某個字段修改成視圖里的該字段名稱,那么視圖馬上就可以成為合法的。這個功能很有意思。例子:

      創(chuàng)建基表: create table v_test(name varchar2(32),age number(12));創(chuàng)建帶錯誤的視圖:

      create force view view_test as select name,age,address from v_test;(注意加上force選項)

      由于address字段在v_test里不存在,所以會報warning: View created with compilation errors的警告,而且執(zhí)行select * from view_test;時會報“ORA-04063: view “SCOTT.VIEW_TEST” 有錯誤”的異常。但是如果在v_test里加上address字段,那么視圖就會合法。對基表進行修改:

      alter table v_test add(address varchar2(128));

      現(xiàn)在再執(zhí)行select * from view_test;就會執(zhí)行成功了。

      from:http://www.blogjava.net/jinhualee/archive/2006/07/14/58115.html

      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

      其他問題總結(jié):

      1、視圖上是否可以創(chuàng)建索引?

      一般視圖上不用建立索引,對視圖的操作最終會轉(zhuǎn)化為對表的操作。一個討論:http://www.itpub.net/viewthread.php?tid=150019&extra=&page=1

      下載linux、oracle自我總結(jié)word格式文檔
      下載linux、oracle自我總結(jié).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔相關(guān)法律責任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        嵌入式linu學(xué)習心得(5篇范例)

        嵌入式Linux學(xué)習心得1、 Linux命令 ls:查看目錄-l以列表方式查看;ls –l 與ll的功能一樣 pwd: 查看當前的目錄 cd:改變當前操作目錄cd /直接跳到根目錄 cd ..回到上一級目錄......

        ORACLE服務(wù)器個人總結(jié)

        ORACLE服務(wù)器安裝 以下如沒有特殊聲明 均使用默認設(shè)置。 安裝時的2個重要文件 1:Oracle Net Services9.2.0.1.0->Oracle Net Listener9.2.0.1.0 監(jiān)聽端口 2:Oracle Managemen......

        Oracle 臨時表總結(jié)===范文大全

        Oracle 臨時表總結(jié) 什么是臨時表? 臨時表只存在于某個會話或事務(wù),不產(chǎn)生redo 。 臨時表主要用于一些需要緩存結(jié)果的應(yīng)用中。例如,在一個學(xué)生選課系統(tǒng)中,學(xué)生暫時的選課表信息保......

        Oracle數(shù)據(jù)庫學(xué)習總結(jié)

        Oracle數(shù)據(jù)庫學(xué)習總結(jié)1.set linesize xx; 設(shè)置行間距,常用數(shù)值有100,200,300 2.set pagesize xx; 設(shè)置每頁顯示行數(shù) 3.ed x ; 表示新建一個x.sql文件,通過文件編輯SQL語句,然后用......

        Oracle之PLSQL總結(jié)

        基本數(shù)據(jù)類型變量 1.基本數(shù)據(jù)類型Number 數(shù)字型Int 整數(shù)型Pls_integer 整數(shù)型,產(chǎn)生溢出時出現(xiàn)錯誤Binary_integer 整數(shù)型,表示帶符號的整數(shù) Char 定長字符型,最大255個字符 Va......

        Oracle數(shù)據(jù)庫 知識點總結(jié)

        1.constraint約束: alter table [table_name] add constraint [pk_name] primary key(pkname);//添加主鍵 alter table [table_name] drop constraint [pk_name];//刪除主鍵......

        ORACLE數(shù)據(jù)庫學(xué)習總結(jié)

        數(shù)據(jù)庫學(xué)習總結(jié)-Marlon 目錄 一、 二、 三、 四、 五、 六、 七、 八、 ORACLE_簡介 ......................................................................................

        Oracle異??偨Y(jié)5篇

        Oracle異??偨Y(jié) Oracle異常處理異常處理是考驗一個應(yīng)用程序健壯性的最好方式,開發(fā)人員必須考慮程序中可能出現(xiàn)的各種錯誤,并進行相應(yīng)的處理。 Oracle中異常分為預(yù)定義異常,非預(yù)......