- 浏览: 160663 次
- 性别:
- 来自: 杭州
文章分类
最新评论
1. 创建数据字典管理的表空间
1)创建一个名为jinlian的表空间。为了平衡I/O,决定该表空间将基于两个数据文件,它们分别是J:\DISK2\MOON\JINLIAN01.DBF和J:\DISK2\MOON\JINLIAN02.DBF,其大小都为50MB(实际中可能几百兆)。为了更有效地控制磁盘的存储分配,决定使用数据字典管理的表空间。为了防止用户在创建对象时使用的EXTENT过小而产生过多的碎片,决定最小的EXTENT为50KB(MINIMUN EXTENT 50KB)。当需要磁盘空间的自动分配时第一次分配为50KB(INITIAL 50KB),第二次也为50K(NEXT 50KB),所分配的最大磁盘空间为100个EXTENTS(MAXEXTENTS 100)。从第三次分配开始按如下的公式进行分配:NEXT*(1+PCTINCREASE/100)^(n-2),其中n为分配的次数。
SQL>CREATE TABLESPACE jinlian
DATAFILE ‘J:\DISK2\MOON\JINLIAN01.DBF’ SIZE 50 M,
‘J:\DISK2\MOON\JINLIAN02.DBF’ SIZE 50 M
MINIMUM EXTENT 50K EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE (INITIAL 50K NEXT 50K MAXEXTENTS 100 PCTINCREASE 0);
提示:从Oracle9.2开始,如果SYSTEM表空间为本地管理的,Oracle系统就不允许再创建数据字典管理的表空间。此时可将EXTENT MANAGEMENT DICTIONARY去掉。
3) 验证所创建的表空间是否为数据字典管理
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management FROM dba_tablespaces;
4) 验证其他的磁盘存储参数
SQL>select tablespace_name,initial_extent,next_extent,max_extents,pct_increase,min_extlen from dba_tablespaces;
5) 验证与文件有关的信息
SQL>select file_id,file_name,tablespace_name from dba_data_files order by file_id;
2.创建本地管理的表空间
1) 创建一个名为jinlian_index的索引表空间。该表空间基于一个数据文件,其文件名是J:\DISK6\MOON\JINLIAN_INDEX.DBF,其大小为50MB(在实际中可能为几百兆)。为了方便磁盘存储的管理,决定使用本地管理的表空间(EXTENT MANAGEMENT LOCAL)。决定每个EXTENT的大小为1MB(UNIFORM SIZE 1MB)。
SQL>CREATE TABLESPACE jinlian_index
DATAFILE ‘J:\DISK6\MOON\jinlian_index.dbf’
SIZE 50 M
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 1M;
2) 验证所创建的表空间是否为本地管理的
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management FROM dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
3) 验证其它的磁盘存储参数
SQL>select tablespace_name,initial_extent,next_extent,max_extents,pct_increase,min_extlen from dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
4) 验证与文件有关的信息
SQL>select file_id,file_name,tablespace_name,autoextensible from dba_data_files WHERE file_id>5 order by file_id;
3. 还原表空间
1) 还原表空间是9i引入的,它是用来自动地管理还原(回滚)数据的。还原表空间是用来存储还原段的,在还原表空间中不能包含任何其他的对象。还原表空间中的区段(extent)是由本地管理的,而且在创建还原表空间的SQL语句中只能使用DATAFILE和EXTENT MANAGEMENT子句。
2) 创建一个还原表空间jinlian_undo,它所基于的操作系统文件名为J:\DISK7\MOON\jinlian_undo.DBF,其大小为20MB。
SQL>CREATE UNDO TABLESPACE jinlian_undo DATAFILE ‘J:\DISK7\MOON\jinlian_undo.DBF’ SIZE 20 M;
3) 查看所创建的还原表空间是数据字典管理还是本地管理
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management FROM dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
4) 查看是不是还原表空间
SQL>SELECT tablespace_name,status,contents FROM dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
4. 临时表空间
1) 临时表空间是作为排序操作使用的。当用户的SQL语句中使用了诸如ORDER BY,GROUP BY 子句时Oracle服务器就需要对所选取的数据进行排序,这时如果排序的数据量过大,内存的排序区(在PGA中)就可能装不下,因此Oracle服务器就要把一些中间的排序结果写到磁盘上,即临时表空间中。
2) 如果在创建临时表空间之前,想查看在数据库中究竟有多少个表空间及它们的状态,使用如下命令。
SQL>select tablespace_name,status,contents from dba_tablespaces;
3) 得到临时表空间和对应的数据文件,可以使用数据字典v$tablespace和v$tempfile.
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts#;
4) 创建一个临时表空间jinlian_temp,文件名J:\DISK8\MOON\jinlian_temp.DBF,其大小为10MB。
SQL>CREATE TEMPORARY TABLESPACE jinlian_temp TEMPFILE ‘J:\DISK8\MOON\jinlian_temp.dbf’ SIZE 10 M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2 M;
5) 验证表空间是否已经建立
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
6) 验证是否为临时表空间以及它所对应的数据文件是否也被创建
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts#;
7) 验证表空间的其它参数
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
另外,为了优化某一临时表空间中排序的效率,还应将UNIFORM SIZE设为SORT_AREA_SIZE(PGA中排序区的大小)参数的整数倍。
5. 默认临时表空间
1) 获得当前的默认临时表空间
SQL>SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE ‘DEFAULT%’;
2) 以上一般会显示temp临时表空间为默认临时表空间,如果项目的数据处理变得越来越频繁,为了提高该项目的处理速度,决定将jinlian_temp临时表空间设为默认临时表空间。
SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE jinlian_temp;
3) 验证当前的默认临时表空间
SQL>SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE ‘DEFAULT%’;
4) 当不再处理jinlian项目数据时,需注意应将默认临时表空间再改回为temp表空间
SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
5) 验证当前的默认临时表空间
SQL>SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE ‘DEFAULT%’;
注意:首先默认临时表空间不能被删除,除非有一个新的可以使用的默认临时表空间,另外,使用旧的临时表空间的用户被自动地赋予新的默认临时表空间。
6. 设置表空间为脱机
以下表不能被设置为脱机状态
a. 系统表空间
b. 上面有活动的还原/回滚段的表空间
c. 默认临时表空间
假设jinlian数据表空间出了些问题,需要对它进行维护
1) 获取该表空间状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
2) 获取该表空间对应的数据文件现在的状态
SQL>SELECT file#,name,status FROM v$datafile WHERE file#>=8;
3) 以上情况如果是联机状态,用以下命令将表空间jinlian置为脱机状态
SQL>ALTER TABLESPACE jinlian OFFLINE;
4) 验证该表空间的状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
SQL>SELECT file#,name,status FROM v$datafile WHERE file#>=8;
5) 当维护结束后,应尽快地使用如下命令将表空间jinlian置回为联机状态
SQL>ALTER TABLESPACE jinlian ONLINE;
6) 验证该表空间的状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
SQL>SELECT file#,name,status FROM v$datafile WHERE file#>=8;
7. 只读(read-only)表空间
1) 将jinlian表空间的状态改为只读
SQL>ALTER TABLESPACE jinlian READ ONLY;
2) 验证该表空间的状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
3) 当需要重新向jinlian表空间输入数据时,用如下命令将表空间的状态改回可读可写状态
SQL>ALTER TABLESPACE jinlian READ WRITE;
4) 验证该表空间的状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
8. 改变表空间的存储设置
1) 如果项目的数据量增大,为了提高该项目的数据处理速度,可将jinlian表空间的存储参数做如下的修改:MINIMUM EXTENT 为100KB,INITIAL和NEXT也都为100KB,而MAXEXTENTS为200KB。
SQL>ALTER TABLESPACE jinlian MINIMUM EXTENT 100 K;
SQL>ALTER TABLESPACE jinlian DEFAULT STORAGE (INITIAL 100 K NEXT 100 K MAXEXTENTS 200);
2) 验证磁盘存储参数
SQL>select tablespace_name,initial_extent,next_extent,max_extents,pct_increase,min_extents from dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
9. 重置表空间的大小
1) 查询那些表空间或数据文件可以自动扩展
SQL>SELECT file_id,tablespace_name,file_name,autoextensible FROM dba_data_files WHERE file_id>=8 ORDER BY file_id;
2) 以上可见jinlian开头的表空间不能自动扩展,现在设置使jinlian_index空间的大小在达到最大值时可以自动扩展。
SQL>ALTER DATABASE DATAFILE ‘J:\DISK6\MOON\JINLIAN_INDEX.DBF’ AUTOEXTEND ON NEXT 1 M;
3) 验证jinlian_index表空间和所对应的数据文件是否自动扩展
SQL>SELECT file_id,tablespace_name,file_name,autoextensible FROM dba_data_files WHERE file_id>=8 ORDER BY file_id;
10. 手工重置数据文件的大小
1) 假如表空间中的磁盘空间已经接近用完,此时想手工地将表空间所对应的一个数据文件增加到100MB。
确定表空间所对应的数据文件的尺寸
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablesapce_name LIKE ‘JIN%’ ORDER BY tablespace_name;
将数据文件尺寸加大到100MB
SQL>ALTER DATABASE DATAFILE ‘J:\DISK2\MOON\JINLIAN01.DBF’ RESIZE 100 M;
2) 确定表空间所对应的数据文件的尺寸
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablesapce_name LIKE ‘JIN%’ ORDER BY tablespace_name;
3) 也可以使用如下命令向表空间中添加一个新的数据文件的方式来增加该表空间的尺寸
SQL>ALTER TABLESPACE jinlian ADD DATAFILE ‘J:\DISK6\MOON\JINLIAN03.DBF’ SIZE 80 M;
4) 确定表空间所对应的数据文件的尺寸
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablesapce_name LIKE ‘JIN%’ ORDER BY tablespace_name;
11. 移动数据文件的方法
有时某个磁盘的I/O可能过于繁忙,这可能影响到Oracle数据库系统的整体效率,此时就应该将一个或几个数据文件移动到其他的磁盘上以平衡I/O。有时某个磁盘可能已经毁损,此时为了能使数据库系统继续运行,也可能要将一个或几个数据文件移动到其他的磁盘上。Oracle提供了两条移动数据文件的语句
1) 该语句只适用于上面没有活动的还原数据或临时段的非系统表空间中的数据文件
ALTER TABLESPACE 表空间名
RENAME DATAFILE ‘文件名’ [,’文件名’]…
TO ‘文件名’ [,’文件名’]…
2) 该语句适用于系统表空间和不能置为脱机的表空间中的数据文件
ALTER DATABASE [数据库名]
RENAME FILE ‘文件名’ [,’文件名’]…
TO ‘文件名’ [,’文件名’]…
12. 移动数据文件的应用实例
1) 查看数据文件的分布情况,查看它们是否存在I/O竞争
SQL>select file_id,file_name,tablespace_name from dba_data_files where file_name LIKE ‘%ORADATA%’ order by file_id;
2) 假如发现所有数据文件都放在一张盘上,决定先将输入/输出量较大的两个非系统表表间users和indx所对应的数据文件移动到其他磁盘上
查询表空间的当前状态
SQL>SELECT tablespace_name,status,contents FROM dba_tablespaces WHERE tablespace_name NOT LIKE ‘%JIN%’;
3) 以上发现所有表空间都是联机状态,用以下命令将users表空间和indx表空间的状态改为脱机
SQL>ALTER TABLESPACE USERS OFFLINE;
SQL>ALTER TABLESPACE INDX OFFLINE;
4) 验证表空间当前状态
SQL>SELECT tablespace_name,status,contents FROM dba_tablespaces WHERE tablespace_name NOT LIKE ‘%JIN%’;
5) 以上可见表空间users和indx都已经处在脱机状态,现在使用操作系统命令将表空间移动指定位置
SQL>HOST COPY D:\ORACLE\ORADATA\ORACLE9I\USERS01.DBF D:\DISK2\ORADATA
SQL>HOST COPY D:\ORACLE\ORADATA\ORACLE9I\INDX01.DBF D:\DISK4\ORADATA
6) 确定所有物理文件都已经复制到指定的地方后,使用如下命令重新命名表空间users和indx所对应的数据文件名(在控制文件中修改了指向这些文件的地址或指针)
SQL>ALTER TABLESPACE users RENAME DATAFILE ‘D:\ORACLE\ORADATA\ORACLE9I\USERS01.DBF’ TO ‘D:\DISK2\ORADATA\USERS01.DBF’;
SQL>ALTER TABLESPACE indx RENAME DATAFILE ‘D:\ORACLE\ORADATA\ORACLE9I\INDX01.DBF’ TO ‘D:\DISK4\ORADATA\ INDX01.DBF’;
7) 将表空间的状态改回联机
SQL>ALTER TABLESPACE USERS ONLINE;
SQL>ALTER TABLESPACE INDX ONLINE;
8) 验证表空间当前状态
SQL>SELECT tablespace_name,status,contents FROM dba_tablespaces WHERE tablespace_name NOT LIKE ‘%JIN%’;
9) 验证表空间所对应的操作系统数据文件是否已经指向了新的文件
SQL>select file_id,file_name,tablespace_name from dba_data_files where file_name LIKE ‘%ORADATA%’ order by file_id;
10) 找到旧的应废弃的物理文件,在操作系统中删除这些垃圾文件。
11) 接下来就是移动系统表空间,切换到SYSDBA用户(否则无法关闭数据库)
SQL>CONNECT SYS/MOON AS SYSDBA
关闭数据库
SQL>SHUTDOWN IMMEDIATE
立即使用如上命令启动实例并将数据库置为加载状态(数据库处在加载状态时数据文件是关闭的,与数据库处在关闭状态时效果完全一样)
SQL>STARTUP MOUNT
12) 使用操作系统命令将真正的物理数据文件复制到指定位置
SQL>HOST COPY D:\ORACLE\ORADATA\ORACLE9I\SYSTEM01.DBF D:\DISK1\ORADATA
13) 重新命名表空间system所对应的数据文件名(在控制文件中修改了指向该文件的地址或指针)
SQL>ALTER DATABASE RENAME FILE ‘D:\ORACLE\ORADATA\ORACLE9I\SYSTEM01.DBF’ TO ‘D:\DISK1\ORADATA\SYSTEM01.DBF’;
14) 马上将数据库的状态置为打开
SQL>ALTER DATABASE OPEN;
15) 验证操作是否成功
SQL>select file_id,file_name,tablespace_name from dba_data_files where file_name LIKE ‘%ORADATA%’ order by file_id;
16) 删除操作系统中废弃的垃圾文件
13. 迁移数据字典和本地管理的表空间
在Oracle8i之前的版本中,所有的数据库表空间都是数据字典管理的,Oracle提供了一种转换的方法,下面通过例子演示这一迁移过程
1) 以SYSDBA角色登录数据库
SQL>CONNECT SYS/MOON AS SYSDBA
如果想查看是以哪个用户名登录的,可以用以下命令
SQL>SHOW USER
2) 查询哪些表空间是数据字典管理的
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE dba_tablespace_name LIKE ‘JIN%’;
3) 假如表空间jinlian是数据字典管理的,可以使用以下命令迁移为本地管理的表空间
SQL>EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL(‘JINLIAN’);
注:EXECUTE为执行PL/SQL语句命令,DBMS_SPACE_ADMIN为Oracle提供的PL/SQL软件包的名称,TABLESPACE_MIGRATE_TO_LOCAL为该软件包中的一个过程名。
4) 验证是否转移成功
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE dba_tablespace_name LIKE ‘JIN%’;
5) 将本管理的jinlian表空间重新迁移为数据字典管理的表空间
SQL>EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCAL(‘JINLIAN’);
6) 验证迁移是否成功
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE dba_tablespace_name LIKE ‘JIN%’;
注:建议尽量使用本地管理的表空间,这样做的好处是:数据库的管理和维护更加容易,而且可以提高数据库系统的整体效率。
14. 删除表空间
1) 有几种表空间不参删除
第一种是系统表空间,第二种是上面有活动段的表空间。
删除表空间的格式:
DROP TABLESPACE 表空间名
[INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]]
其中:
INCLUDING CONTENTS 子句用来删除段。
AND DATAFILES 子句用来删除数据文件
CASCADE CONSTRAINTS 子句用来删除所有的引用完整约束
2) 删除创建的表空间,首先用以下SQL查询要删除的表空间和它们所对应的数据文件
SQL>SELECT file_id,file_name,tablespace_name FROM dba_data_files WHERE file_id>5 ORDER BY file_id;
3) 根据查询结果,找到要删除的表空间,如:
SQL>DROP TABLESPACE jinlian;
验证:
SQL>SELECT file_id,file_name,tablespace_name FROM dba_data_files WHERE file_id>5 ORDER BY file_id;
发现jinlian表空间删除,但删除的只是控制文件中指向数据文件的指针,还要利用操作系统工具删除废弃的物理文件。
4) 以上操作有些麻烦,可以用如下命令删除表空间的同时删除真正的数据文件
SQL>DROP TABLESPACE JINLIAN_INDEX INCLUDING CONTENTS AND DATAFILES;
删除临时表空间,先查询
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts#;
如删除如下临时表空间
SQL>DROP TABLESPACE JINLIAN_TEMP INCLUDING CONTENTS AND DATAFILES;
用查询语句验证会发现表空间删除,查看物理位置数据文件也删除。
注:INCLUDING CONTENTS AND DATAFILES是9i引入的,另外,删除表空间是一个极其危险的命令,建议在删除表空间之前要做好备份。
15. 利用OMF来管理表空间
1) 利用OMF管理表空间之前,必须使用以下方式之一来定义DB_CREATE_FILE_DEST参数
第一种在初始化参数文件中设置该参数。
第二种利用ALTER SYSTEM命令动态地设置该参数。
之后在表空间创建时,数据文件将被自动地建立并存放在DB_CREATE_FILE_DEST参数所定义的目录中,其文件的默认大小为100MB,并且AUTOEXTEND参数被设为UNLIMITED。
2) 例子
以system或sys用户登录,用以下命令设定数据文件存放的目录
SQL>ALTER SYSTEM SET db_create_file_dest=’D:\DISK5\ORADATA’;
之后,就可以使用不带文件名子句的创建表空间语句来创建一个新的表空间guifei
SQL>CREATE TABLESPACE guifei;
此时的数据文件和大小自动生成,存放在D:\DISK5\ORADATA下。
可以用如下命令为表空间guifei添加一个新文件,其大小为50MB
SQL>ALTER TABLESPACE guifei ADD DATAFILE SIZE 50 M;
用如下命令验证
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablespace_name LIKE ‘GUI%’;
会发现创建成功,并在D:\DISK5\ORADATA下生成数据文件
将guifei表空间从数据库中删除
SQL>DROP TABLESPACE guifei;
此时用命令查询表空间已删除,且数据文件也删除。
16. 创建表空间的应用实例
前提:为工程创建4个相应的表空间,它们是数据表空间pioneer_data,索引表空间pioneer_index,还原表这间pioneer_undo和临时表空间pioneer_temp,与这些表空间对应的系统文件分别是:
J:\DISK2\MOON\pioneer_data.dbf 大小:100MB
J:\DISK4\MOON\pioneer_index.dbf 大小:100MB
J:\DISK6\MOON\pioneer_undo.dbf 大小:50MB
J:\DISK8\MOON\pioneer_temp.dbf 大小:50MB
都为本地管理的表空间。
1) 以system用户登录,查询当前数据库中所有表空间和它们所对应的操作系统文件以及它们的大小等
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files;
2) 获得当前数据库中每个表空间是数据字典管理还是本地管理以及它们的数据块大小等信息
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces;
3) 获得当前数据库中每个临时表空间和与之对应的临时数据文件的信息
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts#;
4) 获得所需要的全部信息后,用如下SQL创建所需的表空间
SQL>CREATE TABLESPACE pioneer_data DATAFILE ‘J:\DISK2\MOON\pioneer_data.dbf’ SIZE 100 M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
SQL>CREATE TABLESPACE pioneer_index DATAFILE ‘J:\DISK4\MOON\pioneer_index.dbf’ SIZE 100 M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
SQL>CREATE TABLESPACE pioneer_undo DATAFILE ‘J:\DISK6\MOON\pioneer_undo.dbf’ SIZE 50 M EXTENT MANAGEMENT LOCAL;
SQL>CREATE TABLESPACE pioneer_temp TEMPFILE ‘J:\DISK8\MOON\pioneer_temp.dbf’ SIZE 50 M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2 M;
5) 查询刚创建的表空间和它们所对应的操作系统文件,以及它们的大小等信息
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablespace_name LIKE ‘PION%’;
6) 查询刚创建的4个表空间是数据字典管理的还是本地管理的,以及它们的数据块大小等信息
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE tablespace_name LIKE ‘P%’;
7) 获得刚创建的临时表空间和与之对应的临时数据文件的信息
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts# AND t.name LIKE ‘P%’;
8) 利用操作系统确认刚创建的表空间所对应的操作系统文件
1)创建一个名为jinlian的表空间。为了平衡I/O,决定该表空间将基于两个数据文件,它们分别是J:\DISK2\MOON\JINLIAN01.DBF和J:\DISK2\MOON\JINLIAN02.DBF,其大小都为50MB(实际中可能几百兆)。为了更有效地控制磁盘的存储分配,决定使用数据字典管理的表空间。为了防止用户在创建对象时使用的EXTENT过小而产生过多的碎片,决定最小的EXTENT为50KB(MINIMUN EXTENT 50KB)。当需要磁盘空间的自动分配时第一次分配为50KB(INITIAL 50KB),第二次也为50K(NEXT 50KB),所分配的最大磁盘空间为100个EXTENTS(MAXEXTENTS 100)。从第三次分配开始按如下的公式进行分配:NEXT*(1+PCTINCREASE/100)^(n-2),其中n为分配的次数。
SQL>CREATE TABLESPACE jinlian
DATAFILE ‘J:\DISK2\MOON\JINLIAN01.DBF’ SIZE 50 M,
‘J:\DISK2\MOON\JINLIAN02.DBF’ SIZE 50 M
MINIMUM EXTENT 50K EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE (INITIAL 50K NEXT 50K MAXEXTENTS 100 PCTINCREASE 0);
提示:从Oracle9.2开始,如果SYSTEM表空间为本地管理的,Oracle系统就不允许再创建数据字典管理的表空间。此时可将EXTENT MANAGEMENT DICTIONARY去掉。
3) 验证所创建的表空间是否为数据字典管理
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management FROM dba_tablespaces;
4) 验证其他的磁盘存储参数
SQL>select tablespace_name,initial_extent,next_extent,max_extents,pct_increase,min_extlen from dba_tablespaces;
5) 验证与文件有关的信息
SQL>select file_id,file_name,tablespace_name from dba_data_files order by file_id;
2.创建本地管理的表空间
1) 创建一个名为jinlian_index的索引表空间。该表空间基于一个数据文件,其文件名是J:\DISK6\MOON\JINLIAN_INDEX.DBF,其大小为50MB(在实际中可能为几百兆)。为了方便磁盘存储的管理,决定使用本地管理的表空间(EXTENT MANAGEMENT LOCAL)。决定每个EXTENT的大小为1MB(UNIFORM SIZE 1MB)。
SQL>CREATE TABLESPACE jinlian_index
DATAFILE ‘J:\DISK6\MOON\jinlian_index.dbf’
SIZE 50 M
EXTENT MANAGEMENT LOCAL
UNIFORM SIZE 1M;
2) 验证所创建的表空间是否为本地管理的
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management FROM dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
3) 验证其它的磁盘存储参数
SQL>select tablespace_name,initial_extent,next_extent,max_extents,pct_increase,min_extlen from dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
4) 验证与文件有关的信息
SQL>select file_id,file_name,tablespace_name,autoextensible from dba_data_files WHERE file_id>5 order by file_id;
3. 还原表空间
1) 还原表空间是9i引入的,它是用来自动地管理还原(回滚)数据的。还原表空间是用来存储还原段的,在还原表空间中不能包含任何其他的对象。还原表空间中的区段(extent)是由本地管理的,而且在创建还原表空间的SQL语句中只能使用DATAFILE和EXTENT MANAGEMENT子句。
2) 创建一个还原表空间jinlian_undo,它所基于的操作系统文件名为J:\DISK7\MOON\jinlian_undo.DBF,其大小为20MB。
SQL>CREATE UNDO TABLESPACE jinlian_undo DATAFILE ‘J:\DISK7\MOON\jinlian_undo.DBF’ SIZE 20 M;
3) 查看所创建的还原表空间是数据字典管理还是本地管理
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management FROM dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
4) 查看是不是还原表空间
SQL>SELECT tablespace_name,status,contents FROM dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
4. 临时表空间
1) 临时表空间是作为排序操作使用的。当用户的SQL语句中使用了诸如ORDER BY,GROUP BY 子句时Oracle服务器就需要对所选取的数据进行排序,这时如果排序的数据量过大,内存的排序区(在PGA中)就可能装不下,因此Oracle服务器就要把一些中间的排序结果写到磁盘上,即临时表空间中。
2) 如果在创建临时表空间之前,想查看在数据库中究竟有多少个表空间及它们的状态,使用如下命令。
SQL>select tablespace_name,status,contents from dba_tablespaces;
3) 得到临时表空间和对应的数据文件,可以使用数据字典v$tablespace和v$tempfile.
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts#;
4) 创建一个临时表空间jinlian_temp,文件名J:\DISK8\MOON\jinlian_temp.DBF,其大小为10MB。
SQL>CREATE TEMPORARY TABLESPACE jinlian_temp TEMPFILE ‘J:\DISK8\MOON\jinlian_temp.dbf’ SIZE 10 M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2 M;
5) 验证表空间是否已经建立
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
6) 验证是否为临时表空间以及它所对应的数据文件是否也被创建
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts#;
7) 验证表空间的其它参数
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
另外,为了优化某一临时表空间中排序的效率,还应将UNIFORM SIZE设为SORT_AREA_SIZE(PGA中排序区的大小)参数的整数倍。
5. 默认临时表空间
1) 获得当前的默认临时表空间
SQL>SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE ‘DEFAULT%’;
2) 以上一般会显示temp临时表空间为默认临时表空间,如果项目的数据处理变得越来越频繁,为了提高该项目的处理速度,决定将jinlian_temp临时表空间设为默认临时表空间。
SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE jinlian_temp;
3) 验证当前的默认临时表空间
SQL>SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE ‘DEFAULT%’;
4) 当不再处理jinlian项目数据时,需注意应将默认临时表空间再改回为temp表空间
SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;
5) 验证当前的默认临时表空间
SQL>SELECT * FROM DATABASE_PROPERTIES WHERE PROPERTY_NAME LIKE ‘DEFAULT%’;
注意:首先默认临时表空间不能被删除,除非有一个新的可以使用的默认临时表空间,另外,使用旧的临时表空间的用户被自动地赋予新的默认临时表空间。
6. 设置表空间为脱机
以下表不能被设置为脱机状态
a. 系统表空间
b. 上面有活动的还原/回滚段的表空间
c. 默认临时表空间
假设jinlian数据表空间出了些问题,需要对它进行维护
1) 获取该表空间状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
2) 获取该表空间对应的数据文件现在的状态
SQL>SELECT file#,name,status FROM v$datafile WHERE file#>=8;
3) 以上情况如果是联机状态,用以下命令将表空间jinlian置为脱机状态
SQL>ALTER TABLESPACE jinlian OFFLINE;
4) 验证该表空间的状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
SQL>SELECT file#,name,status FROM v$datafile WHERE file#>=8;
5) 当维护结束后,应尽快地使用如下命令将表空间jinlian置回为联机状态
SQL>ALTER TABLESPACE jinlian ONLINE;
6) 验证该表空间的状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
SQL>SELECT file#,name,status FROM v$datafile WHERE file#>=8;
7. 只读(read-only)表空间
1) 将jinlian表空间的状态改为只读
SQL>ALTER TABLESPACE jinlian READ ONLY;
2) 验证该表空间的状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
3) 当需要重新向jinlian表空间输入数据时,用如下命令将表空间的状态改回可读可写状态
SQL>ALTER TABLESPACE jinlian READ WRITE;
4) 验证该表空间的状态
SQL>select tablespace_name,status,contents from dba_tablespaces where tablespace_name LIKE ‘JIN%’;
8. 改变表空间的存储设置
1) 如果项目的数据量增大,为了提高该项目的数据处理速度,可将jinlian表空间的存储参数做如下的修改:MINIMUM EXTENT 为100KB,INITIAL和NEXT也都为100KB,而MAXEXTENTS为200KB。
SQL>ALTER TABLESPACE jinlian MINIMUM EXTENT 100 K;
SQL>ALTER TABLESPACE jinlian DEFAULT STORAGE (INITIAL 100 K NEXT 100 K MAXEXTENTS 200);
2) 验证磁盘存储参数
SQL>select tablespace_name,initial_extent,next_extent,max_extents,pct_increase,min_extents from dba_tablespaces WHERE tablespace_name LIKE ‘JIN%’;
9. 重置表空间的大小
1) 查询那些表空间或数据文件可以自动扩展
SQL>SELECT file_id,tablespace_name,file_name,autoextensible FROM dba_data_files WHERE file_id>=8 ORDER BY file_id;
2) 以上可见jinlian开头的表空间不能自动扩展,现在设置使jinlian_index空间的大小在达到最大值时可以自动扩展。
SQL>ALTER DATABASE DATAFILE ‘J:\DISK6\MOON\JINLIAN_INDEX.DBF’ AUTOEXTEND ON NEXT 1 M;
3) 验证jinlian_index表空间和所对应的数据文件是否自动扩展
SQL>SELECT file_id,tablespace_name,file_name,autoextensible FROM dba_data_files WHERE file_id>=8 ORDER BY file_id;
10. 手工重置数据文件的大小
1) 假如表空间中的磁盘空间已经接近用完,此时想手工地将表空间所对应的一个数据文件增加到100MB。
确定表空间所对应的数据文件的尺寸
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablesapce_name LIKE ‘JIN%’ ORDER BY tablespace_name;
将数据文件尺寸加大到100MB
SQL>ALTER DATABASE DATAFILE ‘J:\DISK2\MOON\JINLIAN01.DBF’ RESIZE 100 M;
2) 确定表空间所对应的数据文件的尺寸
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablesapce_name LIKE ‘JIN%’ ORDER BY tablespace_name;
3) 也可以使用如下命令向表空间中添加一个新的数据文件的方式来增加该表空间的尺寸
SQL>ALTER TABLESPACE jinlian ADD DATAFILE ‘J:\DISK6\MOON\JINLIAN03.DBF’ SIZE 80 M;
4) 确定表空间所对应的数据文件的尺寸
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablesapce_name LIKE ‘JIN%’ ORDER BY tablespace_name;
11. 移动数据文件的方法
有时某个磁盘的I/O可能过于繁忙,这可能影响到Oracle数据库系统的整体效率,此时就应该将一个或几个数据文件移动到其他的磁盘上以平衡I/O。有时某个磁盘可能已经毁损,此时为了能使数据库系统继续运行,也可能要将一个或几个数据文件移动到其他的磁盘上。Oracle提供了两条移动数据文件的语句
1) 该语句只适用于上面没有活动的还原数据或临时段的非系统表空间中的数据文件
ALTER TABLESPACE 表空间名
RENAME DATAFILE ‘文件名’ [,’文件名’]…
TO ‘文件名’ [,’文件名’]…
2) 该语句适用于系统表空间和不能置为脱机的表空间中的数据文件
ALTER DATABASE [数据库名]
RENAME FILE ‘文件名’ [,’文件名’]…
TO ‘文件名’ [,’文件名’]…
12. 移动数据文件的应用实例
1) 查看数据文件的分布情况,查看它们是否存在I/O竞争
SQL>select file_id,file_name,tablespace_name from dba_data_files where file_name LIKE ‘%ORADATA%’ order by file_id;
2) 假如发现所有数据文件都放在一张盘上,决定先将输入/输出量较大的两个非系统表表间users和indx所对应的数据文件移动到其他磁盘上
查询表空间的当前状态
SQL>SELECT tablespace_name,status,contents FROM dba_tablespaces WHERE tablespace_name NOT LIKE ‘%JIN%’;
3) 以上发现所有表空间都是联机状态,用以下命令将users表空间和indx表空间的状态改为脱机
SQL>ALTER TABLESPACE USERS OFFLINE;
SQL>ALTER TABLESPACE INDX OFFLINE;
4) 验证表空间当前状态
SQL>SELECT tablespace_name,status,contents FROM dba_tablespaces WHERE tablespace_name NOT LIKE ‘%JIN%’;
5) 以上可见表空间users和indx都已经处在脱机状态,现在使用操作系统命令将表空间移动指定位置
SQL>HOST COPY D:\ORACLE\ORADATA\ORACLE9I\USERS01.DBF D:\DISK2\ORADATA
SQL>HOST COPY D:\ORACLE\ORADATA\ORACLE9I\INDX01.DBF D:\DISK4\ORADATA
6) 确定所有物理文件都已经复制到指定的地方后,使用如下命令重新命名表空间users和indx所对应的数据文件名(在控制文件中修改了指向这些文件的地址或指针)
SQL>ALTER TABLESPACE users RENAME DATAFILE ‘D:\ORACLE\ORADATA\ORACLE9I\USERS01.DBF’ TO ‘D:\DISK2\ORADATA\USERS01.DBF’;
SQL>ALTER TABLESPACE indx RENAME DATAFILE ‘D:\ORACLE\ORADATA\ORACLE9I\INDX01.DBF’ TO ‘D:\DISK4\ORADATA\ INDX01.DBF’;
7) 将表空间的状态改回联机
SQL>ALTER TABLESPACE USERS ONLINE;
SQL>ALTER TABLESPACE INDX ONLINE;
8) 验证表空间当前状态
SQL>SELECT tablespace_name,status,contents FROM dba_tablespaces WHERE tablespace_name NOT LIKE ‘%JIN%’;
9) 验证表空间所对应的操作系统数据文件是否已经指向了新的文件
SQL>select file_id,file_name,tablespace_name from dba_data_files where file_name LIKE ‘%ORADATA%’ order by file_id;
10) 找到旧的应废弃的物理文件,在操作系统中删除这些垃圾文件。
11) 接下来就是移动系统表空间,切换到SYSDBA用户(否则无法关闭数据库)
SQL>CONNECT SYS/MOON AS SYSDBA
关闭数据库
SQL>SHUTDOWN IMMEDIATE
立即使用如上命令启动实例并将数据库置为加载状态(数据库处在加载状态时数据文件是关闭的,与数据库处在关闭状态时效果完全一样)
SQL>STARTUP MOUNT
12) 使用操作系统命令将真正的物理数据文件复制到指定位置
SQL>HOST COPY D:\ORACLE\ORADATA\ORACLE9I\SYSTEM01.DBF D:\DISK1\ORADATA
13) 重新命名表空间system所对应的数据文件名(在控制文件中修改了指向该文件的地址或指针)
SQL>ALTER DATABASE RENAME FILE ‘D:\ORACLE\ORADATA\ORACLE9I\SYSTEM01.DBF’ TO ‘D:\DISK1\ORADATA\SYSTEM01.DBF’;
14) 马上将数据库的状态置为打开
SQL>ALTER DATABASE OPEN;
15) 验证操作是否成功
SQL>select file_id,file_name,tablespace_name from dba_data_files where file_name LIKE ‘%ORADATA%’ order by file_id;
16) 删除操作系统中废弃的垃圾文件
13. 迁移数据字典和本地管理的表空间
在Oracle8i之前的版本中,所有的数据库表空间都是数据字典管理的,Oracle提供了一种转换的方法,下面通过例子演示这一迁移过程
1) 以SYSDBA角色登录数据库
SQL>CONNECT SYS/MOON AS SYSDBA
如果想查看是以哪个用户名登录的,可以用以下命令
SQL>SHOW USER
2) 查询哪些表空间是数据字典管理的
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE dba_tablespace_name LIKE ‘JIN%’;
3) 假如表空间jinlian是数据字典管理的,可以使用以下命令迁移为本地管理的表空间
SQL>EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_TO_LOCAL(‘JINLIAN’);
注:EXECUTE为执行PL/SQL语句命令,DBMS_SPACE_ADMIN为Oracle提供的PL/SQL软件包的名称,TABLESPACE_MIGRATE_TO_LOCAL为该软件包中的一个过程名。
4) 验证是否转移成功
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE dba_tablespace_name LIKE ‘JIN%’;
5) 将本管理的jinlian表空间重新迁移为数据字典管理的表空间
SQL>EXECUTE DBMS_SPACE_ADMIN.TABLESPACE_MIGRATE_FROM_LOCAL(‘JINLIAN’);
6) 验证迁移是否成功
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE dba_tablespace_name LIKE ‘JIN%’;
注:建议尽量使用本地管理的表空间,这样做的好处是:数据库的管理和维护更加容易,而且可以提高数据库系统的整体效率。
14. 删除表空间
1) 有几种表空间不参删除
第一种是系统表空间,第二种是上面有活动段的表空间。
删除表空间的格式:
DROP TABLESPACE 表空间名
[INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]]
其中:
INCLUDING CONTENTS 子句用来删除段。
AND DATAFILES 子句用来删除数据文件
CASCADE CONSTRAINTS 子句用来删除所有的引用完整约束
2) 删除创建的表空间,首先用以下SQL查询要删除的表空间和它们所对应的数据文件
SQL>SELECT file_id,file_name,tablespace_name FROM dba_data_files WHERE file_id>5 ORDER BY file_id;
3) 根据查询结果,找到要删除的表空间,如:
SQL>DROP TABLESPACE jinlian;
验证:
SQL>SELECT file_id,file_name,tablespace_name FROM dba_data_files WHERE file_id>5 ORDER BY file_id;
发现jinlian表空间删除,但删除的只是控制文件中指向数据文件的指针,还要利用操作系统工具删除废弃的物理文件。
4) 以上操作有些麻烦,可以用如下命令删除表空间的同时删除真正的数据文件
SQL>DROP TABLESPACE JINLIAN_INDEX INCLUDING CONTENTS AND DATAFILES;
删除临时表空间,先查询
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts#;
如删除如下临时表空间
SQL>DROP TABLESPACE JINLIAN_TEMP INCLUDING CONTENTS AND DATAFILES;
用查询语句验证会发现表空间删除,查看物理位置数据文件也删除。
注:INCLUDING CONTENTS AND DATAFILES是9i引入的,另外,删除表空间是一个极其危险的命令,建议在删除表空间之前要做好备份。
15. 利用OMF来管理表空间
1) 利用OMF管理表空间之前,必须使用以下方式之一来定义DB_CREATE_FILE_DEST参数
第一种在初始化参数文件中设置该参数。
第二种利用ALTER SYSTEM命令动态地设置该参数。
之后在表空间创建时,数据文件将被自动地建立并存放在DB_CREATE_FILE_DEST参数所定义的目录中,其文件的默认大小为100MB,并且AUTOEXTEND参数被设为UNLIMITED。
2) 例子
以system或sys用户登录,用以下命令设定数据文件存放的目录
SQL>ALTER SYSTEM SET db_create_file_dest=’D:\DISK5\ORADATA’;
之后,就可以使用不带文件名子句的创建表空间语句来创建一个新的表空间guifei
SQL>CREATE TABLESPACE guifei;
此时的数据文件和大小自动生成,存放在D:\DISK5\ORADATA下。
可以用如下命令为表空间guifei添加一个新文件,其大小为50MB
SQL>ALTER TABLESPACE guifei ADD DATAFILE SIZE 50 M;
用如下命令验证
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablespace_name LIKE ‘GUI%’;
会发现创建成功,并在D:\DISK5\ORADATA下生成数据文件
将guifei表空间从数据库中删除
SQL>DROP TABLESPACE guifei;
此时用命令查询表空间已删除,且数据文件也删除。
16. 创建表空间的应用实例
前提:为工程创建4个相应的表空间,它们是数据表空间pioneer_data,索引表空间pioneer_index,还原表这间pioneer_undo和临时表空间pioneer_temp,与这些表空间对应的系统文件分别是:
J:\DISK2\MOON\pioneer_data.dbf 大小:100MB
J:\DISK4\MOON\pioneer_index.dbf 大小:100MB
J:\DISK6\MOON\pioneer_undo.dbf 大小:50MB
J:\DISK8\MOON\pioneer_temp.dbf 大小:50MB
都为本地管理的表空间。
1) 以system用户登录,查询当前数据库中所有表空间和它们所对应的操作系统文件以及它们的大小等
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files;
2) 获得当前数据库中每个表空间是数据字典管理还是本地管理以及它们的数据块大小等信息
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces;
3) 获得当前数据库中每个临时表空间和与之对应的临时数据文件的信息
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts#;
4) 获得所需要的全部信息后,用如下SQL创建所需的表空间
SQL>CREATE TABLESPACE pioneer_data DATAFILE ‘J:\DISK2\MOON\pioneer_data.dbf’ SIZE 100 M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
SQL>CREATE TABLESPACE pioneer_index DATAFILE ‘J:\DISK4\MOON\pioneer_index.dbf’ SIZE 100 M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
SQL>CREATE TABLESPACE pioneer_undo DATAFILE ‘J:\DISK6\MOON\pioneer_undo.dbf’ SIZE 50 M EXTENT MANAGEMENT LOCAL;
SQL>CREATE TABLESPACE pioneer_temp TEMPFILE ‘J:\DISK8\MOON\pioneer_temp.dbf’ SIZE 50 M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2 M;
5) 查询刚创建的表空间和它们所对应的操作系统文件,以及它们的大小等信息
SQL>SELECT file_id,file_name,tablespace_name,bytes/(1024*1024) MB FROM dba_data_files WHERE tablespace_name LIKE ‘PION%’;
6) 查询刚创建的4个表空间是数据字典管理的还是本地管理的,以及它们的数据块大小等信息
SQL>SELECT tablespace_name,block_size,extent_management,segment_space_management,min_extents FROM dba_tablespaces WHERE tablespace_name LIKE ‘P%’;
7) 获得刚创建的临时表空间和与之对应的临时数据文件的信息
SQL>SELECT f.file#,t.ts#,f.name “File”,t.name “Tablespace” FROM v$tempfile f,v$tablespace t WHERE f.ts#=t.ts# AND t.name LIKE ‘P%’;
8) 利用操作系统确认刚创建的表空间所对应的操作系统文件
发表评论
-
管理还原数据
2011-01-16 15:38 8731.还原数据的管理方法 在9i或以后的版本中提供了两种方法来管 ... -
创建数据库
2011-01-16 15:37 7181.创建数据库的方法 1) 使用Oracle安装程序(Orac ... -
存储结构和它们之间的关系
2011-01-16 15:35 7371. 各种类型的段 段是在 ... -
重做日志文件
2011-01-16 15:33 9211.日志切换和检查点 数据库管理员可以根据管理和维护的需要,在 ... -
数据字典和控制文件
2011-01-16 15:32 9661.数据字典简介 数据字典分为两大类:一种为基表,另一种为数据 ... -
Oracle实例的管理
2011-01-16 15:31 7161.初始化参数文件 在Oracle9i或之后共有两种不同类型 ... -
数据库管理工具
2011-01-16 15:30 7931. 解锁普通用户 在Oracle10g或以上的版本中,出于安 ...
相关推荐
Origin教程009所需练习数据
内容概要:本文提出了一个新的激活函数dReLU,用于提高大语言模型(LLM)的稀疏激活水平。dReLU可以显著减少模型推理过程中激活的参数数量,从而实现高效的模型推理。通过在Mistral-7B和Mixtral-47B模型上的实验,验证了dReLU的有效性。结果表明,使用dReLU的模型在性能上与原始模型相当甚至更好,同时减少了计算资源的需求,达到了2-5倍的推理加速。 适合人群:对深度学习、大语言模型和模型优化感兴趣的机器学习研究人员和技术开发者。 使用场景及目标:适用于需要高效推理的大语言模型应用场景,特别是资源受限的设备,如移动电话。目标是减少模型的计算资源消耗,提高推理速度。 其他说明:本文详细探讨了dReLU的设计和实验验证,提供了大量的实验数据和对比结果,展示了dReLU在多种任务上的优越表现。
最近参加一个农业机器人的比赛,由于今年的题目是蔬菜幼苗自动搬运,因此搬运部分需要用到一个三轴运动的装置,我们参考了3D打印机的原理,上面通过步进电机控制丝杆和皮带从而带动我们的抓手来抓举幼苗。因为比赛的幼苗和幼苗的基质比较小,这个过程需要精度比较高,查询了一些资料后,我想到了用dma来给STM32单片机的定时器寄存器ARR发送数据来精准控制输出pwm的数量,从而可以精准控制步进电机转动的度数,可以十分方便的计算出到某个位置需要的脉冲。
白色大气风格的商务团队公司模板下载.zip
2023-04-06-项目笔记-第三百五十八阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.356局变量的作用域_356- 2024-12-25
白色大气风格的个人摄影图片博客网站源码下载.zip
白色大气风格的木材加工行业网站模板下载.zip
PCle AI加速卡在智能制造中的应用.docx
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;
白色风格的后台管理系统模板下载.rar
内容概要:本文详细介绍了网络热点采集系统的开发过程,包括网页抓取、数据去重、清洗、分类和可视化的各个环节。系统使用 Python 的 requests 和 BeautifulSoup 库抓取指定关键词相关的网页内容,通过集合数据结构去重,利用正则表达式清洗数据,根据关键词匹配进行分类,最后通过 matplotlib 和 wordcloud 库进行数据可视化,展示热点信息。此外,文章还介绍了多线程抓取、数据缓存、异常处理等性能优化方法,以及系统的部署和运行步骤。 适合人群:具有 Python 编程基础的开发人员和技术爱好者。 使用场景及目标:该系统适用于需要实时监控网络热点话题的个人或企业,帮助他们快速了解和分析热点信息的趋势和分布,辅助决策。 阅读建议:在学习本文时,建议读者跟随每一步代码实现,理解各个模块的设计思路和技术细节,并尝试在自己的环境中搭建和运行整个系统,以便更好地掌握网络热点采集系统的开发流程。
白色大气风格的KTV美女麦霸网站模板下载.zip
白色简洁风的博客网站模板下载.zip
梧州市五险一金办事指南
白色简洁风格的餐厅服务团队整站网站源码下载.zip
白色大气风格的境外游景区模板下载.zip
白色大气风格的美食厨师展示模板下载.zip
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;
白色大气风格的视察滚动房地产模板下载.zip
【要点】:本文提出LLM-Select方法,利用大型语言模型(LLM)在仅提供输入特征名称和预测任务描述的情况下,实现特征选择,其性能可媲美传统数据科学工具,并具有跨查询机制和提示策略的一致性。 【方法】:通过零样本提示(zero-shot prompt)LLM输出特征的重要性分数,实现特征选择。 【实验】:在真实世界数据集上进行广泛实验,结果表明基于LLM的特征选择在性能上与LASSO等数据驱动方法相当,且无需查看下游训练数据。