#表空間、資料庫物件
#建立同義詞並訪問
create user xiaomei identified by xiaomei;
grant connect to xiaomei;
grant resource to xiaomei;
grant create synonym to xiaomei;
#連線至xiaomei後
create synonym myemp for scott.em;
#刪除同義詞
drop [public] synonym [schema.]sysnonym_name;
#序列#建立乙個從1開始,預設最大值,每次增長1的序列,要求nocycle,快取中有30個預先分配號的序列號
create sequence myseq
minvalue 1
start with 1
nomaxvalue
increment by 1
nocycle
cache 30
/#通過偽列訪問該序列的當前值和下乙個值
select myseq.nextval from dual;
select myseq.currval from dual;
#修改序列
alter sequence
#刪除序列
drop sequence myseq;
#檢視(預定義查詢)
#基於emp和dept建立檢視
create or replace view empdetail
asselect empno,ename,job,hiredate,e.deptno,dname
from scott.emp e
join scott.dept d
on e.deptno = d.deptno
with read only
/select * from empdetail;
#索引#oracle 資料庫會為表的主鍵和包含唯一約束的列自動建立索引。索引可以提高查詢的效 率,但是在資料增刪改時需要更新索引,因此索引對增刪改時會有負面影響
#為 emp 表的 ename 列建立建立唯一索引,為 emp 表的工資列建立普通索引,
把 job 列先變為小寫再建立索引。
create unique index uq_ename_idx on scott.emp(ename);
create index idx_sal on scott.emp(sal);
create index idx_job_lower on scott.emp(lower(job));
#表空間
#系統表空間:system,影響資料庫效能
#臨時表空間:tmep,記憶體不足時將排序類資料臨時寫在該空間內
#使用者自定義空間:使用者可以通過 create tablespace 命令建立表空
#建立乙個表空間,包含兩個資料檔案大小分別是 10mb,5mb,要求 extent 的
大小統一為 1m
create tablespace myspace
datafile 『d:/a.ora』 size 10m,
『d:/b.ora』 size 5m
extent management loacl
uniform size 1m
/#擴充表空間
alter tablespace myspace
add datafile 『d:/c.ora』 size 10m
/#為某一使用者指定預設表空間
create user acong identified by acong
default tablespace myspace
/#為表指定表空間
create table scores
(id number,
term varchar2(2),
stuid varchar2(7) not null,
examid varchar2(7) not null,
writtenscore number(4,1) not null,
labscore number(4,1) not null
)tablespace myspace
/#為索引指定表空間
create index uq_id on scores(id)
tablespace myspace
#回顧:建立同義詞的命令是create synonym
#練習#1.產生乙個用於 dept 表的主鍵值的序列,序列起始值是 100,最大值是 500,增長步 長是 10
create sequence deptseq
minvalue 100
maxvalue 500
increment by 10
/#2.用序列產生 dept 表的主鍵,向 dept 表中插入 3 條記錄
#3.為 dept 表建立乙個同義詞
create synonym dept for scott.dept;
#4.建立乙個檢視包括 emp 表的 empno,ename,job,部門表的 dname 列,只能包含 銷售部的記錄
create or replace view empdetail
asselect empno,ename,job,dname
from scott.emp e
join scott.dept d
on e.deptno = d.deptno
where dname = 『sales』
/select * from empdetail
/5.為 emp 表的 ename 列建立唯一索引
create unique index emp_idx on scott.emp(ename);
oracle 臨時表空間 和資料表空間
oracle臨時表空間主要用來做查詢和存放一些緩衝區資料。臨時表空間消耗的主要原因是需要對查詢的中間結果進行排序。重啟資料庫可以釋放臨時表空間,如果不能重啟例項,而一直保持問題sql語句的執行,temp表空間會一直增長。直到耗盡硬碟空間。網上有人猜測在磁碟空間的分配上,oracle使用的是貪心演算法...
oracle表空間和資料檔案
size medium 表空間是資料庫的邏輯組成部分,在物理上講,資料庫資料存放在資料檔案中,從邏輯上講,資料庫則是存放在表空間中,表空間由乙個或者多個資料檔案組成,表空間由段構成,而段又由區構成,而區又由塊構成。表空間從邏輯上組織資料庫的資料,資料庫邏輯上是由乙個或者多個表空間組成,表空間有以下作...
oracle建立臨時表空間和資料表空間以及刪除
建立臨時表空間 create temporary tablespace zhangmingchaotemp tempfile d oracle zhangmingchaotemp.dbf 初始化大小 size 50m 自動增長 autoextend on 每次擴充套件50m,無限制增長 next 5...