Oracle如何创建表空间-2012年5月1日

合集下载

Oracle表空间创建及表创建

Oracle表空间创建及表创建

Oracle表空间创建及表创建-- 创建表空间,(数据库⽂件)create tablespace db3datafile 'E:\tablespace\db3.dbf'size 1m-- 创建表空间,(数据库⽂件),指定数据⽂件在哪⼉多⼤扩容create tablespace db2datafile 'E:\tablespace\db2.dbf'size 1m autoextend on next 1m maxsize unlimited-- 查询表select * from user_tablespaces-- 删除表空间drop tablespace db3-- 删除表空间及删除内容和⽂件drop tablespace db3 including contents and datafiles-- 更改表的状态alter tablespace db3 read onlyalter tablespace db3 read write-- 创建⽤户,密码create user user1 identified by user1-- 删除⽤户drop user user1-- 创建⽤户,密码,同时更改默认表空间create user user1 identified by user1default tablespace db3-- 创建后更改密码,更改默认表空间alter user user1 identified by user2alter user user1 default tablespace db3-- 授权登录grant create session to user1-- 授予⽤户dba权限,管理员权限grant dba to user1-- 授予查询某个表权限grant select on scott.dept to user1-- 撤销权限revoke dba from user1revoke select on scott.dept from user1-- user1创建表create table student(id number,name varchar2(20),birthday date)create table student2(id number(1),name varchar2(20),birthday date)create table student3(id number(5),name varchar2(20),birthday date) -- number默认number(5)-- 查表select * from user_tablesselect * from scott.dept -- 查询其他⽤户的表select * from user_tab_colsselect * from user_tab_cols where table_name='STUDENT' -- 要和表中相同为⼤写select * from user_tab_columns -- 和select * from user_tab_cols基本⼀样,少了⼏项-- 删表drop table student2-- 增、改、删表中字段使⽤ ()或者columnalter table student add chengji varchar2(10)alter table student add (math number(1),english number(1)) -- 增加多个字段需⽤括号()alter table student add (chengji2 varchar2(10)) -- 增统⼀都使⽤()alter table student rename (chengji to remark) -- xxalter table student rename column chengji to remark -- 改需使⽤关键字columnalter table student drop column chengji2 -- 删需使⽤关键字columnalter table student drop (english) -- 删使⽤()也⾏-- 注释comment on table student is '学⽣表'comment on column student.id is '编号'。

oracle创建用户、创建表空间、授权、建表的完整过程

oracle创建用户、创建表空间、授权、建表的完整过程

oracle创建⽤户、创建表空间、授权、建表的完整过程1.⾸先以sysdba的⾝份登录oracle conn /as sysdba 查询⽤户: select username from dba_users; 查询表空间 select username, default_tablespace from dba_users where username='⽤户名‘; 查询数据⽂件 select file_name, tablespace_name from dba_data_files;2.然后就可以来创建⽤户. create user ⽤户名 identified by 密码;3.修改⽤户的密码 alter user ⽤户名 identified by 新密码;4.创建⼀个表空间 create tablespace 表空间名 datafile '空间物理存储路径(f:\ts_zzg\zzg_data.dbf后缀随意)' size ⼤⼩(200M);5.将表空间分配给⽤户 alter user ⽤户名 default tablespace 表空间名;6.为⽤户分配权限 grant create session,create table,create view,create sequence,unlimited tablespace to ⽤户名; grant all privileges to ⽤户名;(全部权限)7.查看所有⽤户所在的表空间 select username,default_tablespace from dba_users;8.查询⽤户所具有的权限 select *from session_privs;9.删除⽤户及其相关对象 drop user ⽤户名;。

创建oracle数据库表空间,角色,用户的sql语句

创建oracle数据库表空间,角色,用户的sql语句

创建oracle数据库表空间,角色,用户的sql语句创建oracle 数据库表空间,角色,用户的sql语句1.创建角色CREATE ROLE "QIUDINGROLE" NOT IDENTIFIED;GRANT "CONNECT" TO "QIUDINGROLE";GRANT "DBA" TO "QIUDINGROLE";GRANT "RESOURCE" TO "QIUDINGROLE";2.创建表空间create tablespace safetempdatafile'D:\oracle\product\10.1.0\oradata\localpower\safetemp01.dbf'size32m autoextend on next32m maxsize unlimited logging extent management local segment space management auto;CREATE SMALLFILE TABLESPACE "EXAM" DATAFILE'D:\Soft\oracle\product\10.2.0\oradata\qiuding\EXAM' SIZE 100M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;BEGINDBMS_SERVER_ALERT.SET_THRESHOLD(9000,NULL,NULL,N ULL,NULL,1,1,NULL,5,' EXAM'); END;CREATE SMALLFILE TEMPORARY TABLESPACE "EXAM_TEMP" TEMPFILE'D:\Soft\oracle\product\10.2.0\oradata\qiuding\EXAM_tem p' SIZE 100M AUTOEXTEND ON NEXT 1M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;BEGINDBMS_SERVER_ALERT.SET_THRESHOLD(9000,NULL,NULL,NULL,NULL,1,1,NULL,5,' EXAM_TEMP'); END;3.创建用户create userEXAMidentified by "PASSWORD123"default tablespace "EXAM"temporary tablespace "EXAM_TEMP"profile DEFAULTACCOUNT UNLOCK;grant QIUDINGROLE to EXAM;grant unlimited tablespace to EXAM;4.创建备份目录并且付相应权限create directory dump_dir as 'D:\Soft\oracle\backup';grant read,write on directory dump_dir to EXAM;。

oracle table of 创建方法

oracle table of 创建方法

oracle table of 创建方法(最新版3篇)《oracle table of 创建方法》篇1在Oracle 数据库中,创建表(table)的方法有以下几种:1. 使用SQL 语句直接创建表:```sqlCREATE TABLE table_name (column1 datatype,column2 datatype,column3 datatype,...);```例如,创建一个名为`students`的表,包含`id`、`name`和`age`三列,可以使用如下SQL 语句:```sqlCREATE TABLE students (id NUMBER(5),name VARCHAR2(20),age NUMBER(3));```2. 使用PL/SQL程序创建表:在PL/SQL程序中,可以使用`CREATE TABLE`语句来创建表。

例如:```plsqlBEGINCREATE TABLE students (id NUMBER(5),name VARCHAR2(20),age NUMBER(3));END;```3. 使用图形界面工具创建表:可以使用Oracle SQL*Plus、SQL Developer、Toad 等工具,通过图形界面创建表。

这些工具通常提供了可视化的表设计器,便于用户指定表结构和约束。

以SQL Developer 为例,创建表的步骤如下:-打开SQL Developer 软件-登录到Oracle 数据库-点击"新建"按钮,创建一个新的表-在表设计器中,添加表列并指定数据类型、约束等-点击"保存"按钮,完成表的创建无论使用哪种方法,创建表时都需要指定表名、列名和数据类型。

根据需要,还可以设置主键、外键、检查约束、默认值等。

《oracle table of 创建方法》篇2在Oracle 数据库中,创建表(table)的方法有很多种。

Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等

Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等

Oracle tablespace (表空间)的创建、删除、修改、扩展及检查等oracle 数据库表空间的作用1.决定数据库实体的空间分配;2.设置数据库用户的空间份额;3.控制数据库部分数据的可用性;4.分布数据于不同的设备之间以改善性能;5.备份和恢复数据。

--oracle 可以创建的表空间有三种类型:1.temporary: 临时表空间,用于临时数据的存放;create temporary tablespace "sample"......2.undo : 还原表空间. 用于存入重做日志文件.create undo tablespace "sample"......3.用户表空间: 最重要,也是用于存放用户数据表空间create tablespace "sample"......--注:temporary 和undo 表空间是oracle 管理的特殊的表空间.只用于存放系统相关数据.--oracle 创建表空间应该授予的权限1.被授予关于一个或多个表空间中的resource特权;2.被指定缺省表空间;3.被分配指定表空间的存储空间使用份额;4.被指定缺省临时段表空间。

select tablespace_name "表空间名称",status "状态",extent_management "区管理方式",allocation_type "磁盘扩展管理方式",segment_space_management "段管理方式" from dba_tablespaces;--查询各个表空间的区、段管理方式--1、建立表空间--语法格式:create tablespace 表空间名datafile '文件标识符' 存储参数[...]|[minimum extent n] --设置表空间中创建的最小范围大小|[logging|nologging]|[default storage(存储配置参数)]|[online|offline]; --表空间联机\脱机|[permanent|temporary] --指定该表空间是用于保存永久的对象还是只保存临时对象 |[...]--其中:文件标识符=’文件名’[size整数[k\m][reuse]--实例create tablespace data01datafile '/oracle/oradata/db/data01.dbf' size 500muniform size 128k; --指定区尺寸为128k,如不指定,区尺寸默认为64kcreate tablespace "test"loggingdatafile 'd:\oracle\oradata\oracle\sample.ora' size 5m,'d:\oracle\oradata\oracle\dd.ora' size 5mextent management localuniform segment space managementauto;--详解/*第一: create tablespace "sample"创建一个名为"sample" 的表空间.对表空间的命名,遵守oracle 的命名规范就可了. 第二: logging 有nologging 和logging 两个选项,nologging: 创建表空间时,不创建重做日志.logging 和nologging正好相反, 就是在创建表空间时生成重做日志.用nologging时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复;但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的;所以通常不需要表空间的创建日志,因此,在创建表空间时,选择nologging,以加快表空间的创建速度.第三: datafile 用于指定数据文件的具体位置和大小.datafile 的文件是建立表空间后创建的,不过文件路径必须存在才是合法的datafile设置如: datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m说明文件的存放位置是'd:\oracle\oradata\ora92\luntan.ora' , 文件的大小为5m.如果有多个文件,可以用逗号隔开:如:datafile 'd:\oracle\oradata\ora92\luntan.ora' size 5m, 'd:\oracle\oradata\ora92\ dd.ora' size 5m但是每个文件都需要指明大小.单位以指定的单位为准如5m 或500k.对具体的文件,可以根据不同的需要,存放大不同的介质上,如磁盘阵列,以减少io竟争. 指定文件名时,必须为绝对地址,不能使用相对地址.第四: extent management local 存储区管理方法在字典中管理(dictionary):将数据文件中的每一个存储单元做为一条记录,所以在做dm操作时,就会产生大量的对这个管理表的delete和update操作.做大量数据管理时,将会产生很多的dm操作,严得的影响性能,同时,长时间对表数据的操作,会产生很多的磁盘碎片.本地管理(local):用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘.同时能够自动跟踪记录临近空闲空间的情况,避免进行空闲区的合并操作。

oracle建库步骤

oracle建库步骤

oracle建库步骤一、前言Oracle是目前世界上最流行的关系型数据库之一,它具有高可靠性、高性能和高安全性等优点。

在使用Oracle数据库之前,需要先建立一个数据库实例。

本文将介绍Oracle建库的详细步骤。

二、准备工作在开始建库之前,需要进行以下准备工作:1. 确认操作系统是否支持Oracle数据库软件;2. 确认硬件是否满足Oracle数据库软件的要求;3. 下载并安装Oracle数据库软件;4. 配置网络环境。

三、创建实例1. 进入SQL*Plus环境在安装完Oracle数据库软件后,可以通过SQL*Plus进入到Oracle环境中。

首先需要打开命令行窗口或终端,并输入以下命令:sqlplus /nolog/nolog参数表示不连接到任何实例。

2. 连接到Oracle实例接下来需要连接到一个已经存在的实例或者创建一个新实例。

如果要连接到已经存在的实例,可以使用以下命令:conn username/password@database_instance_name其中,username是用户名,password是密码,database_instance_name是要连接的实例名。

如果要创建一个新的实例,在SQL*Plus中输入以下命令:create database database_name;其中,database_name是要创建的新实例名。

3. 设置参数文件设置参数文件可以控制数据库服务器中各种配置选项的值。

Oracle数据库服务器使用参数文件来配置数据库实例。

在SQL*Plus中输入以下命令:alter system set parameter_name=parameter_valuescope=spfile;其中,parameter_name是要设置的参数名,parameter_value是要设置的参数值,scope=spfile表示将参数保存到spfile中。

4. 启动实例在创建完实例后,需要启动该实例。

oracle建立表空间的方法

oracle建立表空间的方法

oracle建立表空间的方法Oracle数据库中建立表空间的方法主要有两种:一种是通过SQL命令的方式,另一种是通过Oracle客户端Enterprise Manager Console来创建。

通过SQL命令的方式创建表空间,需要先创建临时表空间和数据表空间,然后创建用户并指定表空间。

具体步骤如下:1. 创建临时表空间。

可以通过以下命令创建:```sqlcreate temporary tablespace user_temptempfile 'D:\oracle\oradata\Oracle9i\user_'size 50m autoextend on next 50mmaxsize 20480mextent management local;```2. 创建数据表空间。

可以通过以下命令创建:```sqlcreate tablespace user_dataloggingdatafile 'D:\oracle\oradata\Oracle9i\user_'size 50m autoextend on next 50mmaxsize 20480mextent management local;```3. 创建用户并指定表空间。

可以通过以下命令创建用户并将表空间指定给该用户:```sqlcreate user username identified by password;grant create session, create tablespace to username;alter user username default tablespace user_data temporary tablespace user_temp;```通过Oracle客户端Enterprise Manager Console来创建表空间,可以通过以下步骤完成:1. 打开Oracle客户端Enterprise Manager Console。

Oracle数据库建表及其基本操作

Oracle数据库建表及其基本操作

1.在对oracle数据操作之前,需要了解oracle的类型,oracle的常用类型有:2.登录创建好的用户,然后在表空间中建立表,以userinfo表为例:--创建表create table userinfo(id number(6,0),usernam varchar2(20),userpwd varchar2(20),email varchar2(30),regdate date);表建立成功之后,查看是否建表成功,有很多方法,列举我常用的两个方法:方法一:在控制台输入desc userinfo 回车, 可以成功查询出新建表字段的类型方法二:使用图形化工具直接查询表select * from userinfo;3.添加字段alter table table_nameadd column_name datatype;table_name是表名称, column_name是列名称, datatype是数据类型eg:添加一个字段remark字段,是varchar2类型,长度为100alter table userinfoadd remarks varchar2(100);查看表结构:给字段添加注释comment on column 表.列 is '列注释';eg:comment on column new_uesrinfo.remarks is '注释';在plsql上面的运行结果:4.修改表字段名称和表名--给字段改名alter table table_namerename column column_name To new_column_name; --修改表的名字rename table_name to new_table_name;5.删除字段alter table table_namedrop column column_name;6.更改字段长度,类型eg:修改remarks字段修改字段的长度alter table userinfomodify remarks varchar2(150);eg:修改字段类型a.如果表中没有数据alter table 表名 modify(字段名1 类型,字段名2 类型,字段名3 类型.....)b.如果表中有数据(分为四步)--修改原字段名ALTER TABLE 表名 RENAME COLUMN 字段名A TO 字段名B;--添加一个和原字段同名的字段"字段名A",添加的字段ALTER TABLE 表名 ADD 字段名目标类型;--将"字段名B"的数据更新到新建字段"字段名A"中UPDATE 表名 SET 字段名A = TIRM(字段名B);--更新完成后,删除原备份字段"字段名B"ALTER TABLE 表名 DROP COLUMN 字段名Beg:例如将上表的remarks字段修改为number(32,2)alter table userinfo rename column remarks to remarks_tmp;alter table userinfo add remarks number(32,2);update userinfo set remarks = trim(remarks_tmp);alter table userinfo drop column remarks_tmp;7.删除数据,删除表--删除表数据truncate table table_name;delete from table_name这里truncate和delete的区别是,truncate是截断了表,它的效率比delete要快--删除表的结构drop table table_name;。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

oracle创建表空间
SYS用户在CMD下以DBA身份登陆:
打开黑窗口
在CMD中打sqlplus /no log
然后再
conn / as sysdba
// 分为四步
//第1步:创建临时表空间,路径自己换
create temporary tablespace user_temp
tempfile 'E:\AProgramMy\Oracle11g\tablespace\user_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
//第2步:创建数据表空间,路径自己换
create tablespace user_data
logging
datafile 'E:\AProgramMy\Oracle11g\tablespace\user_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
(删除表空间:
DROP TABLESPACE user_data INCLUDING CONTENTS AND
DATAFILES;
)
//第3步:创建用户并指定表空间
create user yzk identified by yzk
default tablespace user_data
temporary tablespace user_temp;
(删除用户:
drop user yzk cascade;
)
//第4步:给用户授予权限,没有create sessio n权限就不能登录!
grant connect,resource,create sessio n,create table to yzk;
(撤销权限:
revoke connect,resource,create session,create table from yzk;
)
查看已创建的表空间:select tablespace_name,status from dba_tablespaces;
这样就可以用此用户登录了,登录后是没有表的(如果管理员登录会有很多乱七八糟的表看着十分不爽,都不知道哪个是自己创建的)因为用户和表空间都是新的所以什么也没,此时就可以新建表了,终于解决了我的疑问,爽!
---------------------------------------------------------------------------------
//以后以该用户登录,创建的任何数据库对象都属于user_temp 和user_data 表空间,
这就不用在每创建一个对象给其指定表空间了
查看创建的表空间的名称和状态:
select tablespace_name,status from dba_tablespaces;
撤权:
revoke 权限... from 用户名;
删除用户命令
drop user user_name cascade;
删除表空间
DROP TABLESPACE data01 INCLUDING CONTENTS AND
DATAFILES;
一、建立表空间
CREATE TABLESPACE data01
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k
二、建立UNDO表空间
CREATE UNDO TABLESPACE UNDOTBS02
DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M
#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:
ALTER SYSTEM SET undo_tablespace=UNDOTBS02;
三、建立临时表空间
CREATE TEMPORARY TABLESPACE temp_data
TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M
四、改变表空间状态
1.使表空间脱机
ALTER TABLESPACE game OFFLINE;
如果是意外删除了数据文件,则必须带有RECOVER选项
ALTER TABLESPACE game OFFLINE FOR RECOVER;
2.使表空间联机
ALTER TABLESPACE game ONLINE;
3.使数据文件脱机
ALTER DATABASE DATAFILE 3 OFFLINE;
4.使数据文件联机
ALTER DATABASE DATAFILE 3 ONLINE;
5.使表空间只读
ALTER TABLESPACE game READ ONLY;
6.使表空间可读写
ALTER TABLESPACE game READ WRITE;
五、删除表空间
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;
六、扩展表空间
首先查看表空间的名字和所属文件
select tablespace_name, file_id, file_name,
round(bytes/(1024*1024),0) total_space
from dba_data_files
order by tablespace_name;
1.增加数据文件
ALTER TABLESPACE game
ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;
2.手动增加数据文件尺寸
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'
RESIZE 4000M;
3.设定数据文件自动扩展
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf
AUTOEXTEND ON NEXT 100M
MAXSIZE 10000M;
设定后查看表空间信息
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C
WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE
三.修改表空间
1.修改状态
表空间的状态属性主要有在线(ONLINE)、离线(OFFLINE)、只读(READ ONLY)和读写(READ WRITE)4种。

通过设置表空间的状态属性,可以对表空间的使用进行管理。

表空间数据文件属于表空间,一个表空间可有多个数据文件;数据文件有在线(ONLINE)、离线(OFFLINE)、OFFLINE DROP 三种状态
alter tablespace temp OFFLINE;
alter tablespace temp ONLINE;
alter tablespace temp READ ONLY;
alter tablespace temp READ WRITE;
2.查看表空间数据文件的大小
select file_name,bytes from dba_data_files;
3.修改表空间数据文件的大小,添加数据文件
alter database DATAFILE 'd:\table.dbf' resize 10m; //测试成功
alter tablespace SIMPLE add datafile 'd:\table2.dbf' size 5m; //测试成功
4.修改表空间数据文件的自动扩展性
alter database datafile 'd:\table.dbf' AUTOEXTEND ON next 5m maxsize 50m;
5.移动表空间数据文件
1).设置数据文件状态为离线OFFLINE: alter tablespace SIMPLE OFFLINE;
2).复制数据文件
3).重新指定表空间路径 alter tablespace SIMPLE RENAME DATAFILE
'E:\table2.dbf' to 'D:\table.dbf';
4).重新设置数据文件状态为离线onLINE。

相关文档
最新文档