2019独角兽企业重金招聘Python工程师标准>>>
一、表空间及数据文件
1、表空间数据文件操作
创建普通表空间
create tablespace dits datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ZONGYANG\dits.dbf'
size 2000M reuse autoextend on next 50m;
创建undo表空间,一般创建实例时自动创建
create undo tablespace undospace01 datafile '+DG1/ora55/datafile/undospace01.dbf' size 20M;
创建临时表空间
create temporary tablespace temp01 tempfile '+DG1/ora55/datafile/tempfile01.dbf' size 20M;
alter database default temporary tablespace temp01;
drop tablespace temp01 including contents and datafiles;
临时数据文件不能重命名,临时表空间视图dba_temp_files
创建NK表空间
查看当前的数据库大小
show parameter db_block_size
show parameter db_16k_cache_size
创建数据库高速缓存区,即使修改时指定的是1M,修改之后系统会自动给出一个最小的默认大小。
alter system set db_16k_cache_size=1M scope=both;
使用“blocksize 16k”参数创建16K表空间。
create tablespace DATA01 datafile '/u01/app/oracle/oradata/ipemsdb/datafile/nk_16k_01.dbf' size 20M
uniform size 4M blocksize 16K;
未对db_16k_cache_size参数进行设置的ORA-29339报错信息。
创建的表空间超过1个T时,使用bigfile,减少了数据文件的个数,管理方便,大的对象的存放得到了优化,
bigfile只能存在一个数据文件一个小文件表空间(smallfile tablespace)最多可以包含1024个数据文
件(datafile),而一个大文件表空间中只包含一个文件。
查询默认的类型
select PROPERTY_NAME,PROPERTY_VALUE from database_properties where PROPERTY_NAME like '%TBS%';
CREATE [BIGFILE | SMALLFILE] TABLESPACE tablespace name DATAFILE datafile;
参考:http://blog.chinaunix.net/uid-20779720-id-3078273.html
删除数据文件,10g 可以删除空的数据文件
Alter tablespace USERS drop datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCLDB\USERS02.DBF';
修改表的表空间
alter table test move tablespace users;
删除表空间(表空间中的数据存完整的对象)
DROP TABLESPACE users1 INCLUDING CONTENTS AND DATAFILES;
获得创建语句
SELECT dbms_metadata.get_ddl('TABLESPACE','SYSTEM') FROM dual;
查询当前表空间使用情况
select b.file_name file_name,b.tablespace_name space_name,
b.bytes/1024/1024 munM,(b.bytes-sum(nvl(a.bytes,0)))/1024/1024 usedM,
substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) use%
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id group by b.tablespace_name,b.file_name,b.bytes
order by b.tablespace_name;
2、扩展表空间
直接增大表空间大小
ALTER DATABASE DATAFILE 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\DBFIRST\DITS.DBF' RESIZE 400M;
增加数据文件
alter tablespace TBS_1 add datafile '/orainst/oracle/db/oradata/ora254/TBS_1.dbf' size 1024m
reuse autoextend on next 5M;
3、迁移表空间
查询可搬移的操作系统
select platform_name from v$transportable_platform;
脱机表空间,拷贝数据文件至新目录,修改文件路径,重启恢复开库,联机
alter tablespace EXAMPLE offline;
ALTER DATABASE RENAME FILE 'C:\oracle\product\10.2.0\oradata\orcldb\EXAMPLE01.DBF'
to 'C:\oracle\product\10.2.0\oradata\yidonghou\EXAMPLE01.DBF';
shutdown immediate;
startup mount;
recover datafile 'C:\oracle\product\10.2.0\oradata\yidonghou\EXAMPLE01.DBF';
alter database open;
alter tablespace EXAMPLE online;
4、相关视图:
v$tablespace
dba_tablespaces
dba_segments
dba_extents
二、控制文件的操作
修改控制文件的路径,冗余备份等,命令行和修改pfile文件中控制文件的信息
startup nomount 在mount状态下复制
alter system set control_files='/oradata/orcl/control01.ctl','/oradata/orcl/control02.ctl',
'/u01/app/oracle/product/10.2.0/db_1/oradata/orcl/control03.ctl' scope=spfile;
三、参数文件的操作
create pfile from spfile;
create spfile from pfile;
startup open pfile = 'C:\oracle\product\10.2.0\db_1\database\initorcldb.ora';
四、密码文件
orapwd file= password= entries=最大数目,这里的file命名规则在unix/linux下orapwsid,在windows下
为pwdsid.ora
orapwd file=orapwipemsdb password=oracle entries=3 force=y
oracle的认证方式
OS认证:当前用户要在ORA_DBA组中,且sqlnet.ora文件中的配置SQLNET.AUTHENTICATION_SERVICES= (NTS)
时可以直接使用conn / as sysdba登陆,注意ORA-01031: insufficient privileges
oracle认证:SQLNET.AUTHENTICATION_SERVICES= (NONE),需要提供完整的用户名和密码登陆
五、oracle连接操作
process:是服务器端概念,运行在服务器上提供服务的进程。process设置太小会间歇性的连接失败报 ORA-12519 适当调大
select count(1) from v$process;
show parameter process;
alter system set processes = 300 scope = spfile;
windows 2003 server(32位)的操作系统,在安装oracle 10g(10.2.0.1-10.2.0.3)时有问题,连接数不能达到设置的大小
报ORA-12518错误,可用64位解决。
查看当前有哪些用户正在使用数据
SELECT osuser, a.username,cpu_time/executions/1000000||'s', b.sql_text,machine
from v$session a, v$sqlarea b where a.sql_address =b.address order by cpu_time/executions desc;
session:客户端概念,客户端与服务器之间的连接,由processes的值决定,公式sessions=1.1*process + 5
process大小设置后,系统会自动给算出session值
select count(*) from v$session;
Alter system kill session 'sid, serial#'; --杀死具体会话
六、Oracle Managed Files (OMF)
全称是Oracle_Managed Files,即Oracle文件管理,使用OMF可以简化管理员的管理工作,不用指定文件的
名字、大小、路径,其名字,由oracle 自动分配。在删除时,OMF也可以自动删除其对应的OS文件。
要开启OMF功能,需要设置默认存放路径参数。
ALTER SYSTEM SET db_create_file_dest ='/u01/app/oracle/oradata/orcl';
创建表空间:
CREATE TABLESPACE s;
CREATE UNDO TABLESPACE tablespace_name ;
CREATE TEMPORARY TABLESPACE tablespace_name;
alter tablespace tbs_secooler add datafile;
drop tablespace s;
删除表空间时,对于使用了OMF生成的数据文件将随着表空间的删除一起被删除,对于未采用OMF来创建的
表空间,在删除表空间之后,只是从v$datafile视图中被删除,仍需从操作系统中删除实际文件。
OMF实用效果不佳,不方便表空间和数据文件对应等。
参考资料:
http://www.cnblogs.com/alex-blog/articles/2834806.html
http://www.linuxidc.com/Linux/2012-07/66292.htm