oracle建表空间 各种语句
oracle建表空間 各種語句
在創(chuàng)建用戶之前,先要創(chuàng)建表空間:
其格式為:格式: create tablespace 表間名 datafile '數(shù)據(jù)文件名' size 表空間大小;如:SQL> create tablespace news_tablespace datafile 'F:\oracle\product\10.1.0\oradata\news\news_data.dbf' size 500M;其中'news_tablespace'是你自定義的表空間名稱,可以任意取名;'F:\oracle\product\10.1.0\oradata\news\news_data.dbf'是數(shù)據(jù)文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定該數(shù)據(jù)文件的大小,也就是表空間的大小。現(xiàn)在建好了名為'news_tablespace'的表空間,下面就可以創(chuàng)建用戶了:其格式為:格式: create user 用戶名 identified by 密碼 default tablespace 表空間表;如:SQL> create user news identified by news default tablespace news_tablespace;默認(rèn)表空間'default tablespace'使用上面創(chuàng)建的表空間。接著授權(quán)給新建的用戶:SQL> grant connect,resource to news; --表示把 connect,resource權(quán)限授予news用戶SQL> grant dba to news; --表示把 dba權(quán)限授予給news用戶授權(quán)成功。ok! 數(shù)據(jù)庫用戶創(chuàng)建完成,現(xiàn)在你就可以使用該用戶創(chuàng)建數(shù)據(jù)表了!
1.建表空間
create tablespace hoteldata datafile ‘D:\java\Oracle\product\10.1.0\oradata\zznorcl\hoteldata.dbf’size 200m autoextend on next 10m maxsize unlimited;
2.建用戶
create user hotel identified by hotel default tablespace hoteldata account unlock;//identified by 后面的是密碼,前面的是用戶名
3.用戶授權(quán)
grant resource,connect,RECOVERY_CATALOG_OWNER to hotel ;
grant create table to hotel;
alter user hotel quota unlimited ON OSDB;
alter user hotel default tablespace hoteldata;
4.刪除表空間
DROP TABLESPACE hoteldata INCLUDING CONTENTS AND DATAFILES;
5.刪除用戶
DROP USER hotel CASCADE
6.刪除表的注意事項
在刪除一個表中的全部數(shù)據(jù)時,須使用TRUNCATE TABLE 表名;因為用DROP TABLE,DELETE * FROM 表名時,TABLESPACE表空間該表的占用空間并未釋放,反復(fù)幾次DROP,DELETE操作后,該TABLESPACE上百兆的空間就被耗光了。
oracle sqlplus腳本建庫總結(jié)(原創(chuàng))
********************************************************/
–查詢表空間參數(shù)
select tablespace_name,min_extents,max_extents,pct_increase,status from dba_tablespaces;
–查詢數(shù)據(jù)文件信息
–autoextensible數(shù)據(jù)庫已滿后是否自動擴展
select tablespace_name,bytes,autoextensible,file_name from dba_data_files;
/********************************************************/
–創(chuàng)建表空間
– 一般信息
– DATAFILE:數(shù)據(jù)文件目錄
– 存儲
– AUTOEXTEND:數(shù)據(jù)文件滿后自動擴展
– ON NEXT:增量
– MAXSIZE UNLIMITED:最大容量無限制
– SIZE:文件大小
– 存儲
– 啟用事件記錄:LOGGING為生成從做日志并可恢復(fù),NOLOGGING為快速更新不生成日志且不可恢復(fù)
– MANAGEMENT LOCAL:本地管理
– 缺省:自動分配
– UNIFORM SIZE:統(tǒng)一分配
– MANAGEMENT DICTIONARY:在字典中管理
– DEFAULT STORAGE:覆蓋默認(rèn)區(qū)值
– INITIAL:初始大小
– NEXT :下一個大小
– MINEXTENTS:最小數(shù)量
– MAXEXTENTS UNLIMITED :最大數(shù)量不限制
– PCTINCREASE:增量,單位”%”
– MINIMUM EXTENT:最小區(qū)大小
CREATE TABLESPACE “TEST”
NOLOGGING
DATAFILE ‘G:\ORACLE\ORADATA\MYORACLE\TEST.ora’ SIZE 5M REUSE
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT
MANAGEMENT LOCAL UNIFORM SIZE 12K;
–最好寫成相對路徑,免得出錯
CREATE TABLESPACE “TEST”
NOLOGGING
DATAFILE ‘../DATABASE/TEST.ora’ SIZE 5M REUSE–建議用’../oradata/TEST.ora’
AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT
MANAGEMENT LOCAL UNIFORM SIZE 12K;
CREATE TABLESPACE “TEST”
LOGGING
DATAFILE ‘G:\ORACLE\ORADATA\MYORACLE\TEST.ora’ SIZE 5M EXTENT
MANAGEMENT DICTIONARY DEFAULT STORAGE ( INITIAL 1K NEXT 2K
MINEXTENTS 5 MAXEXTENTS 67 PCTINCREASE 4 ) MINIMUM EXTENT 3K;
/********************************************************/
–增加表空間, 注意這里test.ora1不能與原表空間文件名稱相同
–添加一個新的大小為5M數(shù)據(jù)庫文件test.ora1
alter tablespace mytesttablespace add datafile ‘c:\test\test.ora1’ size 5M;
/********************************************************/
–修改表空間數(shù)據(jù)庫文件屬性,myoracle為sid
–將test.ora1數(shù)據(jù)庫文件改為3M,其中resize可以是ONLINE, OFFLINE, RESIZE, AUTOEXTEND 或 END/DROP
alter database myoracle datafile ‘c:\test\test.ora1’ resize 3M;
alter database myoracle datafile ‘$ORACLE_HOME/oradata/undo102.dbf’ autoextend on next 10m maxsize 500M;
/********************************************************/
/*刪除表空間
語法:drop tablespace tablespace_name including contents and datafiles;
刪除表空間時要系統(tǒng)不會刪除表空間數(shù)據(jù)庫文件,要徹底刪除要手動刪除
*/
drop tablespace mytesttablespace including contents and datafiles;
/********************************************************/
–創(chuàng)建用戶
–命令:
–CREATE USER 名稱 IDENTIFIED BY 口令 DEFAULT TABLESPACE “默認(rèn)表空間名” TEMPORARY TABLESPACE “TEMP” ACCOUNT UNLOCK
– 一般屬性
– DEFAULT TABLESPACE :默認(rèn)表空間名
– TEMPORARY TABLESPACE :臨時表空間名,默認(rèn)TEMP
– ACCOUNT :用戶狀態(tài),默認(rèn)UNLOCK 未鎖定;LOCK 鎖定
CREATE USER “TEST” PROFILE “DEFAULT”
IDENTIFIED BY “test” DEFAULT TABLESPACE “TEST”
TEMPORARY TABLESPACE “TEMP”
ACCOUNT UNLOCK;
–可以寫成
CREATE USER “TEST” PROFILE “DEFAULT”
IDENTIFIED BY “test” DEFAULT TABLESPACE “TEST” ;
/********************************************************/
–用戶授權(quán)
–grant “connect,resource,dba” to “someuser” with admin option;
– WITH ADMIN OPTION :管理選項
–授予usertest DBA權(quán)限
grant dba to “usertest” with admin option;
–取消授權(quán)
–REVOKE “RESOURCE” FROM “SCOTT”;
/********************************************************/
–建表
–在usertest方案下建表,注意表名不能用關(guān)鍵字,否則報錯ORA-00903: 表名無效
–語法:
– create table [schema.](
– [default ][,]
– …….
– )TABLESPACE TABLESPACE_NAME;
–schema:表示所屬的用戶名稱或模式名稱亦即方案
–table_name:表示新建表的名稱
–column_name:表示字段名稱
–data type:表示字段的數(shù)據(jù)類型
–default :表示字段的默認(rèn)值
–constraint:表示約束條件
–TABLESPACE_NAME:所用表空間
CREATE TABLE “TEST”.”TEST” (
“ID” NUMBER(10) DEFAULT 0 NOT NULL,
“NAME” VARCHAR2(20) NOT NULL,
“INFO” VARCHAR2(1000),
PRIMARY KEY(“ID”)
)TABLESPACE “TEST” ;
–也可以寫成
CREATE TABLE “TEST”.”TEST” (
“ID” NUMBER(10) DEFAULT 0 PRIMARY KEY,
“NAME” VARCHAR2(20) NOT NULL,
“INFO” VARCHAR2(1000)
)TABLESPACE “TEST” ;
/********************************************************/
–插入數(shù)據(jù)
–語法:
– INSERT INTO tablename (column1,column2,…) VALUES (expression1,expression2,…);
INSERT INTO “TEST”.”TEST” (“ID” ,”NAME” ,”INFO” ) VALUES (1 ,’testname’ ,” );
–也可以寫成
INSERT INTO “TEST”.”TEST” VALUES (1 ,’testname’ ,” );
/********************************************************/
上面的不太容易看..
oracle創(chuàng)建表空間是我們經(jīng)常會用到的操作,下面就為您詳細(xì)介紹oracle創(chuàng)建表空間的語句寫法,希望對您學(xué)習(xí)oracle創(chuàng)建表空間能有所幫助。
//創(chuàng)建臨時表空間
create temporary tablespace test_temp
tempfile ‘E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf’
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//創(chuàng)建數(shù)據(jù)表空間
create tablespace test_data
logging
datafile E:\app\Administrator\oradata\orcl\myd_data01.dbf’
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//表空間不足后,追加數(shù)據(jù)文件
語法:
alter tablespace 表空間名稱
add datafile 表空間存放路徑 size 表空間大小 autoextend on next 增長的大小 maxsize 空間最大值(如果不限制空間最大值就用unlimited)
例如:
alter tablespace vgsm add datafile 'c:\oracle\product\10.2.0\oradata\vgsm\vgsm_01.dbf' size 1024M autoextend on next 50M maxsize unlimited;//創(chuàng)建用戶并指定表空間
create user username identified by password
default tablespace test_data
temporary tablespace test_temp;
//給用戶授予權(quán)限
grant connect,resource to username;
//以后以該用戶登錄,創(chuàng)建的任何數(shù)據(jù)庫對象都屬于test_temp 和test_data表空間,這就不用在每創(chuàng)建一個對象給其指定表空間了。
總結(jié)
以上是生活随笔為你收集整理的oracle建表空间 各种语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【自动驾驶决策规划】RRT算法
- 下一篇: PDF编辑技巧 PDF怎么复制页面