首页 > 技术文章 > 获取表空间的语句 以及 建表和索引的ddl

feiyun8616 2016-11-10 16:49 原文

 

ORACLE中设置同一个用户对两个表空间的权限的代码

alter user 用户 quota unlimited on 表空间A;
alter user 用户 quota unlimited on 表空间B;
或者放开所有表空间
grant unlimited tablespace to 用户;
或者索性给所有权限
grant resource,connect,dba to 用户;

 

alter session set  container=PHD1;


SET SERVEROUTPUT ON  
SET LINESIZE 1000  
SET FEEDBACK OFF  
set long 999999               
SET PAGESIZE 1000  

select TS#,CON_ID,NAME  from v$tablespace;

--表空间:

   
SQL> SET SERVEROUTPUT ON  
SQL> SET LINESIZE 1000  
SQL> SET FEEDBACK OFF  
SQL> set long 999999               
SQL> SET PAGESIZE 1000  
SQL>  SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DBT_DATA') FROM DUAL;  

DBMS_METADATA.GET_DDL('TABLESPACE','DBT_DATA')
--------------------------------------------------------------------------------

  CREATE TABLESPACE "DBT_DATA" DATAFILE
  '/dtaruatdb/data/dtaruat/pDBtuat/DBt_data_f01.dbf' SI
ZE 2147483648
  AUTOEXTEND ON NEXT 104857600 MAXSIZE 4096M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192

  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DEFAULT
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO;



SQL>SELECT DBMS_METADATA.GET_DDL('TABLESPACE','DBT_IDX') FROM DUAL;  
DBMS_METADATA.GET_DDL('TABLESPACE','DBT_IDX')
--------------------------------------------------------------------------------

  CREATE TABLESPACE "DBT_IDX" DATAFILE
  '/dtaruatdb/data/dtaruat/pDBtuat/DBt_idx_f01.dbf' SIZE
 1073741824
  AUTOEXTEND ON NEXT 104857600 MAXSIZE 4096M
  LOGGING ONLINE PERMANENT BLOCKSIZE 8192
  EXTENT MANAGEMENT LOCAL AUTOALLOCATE DE
FAULT
 NOCOMPRESS  SEGMENT SPACE MANAGEMENT AUTO


 

 

 





---view 定义
SET SERVEROUTPUT ON  
SET LINESIZE 1000  
SET FEEDBACK OFF  
set long 999999               
SET PAGESIZE 1000  
SELECT DBMS_METADATA.GET_DDL('VIEW','DRI_GOB_VOYAGE_BASE_VIEW','testDATA') FROM DUAL; 

 

--TABLE 
set linesize 180
set pages 999
set long 90000
SELECT DBMS_METADATA.GET_DDL('TABLE','TAB_NAME','USER_NAME') FROM DUAL;

#############

Oracle数据库的物理文件可以设置成自动增长的类型, 这样数据库在需要更多空间时, 物理文件会按设定 
的增长量自动增长到指定的最大值. 这样会有一些好处: 保证不会因为分配数据区域(extent)失败而终止应用. 
但如果没有设定这个最大值, 它将会是一个非常大的数字. 数据块大小不同, 其最大值也不一样. 因为Oracle 
的物理文件最大只允许4194303个数据块(datablock).   

    下面列表说明不同数据块数据库所能支持的最大物理文件大小: 
  
    数据块的大小  物理文件的最大值 M 
===============================================   
2048  8191 M 
4096 16383 M 
8192 32767 M 
       16384 65535 M 
        
    不幸的是, 不同操作系统不同Oracle版本对其物理文件的最大值限制是不一样的. 如果物理文件超过了某 
个限制大小, ORACLE数据库将会出现内核错误并崩溃.   

 

 

###########sample 3

 

Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名
https://blog.csdn.net/supper_me/article/details/80936788


https://blog.csdn.net/aoyo/article/details/7406923?utm_source=blogxgwz7

oracle获取表的字段名称、字段类型、长度、注释、主键的sql语句

select distinct A.column_name name,A.data_type datatype,A.data_length,
A.data_precision 整数位, A.Data_Scale 小数位,
A.nullable isnullable,c.column_name constraint_name,d.comments tablename,
B.comments comments from user_tab_columns A,user_col_comments B ,all_cons_columns C,USER_TAB_COMMENTS D
where a.COLUMN_NAME=b.column_name and A.Table_Name = B.Table_Name
and A.Table_Name = D.Table_Name and (A.TABLE_NAME=c.table_name) and
A.Table_Name=’” + name + “‘

 

推荐阅读