oracle 创建表空间 pcincrease,oracle建表空间 各种语句

oracle建表空间 各种语句

在创建用户之前,先要创建表空间:

其格式为:格式: create tablespace 表间名 datafile '数据文件名' 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'是数据文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。

现在建好了名为'news_tablespace'的表空间,下面就可以创建用户了:

其格式为:格式: create user 用户名 identified by 密码 default tablespace 表空间表;

如:

SQL> create user news identified by news default tablespace news_tablespace;

默认表空间'default tablespace'使用上面创建的表空间。

接着授权给新建的用户:

SQL> grant connect,resource to news; --表示把 connect,resource权限授予news用户

SQL> grant dba to news; --表示把 dba权限授予给news用户

授权成功。

ok! 数据库用户创建完成,现在你就可以使用该用户创建数据表了!

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.用户授权

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.删除表的注意事项

在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。

oracle sqlplus脚本建库总结(原创)

********************************************************/

–查询表空间参数

select tablespace_name,min_extents,max_extents,pct_increase,status from dba_tablespaces;

–查询数据文件信息

–autoextensible数据库已满后是否自动扩展

select tablespace_name,bytes,autoextensible,file_name from dba_data_files;

/********************************************************/

–创建表空间

– 一般信息

– DATAFILE:数据文件目录

– 存储

– AUTOEXTEND:数据文件满后自动扩展

– ON NEXT:增量

– MAXSIZE UNLIMITED:最大容量无限制

– SIZE:文件大小

– 存储

– 启用事件记录:LOGGING为生成从做日志并可恢复,NOLOGGING为快速更新不生成日志且不可恢复

– MANAGEMENT LOCAL:本地管理

– 缺省:自动分配

– UNIFORM SIZE:统一分配

– MANAGEMENT DICTIONARY:在字典中管理

– DEFAULT STORAGE:覆盖默认区值

– INITIAL:初始大小

– NEXT :下一个大小

– MINEXTENTS:最小数量

– MAXEXTENTS UNLIMITED :最大数量不限制

– PCTINCREASE:增量,单位”%”

– MINIMUM EXTENT:最小区大小

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数据库文件test.ora1

alter tablespace mytesttablespace add datafile ‘c:\test\test.ora1’ size 5M;

/********************************************************/

–修改表空间数据库文件属性,myoracle为sid

–将test.ora1数据库文件改为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;

删除表空间时要系统不会删除表空间数据库文件,要彻底删除要手动删除

*/

drop tablespace mytesttablespace including contents and datafiles;

/********************************************************/

–创建用户

–命令:

–CREATE USER 名称 IDENTIFIED BY 口令 DEFAULT TABLESPACE “默认表空间名” TEMPORARY TABLESPACE “TEMP” ACCOUNT UNLOCK

– 一般属性

– DEFAULT TABLESPACE :默认表空间名

– TEMPORARY TABLESPACE :临时表空间名,默认TEMP

– ACCOUNT :用户状态,默认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” ;

/********************************************************/

–用户授权

–grant “connect,resource,dba” to “someuser” with admin option;

– WITH ADMIN OPTION :管理选项

–授予usertest DBA权限

grant dba to “usertest” with admin option;

–取消授权

–REVOKE “RESOURCE” FROM “SCOTT”;

/********************************************************/

–建表

–在usertest方案下建表,注意表名不能用关键字,否则报错ORA-00903: 表名无效

–语法:

– create table [schema.](

– [default ][,]

– …….

– )TABLESPACE TABLESPACE_NAME;

–schema:表示所属的用户名称或模式名称亦即方案

–table_name:表示新建表的名称

–column_name:表示字段名称

–data type:表示字段的数据类型

–default :表示字段的默认值

–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” ;

/********************************************************/

–插入数据

–语法:

– 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创建表空间是我们经常会用到的操作,下面就为您详细介绍oracle创建表空间的语句写法,希望对您学习oracle创建表空间能有所帮助。

//创建临时表空间

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;

//创建数据表空间

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;

//表空间不足后,追加数据文件

语法:

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;

//创建用户并指定表空间

create user username identified by password

default tablespace test_data

temporary tablespace test_temp;

//给用户授予权限

grant connect,resource to username; //以后以该用户登录,创建的任何数据库对象都属于test_temp 和test_data表空间,这就不用在每创建一个对象给其指定表空间了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值