標籤:建立 安全 nvarchar 形式 日期 最大值 nes 關係 對象
Oracle 是一個資料庫管理系統,是Oracle公司的核心產品。其在資料安全性與安整性控制方面的優越效能,以及跨作業系統、跨硬體平台的資料操作能力。基於“用戶端/伺服器”(Client/Server)系統結構。
主要特點:
1.支援多使用者、大事務量的交易處理。
2.在保持資料安全性和完整性方面效能優越。
3.支援分布式資料處理。將公布在不同物理位置的資料庫用通訊網路連接起來,組成一個邏輯上統一的資料庫,完成資料處理任務。
4.具有可移植性。Oracle可以在Windows、Linux等多個作業系統平台上使用。
Oracle基本概念:
1.資料庫。這裡的資料庫是磁碟上儲存資料的集合,在物理上表現為資料檔案、記錄檔和控制檔案等。在邏輯上以資料表空間形式存在。必須首先建立資料庫,然後才能用Oracle。可以在Database Configuation Assistant上建立。
2.全域資料庫名。用於區分一個資料庫的標識。它由資料庫名稱和網域名稱構成,類似網路中的網域名稱,使資料庫的命名在整個網路環境中唯一。
3.資料庫執行個體。每個啟動的資料庫都對應一個資料庫執行個體,由這個執行個體來訪問資料庫中的資料。
4.資料表空間。每個資料庫都是由若干個資料表空間構成的,使用者在資料庫中建立的所有內容都被儲存到資料表空間中。一個資料表空間可以由多個資料檔案組成,但一個資料檔案只能屬於一個資料表空間。
5.資料檔案。副檔名是.dbf,是用於儲存資料庫資料的檔案。一個資料檔案中可能儲存很多個表的資料,而一個表的資料也可以存放在多個資料檔案中。資料檔案和資料庫表不存在一對一的關係。
6.控制檔案。技展名.ctl,是一個二進位檔案。控制檔案是資料庫啟動及運行所必需的檔案。儲存資料檔案和記錄檔的名稱和位置。Oracle 11g預設包含三個控制檔案。
7.記錄檔。副檔名.log,它記錄了資料的所有更改資訊,並提供了一種資料恢複機制,確保在系統崩潰或其他意外出現後重新恢複資料庫。在工作過程中,多個記錄檔組之間迴圈使用。
8.模式和模式對象。模式是資料庫物件(表、索引等,也稱模式對象)的集合。
Oracle資料類型:1、字元資料類型:
1)char資料類型。當需要固定長度字串時,使用char。長度1~2000位元組。如果沒有指定大小,預設1位元組。如果使用者輸入的值小於指定的大小,系統用空格填充。如果大於,報錯。
2)varchar2資料類型,支援可變長度的字串。大小為1~4000位元組。如果使用者輸入的值小於指定的大小,不用填充,varchar2資料類型可以節省磁碟空間。如果varchar2想根據定義的長度儲存相應的漢字個數
如:varchar2(10 char)
3)nchar資料類型,即國家字元集,使用方法和char相同。用來儲存Unicode字元集類型,即雙位元組字元資料。最小單位1字元。
4)nvarchar2與nchar類似,只是可變長度的。
2.數值資料類型number:
number資料類型可以儲存正數、負數、零、定點數、精度為38信的浮點數。
文法:number(p,s) --如果不寫p,s內容,是否是沒有限制?
p 為精度,表示數位有效位元,在1~38之間,從左邊第一個不為0的數算起,小數點和負號不計入有效位元。
s 為範圍,表示小數右邊數位位元,在-84~+127之間。
規則:首先精確到小數中右邊s位,並四捨五入。如果精確後值的有效位元<=p,則正確;否則報錯。
3.日期時間資料類型:用於儲存日期值和時間值
1)date資料類型,用於儲存表中的日期和時間資料。使用7位元組固定長度,每個位元組分別儲存世紀、年、月、日、時、分和秒。sysdate函數的功能是返回當前的日期和時間。
2)timestamp資料類型,用於儲存日期的年、月、日以及時間的小時、分和秒。秒值精確到小數小後6位,包含時區資訊。systimestamp函數的功能是返回當前日期、時間和時區。
改變日期格式:
Oracle中的SQL視窗:alter session set nls date format=’YYYY-MM-DD HH24:MI:SS’;//只對當前視窗有效。
環境變數:鍵:nls_date_format
值:YYYY-MM-DD HH24:MISS
4.遊標類型,SYS_REFCURSOR類型是Oracle提供的系統遊標類型。
如下,過程返回一個遊標類型:
CREATE OR REPLACE PROCEDURE get_sals(cur_salary OUT SYS_REFCURSOR)ISBEGINOPEN our_salary FOR SELECT empno, sal FROM employee;END;
簡單介紹後我們開始安裝!!!
前提條件:database包和flash-player-npapi-26.0.0.131-release.x86_64.rpm包
一、關閉防火牆自啟動,以及相關功能和增強性安全功能
[[email protected] ~]# systemctl disable firewalld.service[[email protected] ~]# systemctl stop firewalld.service[[email protected] ~]# setenforce 0
二、建立xfs格式檔案系統並且進行掛載,建立/orc目錄為掛載目錄
[[email protected]~]#mkfs -t xfs /dev/sdb1
[[email protected]~]#mount /dev/sdb1 /orc
註:這裡需要在虛擬機器中添加一塊不小於15G的硬碟,重啟後生效
三、更改主機名稱,添加使用者地址
[[email protected] ~]#vim /etc/hostname //更改主機名稱OracleHOSTNAME=oracle //重啟虛擬機器後生效[[email protected] ~]#vim /etc/hostslocal_host_ip Oracle //本機地址和使用者,’O‘為大寫
四、安裝軟體環境包
[[email protected] ~]#yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
五、調整核心參數
[[email protected] ~]#vim /etc/sysctl.conffs.aio-max-nr = 1048576 #非同步IO請求數目 推薦值是:1048576 其實它等於 1024*1024 也就是 1024K 個fs.file-max = 6815744 #開啟的檔案控制代碼的最大數量,防止檔案描述符耗盡的問題kernel.shmall = 2097152 #共用記憶體總量 頁為單位,記憶體除以4K所得kernel.shmmax = 4294967295 kernel.shmmni = 4096kernel.sem = 250 32000 100 128 #SEMMSL: 每個訊號集的最大訊號數量 SEMMNS:用於控制整個 Linux 系統中訊號的最大數 SEMOPM: 核心參數用於控制每個 semop 系統調用可以執行的訊號操作的數量 SEMMNI :核心參數用於控制整個 Linux 系統中訊號集的最大數量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 = 1048576 #通訊端發送緩衝區大小的最大值[[email protected] ~]#sysctl -p //重新載入設定檔
六、使用者環境配置
[[email protected] ~]#groupadd oinstall[[email protected] ~]#groupadd dba[[email protected] ~]#useradd -g oinstall -G dba oracle[[email protected] ~]#passwd oracle //密碼123123[[email protected] ~]#mkdir -p /orc/app/oracle[[email protected] ~]#chown -R oracle:oinstall /orc/app/[[email protected] ~]#chmod -R 755 /orc/app/oracle/
七、oracle使用者環境配置
[[email protected] ~]#vim /home/oracle/.bash_profile umask 022ORACLE_BASE=/orc/app/oracleORACLE_HOME=/orc/app/oracle/product/12.2.0/dbhome_1/ORACLE_SID=orclNLS_LANG="SIMPLIFIED CHINESE_CHINA".UTF8PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/binLANG=zh_CN.UTF-8export PATH LANG NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
八、oracle使用者資源限制,使用pam_limits認證模式
註:這裡編輯的內容在末行插入即可,不需要改變原有內容
[[email protected] ~]#vim /etc/pam.d/loginsession required /lib/security/pam_limits.sosession required pam_limits.so[[email protected] ~]#vim /etc/security/limits.conforacle soft nproc 2047 #單使用者可使用的進程數量oracle hard nproc 16384oracle soft nofile 1024 #使用者可開啟的檔案數量oracle hard nofile 65536oracle soft stack 10240 #堆棧設定[[email protected] ~]#vim /etc/profileif [ $USER = "oracle" ] then if [ $SHELL = "/bin/ksh" ] then ulimit -p 16384 #緩衝區大小 ulimit -p 65536 else ulimit -u 16384 -n 65536 #進程數 檔案數 fifi
九、oracle安裝,把解壓的database包掛載在/abc目錄
[[email protected] ~]#mount database /abc
十、在圖形化介面操作
[[email protected] ~]#xhost + //以root使用者在圖形化介面操作[[email protected] ~]#su - oracle //切換oracle使用者[[email protected] ~]$cd /abc[[email protected] abc]$export DISPLAY=:0.0[[email protected] database]$./runInstall //執行安裝
掛載flash的rpm包安裝
[[email protected] ~]#rpm -ivh flash-player-npapi-26.0.0.131-release.x86_64.rpm
使用Firefox瀏覽開啟
https://Oracle:5500/em
登入名稱:sys 密碼:abc123 勾選:as sysdba
可能遇到問題的解決方案:
1、安裝中在進程72%左右彈窗處理
[[email protected] ~]$su - root[[email protected] ~]#/orc/app/oraInventory/orainstRoot.sh[[email protected] ~]#/orc/app/oracle/product/12.2.0/dbhome_1/root.sh
2、報錯磁碟空間不夠
①檢查添加硬碟的空間大小,不能小於15G
②oracle資料庫安裝成功後,執行./runInstall命令,可以再次安裝,所以這裡要避免重複安裝
注意事項:
1、只有切換成oracle使用者才可以安裝,不要在root使用者下安裝
2、更改主機名稱時需重啟生效,之前的掛載項需要重新掛載
3、介面訪問登陸不上,需重新關閉防火牆和網路安全性增強功能
[[email protected] ~]#setenforce 0
Centos 7上安裝新版資料庫Oracle12c