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创建⽤户、创建表空间、授权、建表的完整过程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语句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数据库来说吧。
我们得先有足够的权限,这就好比你要在房子里再隔出几个房间,你得是房子的主人或者得到主人的许可才行。
在Oracle里,我们可以用CREATE TABLESPACE语句来创建新的表空间。
比如说,我们想创建一个名为new_tablespace的表空间,可能会有这样的语句:CREATE TABLESPACE new_tablespace DATAFILE 'new_tablespace.dbf' SIZE 100M;这里的DATAFILE指定了表空间对应的数据文件,就像给新房间指定一块地方来放东西,SIZE呢,就是这个房间的初始大小啦,100M就像是这个房间一开始能放100立方米东西的空间大小。
再说说MySQL数据库。
MySQL也有自己的方式来增加表空间个数。
在MySQL里,我们可能会涉及到文件系统级别的操作。
想象一下,MySQL的数据存储就像在一个大仓库里,每个表空间就是仓库里的小隔间。
如果我们要增加隔间个数,得在文件系统里给它腾出地方来。
我们可以通过修改配置文件,比如f,来指定新的表空间相关的参数。
比如说,我们想给某个数据库增加表空间,可能要设置一些像innodb_data_file_path这样的参数,这个参数就像是告诉MySQL去哪里找新的空间来放数据。
对于SQL Server数据库呢,又有它独特的方式。
就像是每个城市盖房子都有自己的规矩一样。
在SQL Server里,我们可以使用CREATE DATABASE语句来创建新的数据库,每个数据库就可以看作是一个大的表空间。
例如CREATE DATABASE new_database; 这就像在一块空地上盖了一个新的大房子,这个大房子里可以放很多数据表,也就相当于增加了表空间个数。
Oracle常用SQL命令
Oracle常⽤SQL命令创建表空间1.创建默认表空间WLP_DATCREATE TABLESPACE "MYSPACE" DATAFILE'D:\oracle\oradata\orcl\data/WLP_DAT.dbf' SIZE 32M REUSE AUTOEXTEND ON NEXT 32MLOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;2.创建临时表空间WLP_TEMP(⽤于缓存,可以不建)ALTER TABLESPACE "TEMP" ADD TEMPFILE'D:\oracle\oradata\orcl\data/WLP_TEMP.dbf' SIZE 32m REUSE autoextend on next 32m;创建⽤户并授权1CREATE USER "WLPING" PROFILE "DEFAULT"2 IDENTIFIED BY "123456"3DEFAULT TABLESPACE "MYSPACE" //默认指定表空间4TEMPORARY TABLESPACE "TEMP" //指定缓存表空间5 ACCOUNT UNLOCK; //⽤户⾮锁定67GRANT EXECUTE ON dbms_comparison TO "WLPING";8GRANT UNLIMITED TABLESPACE TO "XIR_MD";9GRANT "CONNECT" TO "XIR_MD";10GRANT "RESOURCE" TO "XIR_MD";1112-- GRANT DBA TO XIR_MD;PROFILE:Oracle系统中的profile可以⽤来对⽤户所能使⽤的数据库资源进⾏限制,使⽤Create Profile命令创建⼀个Profile,⽤它来实现对数据库资源的限制使⽤,如果把该profile分配给⽤户,则该⽤户所能使⽤的数据库资源都在该profile的限制之内。
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。
Oracle19C创建用户表空间
Oracle19C创建⽤户表空间Oracle 19C 创建⽤户&表空间声明:本次操作基于win10系统安装Oracle 19C1.创建⽤户需要管理员权限运⾏ cmd 按如下输⼊命令sqlplus / as sysdba---------以sys登陆超级⽤户(sysdba)2新建⽤户create user ⽤户名 IDENTIFIED BY 密码;如:create user C##SCOTT IDENTIFIED BY 123456;3.创建表空间create tablespace 表空间名称 datafile 路径 size ⼤⼩;如:create tablespace SCOTT_TEST_DATA datafile 'D:\devlop\Oracle19c\OracleSpace\scott_test.dbf' size 2048M;注意:我们给⽤户赋予新建的表空间权限的时候,⼀定要重启⼀下数据库,否则会失败4.重启数据库关闭数据库:shutdown immediateSQL> shutdown immediate;数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
5.启动 startupORACLE 例程已经启动。
Total System Global Area 5133827960 bytesFixed Size 9277304 bytesVariable Size 922746880 bytesDatabase Buffers 4194304000 bytesRedo Buffers 7499776 bytes数据库装载完毕。
数据库已经打开。
6.分配表空间alter user ⽤户名 default tablespace 表空间名称;如:alter user C##SCOTT default tablespace SCOTT_TEST_DATA;7.给⽤户授权dba是数据库管理员它除了重启数据库修改字符集的权限没有外具有其它全部权限如建表改表表的增删改查,建表空间建索引视图存储过程,建⽤户给⽤户授权等等SQL> grant dba to C##SCOTT;。
oracle表空间创建步骤
oracle表空间创建步骤Oracle表空间是Oracle数据库存储数据的重要单位,它主要用来存储表、视图、索引等对象,是保证Oracle数据质量和性能的关键。
因此,建立Oracle表空间是日常管理Oracle数据库的重要任务之一。
在本文中,我们将阐述建立Oracle表空间的步骤。
一、登陆系统账户建立Oracle表空间需要使用SYSDBA权限,因此首先需要以SYSDBA权限登陆Oracle数据库,例如:sqlplus / as sysdba。
二、初始化表空间在命令行输入CREATE TABLESPACE space_name DATAFILE'path/file_name.dbf' SIZE 500M AUTOEXTEND ON; 命令即可初始化空间,其中space_name是表空间名,path是文件路径,file_name.dbf为文件名,500M为表空间大小,AUTOEXTEND ON表示表空间可以自动扩展。
三、设置表空间的引擎类型可以设置表空间的引擎类型为本地文件系统引擎或ASM引擎两种。
本地文件系统引擎是把数据直接存储到磁盘中,而ASM引擎则是一个虚拟文件系统,利用Oracle自身的算法对数据块进行划分和管理。
使用DBCA工具创建表空间时,可以在设置的时候选择引擎类型。
而手动建立表空间,需要指定表空间的引擎类型,例如:CREATE TABLESPACE space_name DATAFILE 'path/file_name.dbf' SIZE 500M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL;四、设置表空间的块大小Oracle数据库默认的块大小是8KB,但在某些情况下可以修改该值,例如:CREATE TABLESPACE space_name DATAFILE'path/file_name.dbf' SIZE 500M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL DEFAULT STORAGE (BLOCKSIZE 32K);五、设置表空间的默认存储参数在建立表空间时,可以通过DEFAULT STORAGE子句设置表空间的默认存储参数,包括初始块大小、最大块数量、最小块数量、块增长率等等。
oracle增加表空间的四种方法
oracle增加表空间的四种⽅法1. 查看所有表空间⼤⼩select tablespace_name,sum(bytes)/1024/1024 from dba_data_filesgroup by tablespace_name;2. 未使⽤的表空间⼤⼩select tablespace_name,sum(bytes)/1024/1024 from dba_free_spacegroup by tablespace_name;3. 所以使⽤空间可以这样计算select a.tablespace_name,total,free,total-free used from( select tablespace_name,sum(bytes)/1024/1024 total from dba_data_filesgroup by tablespace_name) a,( select tablespace_name,sum(bytes)/1024/1024 free from dba_free_spacegroup by tablespace_name) bwhere a.tablespace_name=b.tablespace_name;4. 下⾯这条语句查看所有segment的⼤⼩。
Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name5. 还有在命令⾏情况下如何将结果放到⼀个⽂件⾥。
SQL> spool out.txtSQL> select * from v$database;SQL> spool off6.如何查看oracle临时表空间当前使⽤了多少空间的⼤⼩?不是占⽤量,是当前正在使⽤的临时表空间⼤⼩SELECT ERNAME,SE.SID,SU.EXTENTS,SU.BLOCKS * TO_NUMBER(RTRIM(P.VALUE)) AS SPACE,TABLESPACE,SEGTYPE,SQL_TEXTFROM V$SORT_USAGE SU, V$PARAMETER P, V$SESSION SE, V$SQL SWHERE = 'db_block_size'AND SU.SESSION_ADDR = SE.SADDRAND S.HASH_VALUE = SU.SQLHASHAND S.ADDRESS = SU.SQLADDRORDER BY ERNAME, SE.SID;查询所有的表空间select tablespace_name from dba_tablespaces查看表空间中分布的⽤户信息select tablespace_name, owner,sum(bytes) from dba_segmentsgroup by tablespace_name, owner增加表空间⼤⼩的四种⽅法Meathod1:给表空间增加数据⽂件ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;Meathod2:新增数据⽂件,并且允许数据⽂件⾃动增长ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50MAUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod3:允许已存在的数据⽂件⾃动增长ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod4:⼿⼯改变已存在数据⽂件的⼤⼩ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF' RESIZE 100M;。
在oracle11g中使用oraclesqldeveloper创建、查看表空间的命令
在oracle11g中使⽤oraclesqldeveloper创建、查看表空间的命令通过pl/sql登录到Oracle数据库上,然后执⾏菜单:⽂件/新建/命令窗⼝,打开⼀个命令窗⼝然后在该命令窗⼝中执⾏脚本创建和删除表空间创建表空间Sql>create tablespace histdb datafile 'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' size 200m autoextend on next 10m maxsize unlimited;Sql>alter database datafile 'D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf' autoextend on;1) DATAFILE: 表空间数据⽂件存放路径2) SIZE: 起初设置为200M3) UNIFORM: 指定区尺⼨为128k,如不指定,区尺⼨默认为64k4) 空间名称histdb 与数据⽂件名称 histdb.dbf 不要求相同,可随意命名.5) AUTOEXTEND ON/OFF 表⽰启动/停⽌⾃动扩展表空间6) alter database datafile ' D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf ' resize 500m; //⼿动修改数据⽂件⼤⼩为500M删除表空间DROP TABLESPACE histdb INCLUDING CONTENTS AND DATAFILES;查看selectb.file_name 物理⽂件名,b.tablespace_name 表空间,b.bytes/1024/1024 ⼤⼩M,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 已使⽤M,substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) 利⽤率from dba_free_space a,dba_data_files bwhere a.file_id=b.file_idgroup by b.tablespace_name,b.file_name,b.bytesorder by b.tablespace_name。
Oracle创建删除用户、角色、表空间、导入导出数据库命令行方式总结
说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)如果要创建新的用户就必须以system或者sysman(这二者的权限最大)的身份登录后才可创建创建用户格式:create user 用户名identified by 密码(例如:create user cht id entified by cht;)创建完成后,必须分配权限,否则连不上数据库和sqlplus。
因此要做:grant connect,resource,dba to cht;这样数据库就可以通过cht/cht连上了。
那些select,update,delete,insert的权限就不必分配了,因为每个用户默认都有这些基本权限。
命令行方式连接数据库的方法:开始==》运行==》cmd方式一:输入sqlplus,回车输入用户名:system,回车输入密码:orcl,回车方式二:输入sqlplus system/orcl@orcl,回车(system是用户名,orcl是密码,@后面的or cl是库的名字)(数据库安装完成后,有两个系统级的用户:1)system 默认密码为:manager2)sys 默认密码为:change_on_install)创建用户前必须要先建好临时表空间和数据表空间两个表空间,否则用系统默认的表空间不好。
//创建临时表空间create temporary tablespace zfmi_temp tempfile 'D:\oracle\oradata\zf mi\zfmi_temp.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;说明:1、zfmi_temp 表空间的名字2、D:\oracle\oradata\zfmi\ 存放数据库文件的地方,一般是安装数据库后有控制文件,数据文件和日志文件的文件夹,再加上要创建表空间的名字+dbf(数据文件)3、100M 表空间的初始大小4、32M 表空间自动增长的大小5、2048M 表空间最大的大小//创建数据表空间create tablespace zfmi logging datafile 'D:\oracle\oradata\zfmi\zfmi.d bf' size 100m autoextend on next 32m maxsize 2048m extent manage ment local;//创建用户并指定表空间create user zfmi identified by zfmi default tablespace zfmi temporary t ablespace zfmi_temp;//给用户授予权限grant connect,resource dba to zfmi;(dba:指定所有权限)到这一步新建一个用户的工作就完成了。
Oracle建表空间各种语句
Oracle建表空间各种语句第一篇:Oracle建表空间各种语句在创建用户之前,先要创建表空间:其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;如:SQL> create tablespace news_tablespace datafile 'F:oracleproduct10.1.0oradatanewsnews_data.dbf' size 500M;其中'news_tablespace'是你自定义的表空间名称,可以任意取名;'F:oracleproduct10.1.0oradatanewsnews_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:javaOracleproduct10.1.0oradatazznorclhoteldata.dbf'size200m autoextend on next 10m maxsize unlimited;2.建用户create user hotel identified by hotel default tablespace hoteldataaccount 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上百兆的空间就被耗光了。
Oracle10g 创建表空间&&网页访问控制台
网页访问http://localhost:1158/emOracle 创建表空间SYS用户在CMD下以DBA身份登陆:在CMD中打sqlplus /nolog然后再conn / as sysdba// 分为四步//第1步:创建临时表空间create temporary tablespace user_temptempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50mautoextend onnext 50m maxsize 20480mextent management local;//第2步:创建数据表空间create tablespace test_dataloggingdatafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' size 50mautoextend onnext 50m maxsize 20480mextent management local;//第3步:创建用户并指定表空间create user username identified by passworddefault tablespace user_datatemporary tablespace user_temp;//第4步:给用户授予权限grant connect,resource to username;---------------------------------------------------------------------------------//以后以该用户登录,创建的任何数据库对象都属于user_temp 和user_data表空间,这就不用在每创建一个对象给其指定表空间了撤权:revoke 权限... from 用户名;删除用户命令drop user user_name cascade;建立表空间CREATE TABLESPACE data01DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500MUNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k删除表空间DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;一、建立表空间CREATE TABLESPACE data01DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500MUNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k二、建立UNDO表空间CREATE UNDO TABLESPACE UNDOTBS02DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:ALTER SYSTEM SET undo_tablespace=UNDOTBS02;三、建立临时表空间CREATE TEMPORARY TABLESPACE temp_dataTEMPFILE '/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_spacefrom dba_data_filesorder by tablespace_name;1.增加数据文件ALTER TABLESPACE gameADD 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.dbfAUTOEXTEND ON NEXT 100MMAXSIZE 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 CWHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME ANDA.TABLESPACE_NAME=C.TABLESPACE。
Oracle创建表空间
设置和修改表空间属性
2.增加数据文件
【例】在ALTER TABLESPACE语句中使用 ADD DATAFILE子句,可以在本地管理表空 间中增加数据文件,代码如下: SQL> ALTER TABLESPACE OrclTBS01 ADD DATAFILE 'C:\oracle\product\10.2.0\oradata\orcl\OrclTB S011.dbf' SIZE 10M; 表空间已更改。
表空间已创建。
创建表空间
创建表空间页面
单击此按钮 保存 输入名称
创建大文件表空 间
设置和修改表空间属性
1.重命名表空间
【例】将表空间OrclTBS02修改为OrclTBS03, 可以使用下面的语句: SQL> ALTER TABLESPACE OrclTBS02 RENAME TO OrclTBS03; 表空间已更改。
SPACE MANAGEMENT子句可定义段
【例】创建手动段管理方式的表空间MyTBS01:
段和数据块管理
数据块是Oracle数据库的最小存储单元,在初始化参数
DB_BLOCK_SIZE中定义了标准数据块的大小。 在创建表空间时,如果不特殊指定,将使用 DB_BLOCK_SIZE中定义的数据作为数据块的大小。 【例】可以在CREATE TABLESPACE语句中使用 BLOCKSIZE子句指定非标准数据块的大小:
表空间已创建。
创建表空间
【例】在创建表空间OrclTBS02时,指定其最小区 间为128KB,代码如下:
SQL> CREATE TABLESPACE OrclTBS02 DATAFILE 'C:\oracle\product\10.2.0\oradata\orcl\OrclTBS02.dbf' SIZE 30M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; 表空间已创建。
oracle增加表空间的四种方法
oracle增加表空间的四种方法Meathod1:给表空间增加数据文件ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;Meathod2:新增数据文件,并且允许数据文件自动增长ALTER TABLESPACE app_data ADD DATAFILE'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50MAUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod3:允许已存在的数据文件自动增长ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' AUTOEXTEND ON NEXT 5M MAXSIZE 100M;Meathod4:手工改变已存在数据文件的大小ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF' RESIZE 100M;实例1:在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见。
--1查看表空间已经使用的百分比select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"from(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) bwhere a.tablespace_name=b.tablespace_nameorder by ((a.bytes-b.bytes)/a.bytes) desc“Sum MB”表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小比如:test表空间有2个数据文件,datafile1为300MB,datafile2为400MB,那么test表空间的“Sum MB”就是700MB“userd MB”表示表空间已经使用了多少“free MB”表示表空间剩余多少“percent_user”表示已经使用的百分比--2比如从1中查看到MLOG_NORM_SPACE表空间已使用百分比达到90%以上,可以查看该表空间总共有几个数据文件,每个数据文件是否自动扩展,可以自动扩展的最大值。
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'size200m 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 CASCADE6.删除表的注意事项在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。
Oracle create tablespace语法详解
Oracle create tablespace语法详解CREATE [UNDO] TABLESPACE tablespace_name[DATAFILE datefile_spec1 [,datefile_spec2] ......[{MININUM EXTENT integer [k|m]|BLOCKSIZE integer [k]|logging clause | FORCE LOGGING|DEFAULT {data_segment_compression} storage_clause|[online|offline]|[PERMANENT|TEMPORARY]|extent_manager_clause|segment_manager_clause}]1、undo说明系统将创建一个回滚表空间。
在9i中数据库管理员可以不必管理回滚段,只有建立了undo表空间,系统就会自动管理回滚段的分配,回收的工作。
当然,也可以创建一般的表空间,在上面创建回滚段.不过对于用户来说,系统管理比自己管理要好很多.如果需要自己管理,请参见回滚段管理的命令详解.当没有为系统指定回滚表空间时,系统将使用system系统回滚段来进行事务管理。
//2、tablespace_name指出表空间的名称。
//3、datafile datefile_spec1指出表空间包含什么空间文件。
datefile_spec1是形如:['filename'] [SIZE integer [ K | M ]] [REUSE] [autoextend_clause][autoextend_clause]是形如:AUTOEXTEND { OFF | ON [ NEXT integer [ K | M ] ] [maxsize_clause] }其中filename是数据文件的路径名,可以是相对路径,也可以是绝对路径。
size是文件的大小,REUSE表示文件是否被重用.AUTOEXTEND表明是否自动扩展.OFF | ON 表示自动扩展是否被关闭.NEXT 表示数据文件满了以后,扩展的大小.maxsize_clause表示数据文件的最大大小.形如MAXSIZE { UNLIMITED | integer [ K | M ] }. UNLIMITED 表示无限的表空间.integer是数据文件的最大大小.DATAFILE 'D:"oracle"oradata"IMAGEDATA01.dbf' SIZE 2000M,'D:"oracle"oradata"IMAGEDATA02.dbf' SIZE 2000M//4、MININUM EXTENT integer [k|m]指出在表空间中范围的最小值。
oracle创建表空间用户及授权查看权限
Oracle 创建表空间、创建用户以与授权、查看权限一、创建临时表空间# sqlplus / as sysdba;sql> CREATE TEMPORARY TABLESPACE test_tempTEMPFILE '/opt/oradata/test_temp.dbf'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;二、创建用户表空间sql> CREATE TABLESPACE test_dataLOGGINGDATAFILE '/opt/oradata/test_data.dbf'SIZE 32MAUTOEXTEND ONNEXT 32M MAXSIZE 2048MEXTENT MANAGEMENT LOCAL;sql> select tablespace_name,block_size,extent_management,segment_space_managementfrom dba_tablespaceswhere tablespce_name like 'USER%';三、复原表空间sql> create undo tablespace user01_undodatafile '/u01/oracle/app/oracle/user01_undo.dbf'size 20M;sql> select tablespace_name,block_size,extent_management,segment_space_management from dba_tablespacesfrom tablespace_name like 'user01_%';sql> select tablespace_name,status,contentsfrom dba_tablespacesfrom tablespace_name like 'user01_%';四、创建用户并制定表空间sql> CREATE USER username IDENTIFIED BY passwordDEFAULT TABLESPACE TEST_DATATEMPORARY TABLESPACE TEST_TEMP;sql> GRANT role TO username;五、查看所有用户sql> SELECT * FROM DBA_USERS;sql> SELECT * FROM ALL_USERS;sql> SELECT * FROM USER_USERS;六、查看用户对象或角色权限sql> SELECT * FROM DBA_TAB_PRIVS;sql> SELECT * FROM ALL_TAB_PRIVS;sql> SELECT * FROM USER_TAB_PRIVS;七、查看所有角色sql> SELECT * FROM DBA_ROLES;八、查看用户或角色所拥有的角色sql> SELECT * FROM DBA_ROLE_PRIVS;sql> SELECT * FROM USER_ROLE_PRIVS;九、表空间脱机sql> select tablespace_name,status,contentsfrom dba_tablespaceswhere tablespce_name like 'user_%';sql> col name for a55sql> select file#,name,statusfrom v$datafilewhere file# >=8;设置脱机状态sql> alter tablespace user01 offline;sql> select tablespace_name,status,contents from dba_tablespaceswhere tablespce_name like 'user01_%'; sql> select file#,name,statusfrom v$datafilewhere file# >= 8;设置联机状态sql> alter tablespace user01 online;十一、只读表空间设置只读表空间sql> alter tablespace user01 read only;sql> select tablespce_name,status,contents from dba_tablespaceswhere tablespace_name like 'user_%';可读可写sql> alter tablespace user01 read write;sql> select tablespace_name,status,contentsfrom dba_tablespacewhere tablespace_name like 'user%';十二、改变表空间的存储设置sql> alter tablespace user01 minimum extent 100K;sql> alter tablespace user01default storage ( initial 100 k next 100 k maxextents 200);sql> set line 120sql> col tablespace_name for a15sql> select tablespace_name,initial_extent,next_extent,max_extents,pct_increase,min_extentsfrom dba_tablespaceswhere tablespace_name like 'user01%';十三、重置表空间大小sql> col file_name for a40sql> set line 100sql> col tablespace_name for a15sql> select file_id,tablespace_name,file_name,autoextensible from dba_data_fileswhere file_id >= 8order by file_id;sql> alter database datafile' ' autoextend onnext 1M;sql> select file_id,tablespace_name,file_name,autoextensiblefrom dba_data_fileswhere file_id >= 8order by file_id;十四、手工重置数据文件的大小sql> select file_id,file_name,tablespace_name,bytes/(1024*1024) MBfrom dba_data_fileswhere tablespace_name LIKE 'USERS01%'order by tablespace_name;sql> alter database datafile '/u01/oracle/app/oracle/oradata/db243/use01.dbf' resize 50M;sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MBfrom dba_data_fileswhere tablespace_name like '%USE%'order by tablespace_name;sql> alter tablespace use01add datafile '/u01/oracle/app/oracle/oradata/db243/use01_a.dbf'size 30M;sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MBfrom dba_data_fileswhere tablespace_name like '%USE%'order by tablespace_name;十五、移动数据文件的方法〔一〕、移动可以脱机的表空间# sqlplus / as sysdbasql> col file_name for a45sql> set line 120#查看数据库中数据文件的分布情况sql> select file_id,file_name,tablespace_name from dba_data_fileswhere file_name like '%ORADATA%'order by file_name;# 查看数据库表空间的状态sql> select tablespace_name,status,contents from dba_tablespaceswhere tablespace_name not like '%USE%';# 使表空间脱机sql> alter tablespace use01 offline;# 查看更改有没有成功sql> select tablespace_name,status,contentsfrom dba_tablespaceswhere tablespace_name not like '%USE%';# CP 数据文件# cp /u01/oracle/app/oracle/oradata/db243/use01.dbf /u01/oracle/app/oradata#使用命令来重新命名表空间所对应的数据文件名sql> alter tablespace use01 renamedatafile '/u01/oracle/app/oracle/oradata/db243/use01.dbf'to '/u01/oracle/app/oradata/use01.dbf';#表空间联机sql> alter tablespace use01 online;〔二〕、移动系统表空间Sql> shutdown immediatesql> startup mountsql> host cp /u01/oracle/app/oracle/oradata/db243/system01.dbf /u01/oracle/app/oradatasql> alter database renamefile '/u01/oracle/app/oracle/oradata/sb243/system01.dbf'to '/u01/oracle/app/oradata/system01.dbf';sql> alter database open;sql> select tablespace_name,status,contentsfrom dba_tablespaces;sql> select file_id,file_name,tablespace_namefrom dba_data_files;十六、迁移数据字典和本地管理的表空间Sql> connect sys/wuzihao as sysdba;sql> show user;#查看哪些表空间是数据字典管理的sql> select tablespace_name,block_size,extent_management,segment_space_management,min_extentsfrom dba_tablespaceswhere tablespace_name like '%USE%';#将数据字典管理的表空间迁移到本地管理的表空间sql> execute dbms_space_admin.tablespace_migrate_to_local('use01');#将本地管理的表空间迁移到数据字典管理的表空间sql> execute dbms_space_admin.tablespace_migrate_from_local('use01');十七、删除表空间#查询所有创建的表空间sql> select file_id,file_name,tablespace_namefrom dba_data_fileswhere file_id > 5order by file_id;#控制文件指向的数据文件指针删除sql> drop tablespace use01;#操作系统文件也删除sql> drop tablespace use01 including contents and datafiles;#临时表空间sql> col file for a50sql> col tablespace for a15sql> set line 120#查询临时表空间sql> select f.file#,t.ts#, “File〞,t.n ame “Tablespace〞from v$tempfile f,v$tablspace twhere f.ts# = t.ts#;#删除临时表空间sql>drop tablespace use01_temp including contents and datafiles;十八、利用OMF来管理表空间# sqlplus / as sysdba#设定数据文件存放的目录sql> alter system setdb_create_file_dest = '/u01/oracle/app/oradata';sql> create tablespace test01;sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MB from dba_data_files;sql> alter tablespace test01 add datafile 50M;十九、应用实例#查询所有的表空间信息sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MB from dba_data_files;#查看数据库表空间是数据字典管理,还是本地管理sql> select tablespace_name,block_size,extent_management,segment_space_management,min_extentsfrom dba_tablespaces;#查询所有的临时表空间sql> select f.file#,t.ts#, “File〞, “Tablespace〞from v$tempfile f,v$tablespace twhere f.ts# = t.ts#;#创建数据表空间sql> create tablespace pioneer_datadatafile '/u01/oracle/app/oradata/pioneer_data.dbf'size 100 Mextent management localuniform size 1M;#创建索引表空间sql> create tablespace pioneer_indexdatafile '/u01/oracle/app/oradata/pionner_index.dbf'size 100Mextent management localuniform size 1M;#创建复原表空间sql> create tablespce pioneer_undodatafile '/u01/oracle/app/oradata/pioneer_undo.dbf'size 100Mextent management local;#创建临时表空间sql> create temporary tablespace pioneer_tempdatafile '/u01/oracle/app/oradata/pioneer_temp.dbf'size 50Mextent management localuniform size 2M;#验证表空间是否创建成功sql> select file_id,file_name,tablespace_name,bytes/(1024*1024)MB from dba_tablespaceswhere tablespace_name like 'PION%';#验证临时表空间创建是否成功sql> select f.file#,t.ts#, “File〞, “Tablespace〞from v$tempfile f,v$tablespace twhere f.ts# = t.ts#and like 'PION%';#验证四个表空间是否本地管理,sql> select tablespace_name,block_size,extent_management, segment_space_management,min_extents,contents from dba_tablespaceswhere tablespace_name like 'PION%';。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、创建表空间
默认用户的密码是manager)登陆oracle服务器上,
Drop tablespaces clwz_dy
删除表空间,“clwz_dy”为表空间名
CREATE TABLESPACE clwz_dy DATAFILE 'e:\clwzdy_data\clwzdata.ora' SIZE 200M REUSE AUTOEXTEND ON NEXT 10M STORAGE ( INITIAL 1M NEXT 100K MINEXTENTS 2 MAXEXTENTS 121 pctincrease 0 );
创建一个表空间名为“clwz_dy”,对应的数据文件clwzdata.ora在服务器E盘clwzdy_data文件夹下,数据文件大小为200M,200M使用空间满时,数据文件自动增加10M,该表空间的初始区间为1M,当初始区间满了时,oracle分配两个区间,大小共为200K,当需要一个新的区间时,oracle分配下两个区间,大小共为200K,区间个数最小值为2,最大值为121。
对应参数说明:
INITIAL 用字节指定表空间的第一个区间大小
NEXT 下一个区间大小
MAXEXTENTS 可增长的最多区间数
MINEXTENTS 首次创建时分配的区间数
PCTINCREASE 每次分配新的区间增加的百分比。