获取表空间的语句 以及 建表和索引的ddl

时间:2023-03-08 20:17:57
获取表空间的语句 以及 建表和索引的ddl

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
SET FEEDBACK OFF
set long
SET PAGESIZE select TS#,CON_ID,NAME from v$tablespace; --表空间: SQL> SET SERVEROUTPUT ON
SQL> SET LINESIZE
SQL> SET FEEDBACK OFF
SQL> set long
SQL> SET PAGESIZE
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
AUTOEXTEND ON NEXT MAXSIZE 4096M
LOGGING ONLINE PERMANENT BLOCKSIZE 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 AUTOEXTEND ON NEXT MAXSIZE 4096M
LOGGING ONLINE PERMANENT BLOCKSIZE
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数据库将会出现内核错误并崩溃.