查看oracle表空间内存

查看oracle表空间内存

SELECT a.tablespace_name "表空间名", 
total "表空间大小", 
free "表空间剩余大小", 
(total - free) "表空间使用大小", 
total / (1024 * 1024 * 1024) "表空间大小(G)", 
free / (1024 * 1024 * 1024) "表空间剩余大小(G)", 
(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)", 
round((total - free) / total, 4) * 100 "使用率 %" 
FROM (SELECT tablespace_name, SUM(bytes) free 
FROM dba_free_space 
GROUP BY tablespace_name) a, 
(SELECT tablespace_name, SUM(bytes) total 
FROM dba_data_files 
GROUP BY tablespace_name) b 
WHERE a.tablespace_name = b.tablespace_name
and a.tablespace_name='USER_DATA'

  

本地oracle创建表空间:

说明:datafile是指定创建位置,指向oracle数据库的默认位置;
autoextend 设置容量为自动增长,50M是自增的大小
位置:E:oracle_appAdministratoradminsmsdbsms_tablespsce

create tablespace ank_tablespace
datafile 'E:/oracle_app/Administrator/admin/smsdb/ANK_TABLESPACE'
size 1M autoextend on next 64M maxsize unlimited;

create tablespace ZCDATA
datafile '/home/oracle/app/oracle/oradata/orcl/ZCDATA01.dbf'
size 1M autoextend on next 64M maxsize unlimited;

    

查看及修改默认表空间

-- 查看默认表空间
select default_tablespace from user_users;  

-- 修改用户的永久表空间
alter user userName default tablespace tablespaceName;

-- 修改新添加的用户的默认表空间
alter database default tablespace tablespaceName;

-- 查看指定表所在的表空间,如果为DBA,可用 dba_tables
select table_name,tablespace_name from user_tables where tablename='你想要查询的表名';

-- 用户对表空间无权限ora-01950解决办法
grant unlimited tablespace to zsdb;

-- 查看表空间路径
select t1.name,t2.name
from v$tablespace t1,v$datafile t2
where t1.ts# = t2.ts#;

-- 查看字符集
select * from nls_session_parameters --数据库服务器字符集 其来源于props$
select * from nls_database_parameters --客户端字符集环境 其来源于v$parameter
select userenv('language') from dual;

alter system set nls_language='AMERICAN' scope=spfile; 
alter session set nls_language='SIMPLIFIED CHINESE';

--查看数据库版本
select * from v$version

   参考资料:oracle字符集

参考:从ORACLE数据库中导出DMP文件或将DMP文件导入ORACLE数据库的两种操作

将DMP文件导入到ORACLE数据库时,使用imp命令。
1、首先,我们可以先建立自己的一个用户表空间,创建表空间的格式如下:
create tablespace test(表空间的名字) 
datafile 'D:oracleproduct10.2.0userdata	est.dbf'  (这边可以写成oracle的某个路径下)
size 50m  (初始大小)
autoextend on;(自动扩展)

2、接下来,我们可以创建一个自己的用户,创建格式如下:
CREATE USER utest (用户名) 
IDENTIFIED BY upassword(密码)
DEFAULT TABLESPACE test(上面创建的表空间) 
TEMPORARY TABLESPACE temp;(临时表空间就写temp即可)

3、然后,我们需要给自己的用户赋予权限来管理自己的表空间
GRANT CONNECT TO utest;  
GRANT RESOURCE TO utest;  
GRANT dba TO utest;--dba为最高级权限,可以创建数据库,表等。 

以上三条语句的执行环境都需要进入oralce之后
cmd下进入oracle的方式
sqlplus system/密码      回车即可

4、接下来我们就可以将我们的dmp文件导入到我们自己的表空间中了,导入方式
imp usename/password@SID full=y  file= d:dataxxxx.dmp ignore=y

导入实例
imp utest/upassword  file=D:20140227.dmp full=y ignore=y (将文件导入到我们自己新建的用户的表空间中)  注意:这条语句的执行环境是刚进命令台时的环境。

  

原文地址:https://www.cnblogs.com/iupoint/p/11365089.html