Oracle建立資料庫與表空間和資料字典表的概念

2021-08-08 05:51:32 字數 4918 閱讀 4872

使用oracle的database configuration assistant(資料庫配置助手:簡稱dbca),進行配置即可。

1、建立表空間

注意:datafile:資料檔案       儲存位置路徑:為絕對路徑\表空間名字.dbf(字尾:.dbf)    size:表示表空間的大小

2、建立使用者,並建立和表空間的對映關係(1)語法:create user 使用者名稱  identified by 密碼  default tablespace 表空間名字;     //用於指定使用者與表空間的對映關係。

注意:default   tablespace   表空間的名字    用於指定使用者與表空間的對映關係。

3、給使用者授予許可權

(1)語法:grant dba to 使用者名稱;

注意:dba:擁有全部特權,只有dba才可以建立資料庫結構;resource:只可以建立實體;connect:只能登陸oracle 。

1、匯入指令碼格式:@+檔案的絕對路徑;(在sqlplus上)

例如:sql>@d:/test.sql

mysql參考文件:

1、登入mysql資料庫:mysql  -u  使用者名稱  -p;輸入密碼進入終端。

2、使用create命令建立資料庫。

(1)語法:create   database  資料庫名;

1、mysqladmin語法:mysqladmin  -u  使用者名稱   -p   create   資料庫名;

drop database if exists dbname;

create database dbname;

use dbname;

create table t_user

( userid int unsigned primary key not nullauto_increment,

name varchar(20) not null,

pass varchar(20) not null,

type varchar(10) not null,

address varchar(100) not null,

postcode varchar(6) not null,

phonenumber varchar(11) not null,

email varchar(30) not null

);

2、儲存並修改字尾為:檔名.sql;

3、登入資料庫,使用source命令執行指令碼;

(1)source語法:source 檔案路徑.sql;

1、第一種方法:create  table 新錶 as select * from 舊表;

注意:一定不要落下as。

2、第二種方法:先建立舊表的表結構,在匯入資料。

(1)create table 新錶  as select * from 舊表   where   1=0;

(2)insert into 新錶  select *  from  舊表;

注意:其中使用insert into  select需要建立乙個新表來接受;

3、select  into的用法:

而select into  from 要求目標表不存在,在插入資料時,會自動建立目標表。

select into from在sqlplus中會報錯,提示缺失關鍵字,原因:不能單獨作為一條sql語句執行,一般在pl/sql程式塊(block)中使用。可使用前兩個語句。

使用select 資料庫字段 into 變數名; 語句給變數賦值,即用該語句給定義的變數賦資料庫表中字段的值。

例如:select ename into test from emp where empno=7839;

注意:使用select into語句賦值,查詢結果應該是只有乙個,因為變數只能接受乙個結果。

select num,empno,ename from (select rownum num,empno,ename from emp_zyx where rownum <10) where num>5;

1、select name from v$database;

2、show parameter db;

1、select table_name from user_tables;

1、刪除user

drop user username cascade;(cascade:表示該使用者建立了表或者索引)

2、刪除表空間(tablespace)(要刪除資料檔案,只能刪除其所屬的表空間)

drop  tablespace  tablespacename including contents and datafiles;

3、刪除空的表空間,但是不包含物理檔案

drop tablespace tablespace_name;

4、刪除非空表空間,但是不包含物理檔案

drop tablespace tablespace_name including contents;

5、刪除空表空間,包含物理檔案

drop tablespace tablespace_name including datafiles;

6、刪除非空表空間,包含物理檔案

drop tablespace tablespace_name including contents and datafiles;

7、如果其他表空間中的表有外來鍵等約束關聯到了本表空間中的表的字段,就要加上cascade constraints

drop tablespace tablespace_name including contents and datafiles cascade constraints;

表空間是資料庫的邏輯劃分,乙個表空間只能屬於乙個資料庫。所有的資料庫物件(就是使用者的表)都存放在指定的表空間中。但主要存放的是表, 所以稱作表空間。

1、使用者的表都存放在表空間中,乙個資料庫可以包含多個表空間(不同於其他資料庫的概念),建立資料庫就是建立表空間。

2、檢視所有的表空間: select tablespace_name from dba_tablespaces;

3、檢視所有的表空間: select tablespace_name from dba_tablespaces;

4、未使用的表空間大小 (單位是m) select tablespace_name,sum(bytes)/1024/1024 from dba_free_space group by tablespace_name;

5、檢視所有表空間大小(單位是m)

select tablespace_name,sum(bytes)/1024/1024 from dba_data_files group by tablespace_name;

資料庫是資料的集合,包括資料檔案(ora,dbf),控制檔案,重做日誌檔案即一些物理 上的檔案。

資料庫的使用者資料存放在資料檔案中,資料檔案存放在表空間中,乙個表空間可以包含多個資料檔案,但是乙個資料檔案只能屬於乙個表空間。

1、  資料字典是oracle存放有關資料庫資訊的地方,幾乎所有的系統資訊和物件資訊都可在資料字典中進行查詢。資料字典是oracle資料庫系統的資訊核心,它是一組提供有關資料庫資訊的表和檢視的集合,這些表和檢視是唯讀的。

2、資料字典的結構是基表和檢視

,記錄了資料庫的系統資訊, 其所有者為sys。它由內部rdbms(x$)表,資料字典表($),動態效能檢視(v$)和資料字典檢視(all_,user_,dba_)組成。 3、

oracle中的資料字典有靜態和動態之分。靜態資料字典主要是在使用者訪問資料字典時不會發生改變的,但動態資料字典是依賴資料庫執行的效能的,反映資料庫執行的一些內在資訊,所以在訪問這類資料字典時往往不是一成不變的。

4、資料字典中的表時不能直接被訪問的,但是可以訪問資料字典中的檢視。他們分為三類:三個字首夠成:user_*、 all_*、 dba_*。分別如下:

(1)user_物件檢視:描述了當前使用者schema下的物件;

(2)all_物件檢視:描述了 當前使用者有許可權訪問到的所有物件的資訊;

(3)dba_物件檢視:描述了包含所有資料庫物件的資訊;

注意:在建立資料庫時會執行兩個指令碼。先執行catalog.sql,該指令碼用來建立資料庫的內部字典表。然後再執行catrpoc.sql,該指令碼用來建立資料庫內建的儲存過程、包等pl\sql物件。如果我們是使用dbca來建立資料庫,則dbca會自動呼叫這兩個指令碼。否則在執行create database命令來建立時,則需要手工執行這兩個指令碼。

5、資料字典檢視非常多,我們無法一一記住,但是有個檢視,我們必須知道,那就是dictionary檢視,該檢視裡記錄了所有的資料字典檢視的名稱。所以當我們需要查詢某個資料字典而又不知道這個資訊在哪個檢視裡的時候,就可以在dictionary檢視裡找。該檢視還有個同名詞dict。

6、動態效能檢視,就是指將記憶體裡的資料或控制檔案裡的資料以表的形式展現出來。為了能夠讓我們更好的管理資料庫的效能,所以將記憶體裡的活動情況以表的形式展現出來。只要資料庫還在執行,就會不斷更新動態效能檢視。一旦資料庫關閉或崩潰,動態效能檢視裡的資料就會全部丟失,下次重啟時則會重新計算。就像所有的資料字典的名詞都存在dictionary裡一樣,v$fixed_table裡存放了所有的動態效能檢視的名稱。所有的動態效能的屬主都是sys,且都以v$開頭,建立同名詞時則都以v$開頭。

建立Oracle資料庫表空間

以管理員身份登陸 建立臨時表空間mydb temp create temporary tablespace mydb temp tempfile c database mydb temp.dbf 檔案路徑c database一定要存在,否則建立失敗。同時路徑中盡量不要有中文名稱。size 50m a...

ORACLE資料庫建立表空間

擴充套件表空間檔案 alter tablespace tbs yjtx data ldz oradata orcl tbs yjtx data 02.dbf size 1000m 建立臨時表空間 表空間自動擴容 size 1024m reuse autoextend on next 100m max...

oracle資料庫建立表空間

第1步 建立臨時表空間create temporary tablespace 臨時表空間名 tempfile 臨時表空間路徑x oracle data temp.dbf size 50m autoextend on next 50m maxsize 20480m extent management ...