亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Oracle Class1. Oracle 入門(rdbms結構)

系統 2144 0

------------------------2013-5-4------------------------

create user "tempuser2" profile "DEFAULT"
identified by "tempuser2" default tablespace "USERS"
account unlock;

--profile "DEFAULT" 是區分大小寫的。
? default tablespace "USERS" 是區分大小寫的。

?

create user "TEMPUSER" profile "DEFAULT"
identified by "TEMPUSER" default tablespace "USERS"
account unlock;?
--全部大寫,否則創建的用戶名是:"tempuser2" !!!

?

grant create any table to "tempuser2" with admin option;
grant "CONNECT" to "tempuser2" with admin option;??????????? "CONNECT"大寫

grant create any table to "TEMPUSER" with admin option;
grant "CONNECT" to "TEMPUSER" with admin option;?

?

begin
dbms_resource_manager_privs.grant_switch_consumer_group(
? grantee_name =>'TEMPUSER',
? consumer_group =>'DEFAULT_CONSUMER_GROUP',
? grant_option=>true
);
end;


begin
dbms_resource_manager.set_initial_consumer_group(
? user=>'TEMPUSER',
? consumer_group=>'DEFAULT_CONSUMER_GROUP'
);
end;


alter user "TEMPUSER" account lock
alter user "TEMPUSER" identified by "TEMP"
drop user tempuser cascade;


CREATE ROLE "TEMPROLE"?
??? IDENTIFIED BY "temprole"

--角色--
GRANT "CONNECT" TO "TEMPROLE" WITH ADMIN OPTION;
GRANT "DBA" TO "TEMPROLE" WITH ADMIN OPTION;

--系統權限--
GRANT ALTER ANY
??? INDEX TO "TEMPROLE" WITH ADMIN OPTION
GRANT SELECT ANY TABLE TO "TEMPROLE" WITH ADMIN OPTION


--grant--

BEGIN
?dbms_resource_manager_privs.revoke_switch_consumer_group(
??revokee_name => 'TEMPROLE',
??consumer_group => 'DEFAULT_CONSUMER_GROUP'
?);
END;

------------------------2013-5-5------------------------

##角色##
create role "TEMPROLE2" identified by "TEMPROLE2";

grant alter any index to "TEMPROLE2" with admin option;
grant select any table to "TEMPROLE2" with admin option;
grant "CONNECT" to "TEMPROLE2" with admin option;
grant "DBA" to "TEMPROLE2" with admin option;

begin
dbms_resource_manager_privs.grant_switch_consumer_group(
? grantee_name => 'TEMPROLE2',
? consumer_group => 'DEFAULT_CONSUMER_GROUP',
? grant_option => false
);
end;

alter role "TEMPROLE2" identified externally;
revoke "DBA" from "TEMPROLE2";????????????????? #revoke關鍵字#
drop role TEMPROLE2;

##profile概要文件##

CREATE PROFILE "TEMPPROFILE"
??? LIMIT CPU_PER_SESSION 1000 CPU_PER_CALL 1000 CONNECT_TIME 30
??? IDLE_TIME DEFAULT SESSIONS_PER_USER 10
??? LOGICAL_READS_PER_SESSION 1000 LOGICAL_READS_PER_CALL 1000
??? PRIVATE_SGA 16K COMPOSITE_LIMIT 10000000
??? FAILED_LOGIN_ATTEMPTS 3 PASSWORD_LOCK_TIME 5
??? PASSWORD_GRACE_TIME 60 PASSWORD_LIFE_TIME 30
??? PASSWORD_REUSE_MAX UNLIMITED PASSWORD_REUSE_TIME 30
??? PASSWORD_VERIFY_FUNCTION DEFAULT

為用戶分配概要文件
alter user tempuser profile tempprofile;
概要文件的刪除
drop profile tempprofile;


##表空間##
CREATE TABLESPACE "TEMPTABLESPACE"
??? LOGGING
??? DATAFILE 'D:\ORACLE\ORADATA\ORA1128\TEMPTABLESPACE.ora' SIZE
??? 5M EXTENT MANAGEMENT LOCAL

創建表空間的語法是:
create tablespace tablespacename
datafile 'filename' [size integer [K|M]]
[autoextend [off|on]];


##數據文件##
ALTER TABLESPACE "CWMLITE"
??? ADD
??? DATAFILE 'D:\ORACLE\ORADATA\ORA1128\TEMPDATAFILE.ora'? SIZE?
??? 5M AUTOEXTEND
??? ON NEXT? 100K MAXSIZE UNLIMITED

##回退段##
回退段是一種特殊類型的數據段,記錄著數據庫被某個事務操作后的資料的原值,因此回退段里的資料可以用來對數據庫進行恢復。

CREATE ROLLBACK SEGMENT "TEMPROLLBACKSEGMENT"
??? TABLESPACE "TEMPTABLESPACE"
??? STORAGE ( INITIAL 10K NEXT 10K)
ALTER ROLLBACK SEGMENT "TEMPROLLBACKSEGMENT" ONLINE


D:\oracle\admin\ora1128\pfile\init.ora
###########################################
# 系統管理的撤銷和回退段
###########################################
undo_management=AUTO?? -->manual
undo_retention=10800
undo_tablespace=UNDOTBS

報錯:ORA-30019:自動撤消模式中的回退段操作非法。


##重做日志組##
ALTER DATABASE
??? ADD LOGFILE GROUP 4 ('D:\ORACLE\ORADATA\ORA1128\log4.ora')
??? SIZE 1024K

SQL
數據查詢語言DQL: 查詢數據
數據定義語言DDL: 建立,刪除和修改數據對象,create? alter? drop? truncate
數據操縱語言DML: 完成數據操縱的命令,包括查詢。 insert? select? delete? update
數據控制語言DCL: 控制對數據庫的訪問,服務器的關閉,啟動等。grant? revoke

事務處理語言TCL? commit? savepoint? rollback

select * from emp;
select * from dept;
desc dept? 查看表結構。

select empno,ename,job from scott.emp;

select distinct job from scott.emp;??? <===> select all job from scott.emp;

select empno,ename,job from scott.emp where job='MANAGER';

select empno,ename,sal from scott.emp where sal <=2500;

不等于運算符
select empno,ename,job from scott.emp where job ^= 'MANAGER';
select empno,ename,job from scott.emp where job != 'MANAGER';
select empno,ename,job from scott.emp where job <> 'MANAGER';

in(列表以逗號隔開)
not in(列表以逗號隔開)
between and 介于之間

字符型字段也可以比較大小
select empno,ename,job from scott.emp where job > 'MANAGER';
select empno,ename,job from scott.emp where job not in ('MANAGER','CLERK');

select empno,ename,job from scott.emp where job between 'CLERK' and 'MANAGER'

like模式匹配
select empno,ename,job from scott.emp where job like 'M%'
select empno,ename,job from scott.emp where job like 'M__'?? x
select empno,ename,job from scott.emp where job like 'M______'? 代表M開頭的長度為7的字符串,并且區分大小寫。

is null是否為空
select empno,ename,job from scott.emp where job is null

以上為單條件查詢,以下為組合條件的查詢。
select empno,ename,job from scott.emp where job > 'CLERK' and sal <= 2000

not job='CLERK' 等價于 job<>'CLERK'

排序
select empno,ename,job,sal from scott.emp where job <= 'CLERK' order by job asc,sal desc
???? EMPNO ENAME????? JOB????????????? SAL
---------- ---------- --------- ----------
????? 7788 SCOTT????? ANALYST???????? 3000
????? 7902 FORD?????? ANALYST???????? 3000
????? 7934 MILLER???? CLERK?????????? 1300
????? 7876 ADAMS????? CLERK?????????? 1100
????? 7900 JAMES????? CLERK??????????? 950
????? 7369 SMITH????? CLERK??????????? 800

分組查詢
select empno,ename,job,sal from scott.emp group by job,empno,ename,sal having? sal <= 2000

select job,sum(sal) from scott.emp group by job,sal having sal < 2000;

select job,sum(sal) as sal2 from scott.emp group by job having sal > 5000
?????????????????????????????????????????????????????????????? *
ERROR 位于第 1 行:
ORA-00979: 不是 GROUP BY 表達式

應該寫成分組函數的方式。
select job,sum(sal) from scott.emp group by job;? 按job分組,分組統計sal求和。

select job,sum(sal) as sal2 from scott.emp group by job having sum(sal) > 5000; 在以上條件基礎上篩選總和大于5000的記錄。

對空表記錄的查詢,同樣適合于oracle。
select count(*) from newlifeyhj.t;?? 為0
select sum(A) from newlifeyhj.t;???? 為空

順序求子句的值:
1.where子句,建立候選行。
2.group by子句中指定的組。
3.having子句進一步約束不滿足having子句中分組標準結果分組。

avg 平均值
count 計數
max 最大值
min 最小值
stddev 標準差
sum 合計
variance 方差

所有的oracle忽略空值。
min和max用于任何數據類型,avg,sum,variance,stddev函數只能被用于數字。
NVL函數強制組函數包含空值。

分組數據:? GROUP BY 子句語法
可以使用GROUP BY 子句將表中的數據分成若干組
在SELECT 列表中所有未包含在組函數中的列都應該包含在 GROUP BY 子句中。
SQL> select employee_id,avg(salary) from employees group by employee_id;
包含在 GROUP BY 子句中的列不必包含在SELECT 列表中
所用包含于SELECT 列表中,而未包含于組函數中的列都必須包含于 GROUP BY 子句中,
否則會報錯:第 1 行出現錯誤:? ORA-00979: 不是 GROUP BY 表達式 注意:
不能在 WHERE 子句中使用組函數(注意)。
可以在 HAVING 子句中使用組函數。

過濾分組:
使用 HAVING 過濾分組:
1.行已經被分組。
2.使用了組函數。
3.滿足HAVING 子句中條件的分組將被顯示
select department_id,max(salary) from employees group by department_id having max(salary)>2000

##帶where條件##
--查詢全部的sal條件 8行
select job,sal as sal2 from scott.emp where sal <= 2000;
--查詢滿足job,sal記錄分組,7行, SALESMAN 1250 兩條重復的記錄。
select job,sal as sal2 from scott.emp where sal <= 2000 group by job,sal;
--查詢滿足job,sal記錄分組,7行, sum(SALESMAN 1250) 兩條重復的記錄。 ==>求和,SALESMAN 2500
select job,sum(sal) as sal2 from scott.emp where sal <= 2000 group by job,sal;
--注釋,根據單一job分組求和sal
select job,sum(sal) as sal2 from scott.emp where sal <= 2000 group by job;

字段運算查詢+ - * /
select empno,ename,sal,mgr,sal+mgr,sal+100 from scott.emp;

select empno 編號,ename 姓名,job 工作,sal 薪水,mgr,sal+mgr,sal+100 from scott.emp;

##多表查詢##
#無條件多表查詢#
select emp.empno,emp.ename,emp.deptno from scott.emp;? 14行

select dept.dname,dept.loc from scott.dept;??????????? 5行

select emp.empno,emp.ename,emp.deptno,dept.dname,dept.loc from scott.emp,scott.dept;? 14*5=70行
無條件多表查詢是將各表的記錄以"笛卡爾"積的方式組合起來。

#等值多表查詢#
select emp.empno,emp.ename,emp.deptno,dept.deptno,dept.dname,dept.loc from scott.emp,scott.dept
where scott.emp.deptno=scott.dept.deptno

#非等值多表查詢#
select emp.empno,emp.ename,emp.deptno,dept.deptno,dept.dname,dept.loc from scott.emp,scott.dept
where scott.emp.deptno!=scott.dept.deptno and scott.emp.deptno=10

##SQL嵌套查詢##
內嵌的select語句稱為子查詢,子查詢形成的結果又成為父查詢的條件。
select sal from scott.emp where ename='WARD';? ==> sal=1250

select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal >= (select sal from scott.emp where ename='WARD')

#關鍵字in not in#
select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal in (select sal from scott.emp where ename='WARD')
select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal not in (select sal from scott.emp where ename='WARD')


select sal from scott.emp where job = 'MANAGER';
#any關鍵字# 等價于where sal > 2975 or sal > 2850 or sal > 2450
select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal > any(select sal from scott.emp where job = 'MANAGER')

select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal > 2975

select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal > 2850

select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal > 2450

select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal > 2975 or sal > 2850 or sal > 2450

#some關鍵字# 等價于where sal = 2975 or sal = 2850 or sal = 2450
select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal = some(select sal from scott.emp where job = 'MANAGER');

select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal = 2975 or sal = 2850 or sal = 2450;

#all關鍵字#
select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal > all(select sal from scott.emp where job = 'MANAGER');

select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal > 2975 and sal > 2850 and sal > 2450;

#exists關鍵字#
select emp.empno,emp.ename,emp.job,emp.sal from scott.emp,scott.dept
where exists
(select * from scott.emp where scott.emp.deptno = scott.dept.deptno);

#union關鍵字#并操作
select deptno from scott.emp
union
select deptno from scott.dept;

#intersect關鍵字#交操作
select deptno from scott.emp
intersect
select deptno from scott.dept;

#minus關鍵字#差操作,屬于集合A且不屬于集合B的元素總合就是差集。
select deptno from scott.emp
minus
select deptno from scott.dept;

要求屬性具有相同的定義,包括類型和取值范圍。

##SQL函數查詢##
#ceil函數#取大于等于數值n的最小整數
select mgr,mgr/100,ceil(mgr/100) from scott.emp;

#floor函數#取小于等于數值n的最大整數
select mgr,mgr/100,floor(mgr/100) from scott.emp;

#mod函數# mod(m,n), 取m整除n后的余數。
select mgr,mod(mgr,1000),mod(mgr,100),mod(mgr,10) from scott.emp;

==>p21

------------------------2013-5-6------------------------
#power函數#[數]冪,power(m,n),取m的n次方。
select mgr,power(mgr,2),power(mgr,3) from scott.emp;

#round函數# round(m,n),四舍五入,保留n位。
select mgr,round(mgr/100,2),round(mgr/1000,2) from scott.emp;

#sign函數# sign(n),n>0,取1; n=0,取0; n<0,取-1
select mgr,mgr-7800,sign(mgr-7800) from scott.emp;

#avg函數# 求平均值,要求字段為數值型。
select avg(mgr) 平均薪水 from scott.emp;

#count函數# count(字段名)或count(*),統計總數。
select count(*) 記錄總數 from scott.emp;

select job,count(distinct job) 工作類別總數 from scott.emp group by job;

select count(distinct job) 工作類別總數 from scott.emp;

#min函數# min(字段名),計算數值型字段最小值。
select min(sal) 最少薪水 from scott.emp;

#max函數# max(字段名),計算數值型字段最大值。
select max(sal) 最高薪水 from scott.emp;

#sum函數# 計算數值型字段總和。
select sum(sal) 薪水求和 from scott.emp;

##SQL錄入數據##
#單行記錄錄入#
7900 JAMES????? 03-12月-81

insert into scott.emp(empno,ename,hiredate)values(7999,'JONE','25-11月-2002');

select empno,ename,hiredate from scott.emp;

#多行記錄的錄入#
select empno+100,ename,hiredate from scott.emp where empno >= 6999

insert into scott.emp(empno,ename,hiredate)
(select empno+100,ename,hiredate from scott.emp where empno >= 6999)

#表間數據復制#
select distinct empno,ename,hiredate
? from scott.emp
? where empno >= 7000
?
create table scott.test? --利用現有的表創建表。
as(
? select distinct empno,ename,hiredate
? from scott.emp
? where empno >= 7000
);? //分三步執行的,首先查詢符合要求的數據,其次是建立3個字段的名為test數據庫空表,最后將查詢的數據插入到test數據表中。


select * from scott.test;
desc scott.test;
create table test2
as
select * from scott.test where 1 <> 2;?? --條件不成立,僅僅復制的是表結構,而不是表數據。

create table scott.test2?? --注意表名前面的前綴。
as
select * from scott.test where 1 <> 2;

日期數據類型默認格式為 DD-MON-RR
使用日期的默認格式
使用TO_DATE函數轉換? TO_DATE('2005-10-18','YYYY-MM-DD')


select * from scott.test;

##SQL刪除數據##
delete from scott.test where empno >= 7500 and empno <= 8000;

delete from scott.test

truncate table scott.test;?? --表已截掉。

truncate table命令將快速刪除數據表中的所有記錄,但保留數據表結構。這種快速刪除與delete from數據表的刪除全部數據表記錄不一樣,
delete命令刪除的數據將存儲在系統回滾段中,需要的時候,數據可以回滾恢復。
而truncate命令刪除的數據是不可以恢復的。

--insert into scott.test(empno,ename,hiredate)values(7999,'JONE','25-11月-2002');

--delete from scott.test;

--rollback;

select * from scott.test;

事務例子sql
select * from scott.test2 where 1 = 1;

--insert into scott.test2(empno,ename,hiredate)values(8881,'STEVE',TO_DATE('2013-5-6','YYYY-MM-DD'));

update scott.test2 set ename='STEVE2' where empno = 8881;
savepoint mark1;
delete from scott.test2 where empno = 8881;
?--delete from scott.test2 where empno = 8881;
?--truncate table scott.test2;??? --測試truncate是否支持回滾。
savepoint mark2;
rollback to savepoint mark1;
commit;

select * from scott.test2 where 1 = 1;

?

##SQL更新數據##
#直接賦值更新#
select empno,ename,hiredate from scott.emp where empno=7999;

update scott.emp set empno=8888,ename='TOM',hiredate='03-9月-2002' where empno=7999;

select empno,ename,hiredate from scott.emp where empno=8888;

#嵌套更新#
update scott.emp set sal = 600 where empno=8888;

select empno,sal from scott.emp where empno=8888;

select sal+300 from scott.emp where empno=8888;

update scott.emp
set sal = (select sal+300 from scott.emp where empno=8888)
where empno = 8888;

安裝9i
ping 10.0.6.57 -t? 網絡

數據庫服務器的體系結構
進程結構
1.用戶進程,客戶機內存上運行的程序,如SQL Plus,企業管理器。
2.服務器進程,Oracle 9i的主要后臺支持進程。
?系統監控進程(smon)?? x
?進程監控進程(pmon)?? x
?數據庫寫入進程(dbwr) x
?日志寫入進程(lgwr)?? x
?歸檔進程(arch)?????? x
?檢查點進程(ckpt)???? x

?恢復進程(reco)
?鎖進程(LCKn)
?快照進程(SNPn)
?調度進程(Dnnn)??? --服務進程和用戶進程--

內存結構
1.系統全局區SGA
2.程序全局區PGA
PGA是數據庫服務器內存中為單個用戶進程分配的專用的內存區域,是用戶進程私有的,不能共享。

數據庫的邏輯結構
1.數據塊 Data Block
2.數據區間 Data Extent
3.數據段 Data Segment?? 數據段 索引段 臨時段 回滾段
4.邏輯對象 Logic Object 表 索引 視圖
5.表空間 Tablespace????
6.數據庫 Database

模式
模式是對用戶所創建的數據庫對象的總稱。
模式對象包括表、視圖、索引、同義詞、序列、過程和程序包等。


oracle 9i安裝完畢后自動建立9個默認的表空間。
cwmlite?? 用于聯機分析處理olap
drsys???? 用于存放與工作空間設置有關的信息
example?? 實例表空間,存放實例信息。
index???? 索引表空間,存放數據庫索引信息。
system??? 系統表空間,存放表空間名稱、所含數據文件等管理信息。
temp????? 臨時表空間,存儲臨時表。
tools???? 工具表空間,存放數據庫工具軟件所需的數據庫對象。
undotbs?? 回滾表空間,存放數據庫恢復信息。
users???? 用戶表空間,存放用戶私有信息。

1.物理塊
2.物理文件
?數據文件:用于存放所有的數據,以DBF為擴展名。???? 存儲數據庫數據,如表,索引數據等。? (數據庫文件或數據文件)
?日志文件:記錄了對數據庫進行的所有操作,以LOG為擴展名。?? 對數據庫所有修改信息,用于故障恢復。(恢復日志文件)
?控制文件:記錄了數據庫所有文件的控制信息,以CTL為擴展名。 記錄數據庫物理結構的二進制文件。??? (控制文件)
D:\oracle\oradata\ora1128

數據庫以下面兩種模式運行
NOARCHIVELOG MODE
ARCHIVELOG MODE?

to_date('17-12-1980','dd-mm-yyyy')

show sga;
show parameter sga;
show parameter db;
show parameter pga;
show parameter log_buffer;

select * from v$bgprocess where paddr <> '00';

select * from v$controlfile;
select * from v$datafile;
select * from v$logfile;

interval函數用法:
--日期加上1天
select trunc(sysdate) + interval '1' day from dual;
--月份加上1月
select trunc(sysdate) + interval '1' month from dual;
--年份加上1年
select trunc(sysdate) + interval '1' year from dual;
--查詢系統時間
select sysdate from dual;
--trunc函數
select trunc(sysdate) from dual;


select trunc(sysdate) + interval '99' day from dual;

select trunc(sysdate) + interval '101' day from dual;
--ERROR 位于第 1 行:
ORA-01873: 間隔的前導精度太小

select TO_CHAR(SYSDATE + INTERVAL '100' DAY(3), 'YYYYMMDD') from dual;


select
TO_CHAR(SYSDATE - INTERVAL '3' YEAR, 'YYYYMMDDHH24') ToYEAR,
--=>從系統日期算起往前 3 年
TO_CHAR(SYSDATE - INTERVAL '3' month, 'YYYYMMDDHH24') ToMONTH,
--=>從系統日期算起往前 3 個月
TO_CHAR(SYSDATE - INTERVAL '30' DAY, 'YYYYMMDDHH24') ToDay,
--=>從系統日期算起往前 30 天
TO_CHAR(SYSDATE - INTERVAL '30' HOUR, 'YYYYMMDDHH24') ToHOUR,
--=>從系統日期算起往前 30 小時
TO_CHAR(SYSDATE - INTERVAL '30' minute, 'YYYYMMDD HH24:MI:SS') ToMinute,
--=>從系統日期算起往前 30 分鍾
TO_CHAR(SYSDATE - INTERVAL '50' second,'YYYYMMDD HH24:MI:SS') ToSecond,
--=>從系統日期算起往前 50 秒
SYSDATE
--系統日期
from dual;
--http://pramaire.pixnet.net/blog/post/7619355-oracle-%E6%97%A5%E6%9C%9F%E9%81%8B%E7%AE%97-%5B%2B--interval%5D

Oracle數據庫的主要特點:
1. 支持多用戶,大事務量的事務處理.
2. 數據安全性和完整性控制.
3. 支持分布式數據處理.
4. 可移植性.

授予用戶MARTIN操作TEST表對象的權限
grant select on test to martin; --允許用戶查詢test表的記錄

grant update on test to martin; --允許用戶更新test表的記錄

grant all on test to martin; --允許用戶插入,刪除,更新和查詢test表中的記錄

grant select,update on test to martin with grant option;? --表的多個權限的賦予,管理權限。
grant update(qty_hand,re_level) on test to martin;? --控制力度在修改表中的字段。
revoke select,update on test from martin;? --移除權限。


RAW
(raw image format)原始圖象數據存儲格式。

##Oracle數據類型##
字符數據類型,char(1-2000)? varchar2(1-4000)? long(可變長度字符數據,最多能存儲2GB)

數值數據類型的聲明語法:可以存儲整數,浮點數和實數。最高精度為38位。
number(p[,s]),p表示精度,s表示小數點的位數。

日期類型:date,timestamp

raw: 存儲二進制數據,最多能存儲2000字節,
long raw: 存儲可變長度的二進制數據,最多能存儲2GB

lob:大對象數據類型,存儲達4GB的非結構化信息,如聲音剪輯和視頻文件。允許高效,隨機,分段的訪問。
clob: character lob 字符lob 能夠存儲大量字符數據。
blob: binary lob 二進制lob,可以存儲較大的二進制對象,如圖形,視頻剪輯和聲音文件。
bfile: binary file 二進制文件,用于將二進制數據存儲在數據庫外部的操作系統文件中。

oracle偽列:rowid(表中行的存儲地址),rownum(查詢返回的結果集中行的序號,可以用它來限制查詢返回的行數。)

Oracle服務器由Oracle數據庫(邏輯單元)和Oracle實例(管理數據庫的后臺進程和內存結構)組成。

SGA內存結構(共享池,數據緩沖區,日志緩沖區)

使用表空間:為什么使用?
在大型商場中收款機眾多,同時訪問進程很多,經常達到50-100個進程同時訪問,這樣,通過建立多個用戶表空間、索引表空間,把各個用戶分別建在不同的表空間里。
(多個用戶表空間放在不同的物理磁盤上),減少了用戶之間的I/O競爭、讀寫數據與寫讀索引的競爭(用戶表空間、索引表空間也分別放在不同的物理磁盤上)

?

Oracle Class1. Oracle 入門(rdbms結構)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产色吧 | 日本中文字幕一区二区有码在线 | 国内精品中文字幕 | 国产在线激情视频 | 91网红福利精品区一区二 | 狠狠久久 | 999精品国产| 美女久久久| 亚洲伊人久久综合 | 国产成人精品在视频 | 日日拍夜夜嗷嗷叫狠狠 | 国产一区二区三区影院 | 97免费看 | 九九99久久 | 国产精品久久久久三级 | 老司机午夜免费福利 | 色婷婷综合久久久久中文一区二区 | 青草社区 | 亚洲欧美一区二区三区在线 | 欧美精品综合一区二区三区 | 99视频精品全部免费观看 | 中文字幕精品一区 | 天天做天天干 | 91网站国产 | 欧美在线精品一区二区三区 | 亚洲九九九 | 在线视频日韩精品 | 四虎影视紧急入口地址大全 | 亚洲欧洲日韩国产一区二区三区 | 国产精品免费大片一区二区 | 综合亚洲欧美 | 一级毛片一 | 久久刺激 | 亚洲伊人成人网 | 国产精品a在线观看香蕉 | 亚洲成年人免费网站 | 日本视频播放免费线上观看 | 一级片免 | 久久爱噜噜噜噜久久久网 | 91久久亚洲国产成人精品性色 | 美女粉逼|