签到成功

知道了

CNDBA社区CNDBA社区

Oracle 数据库迁移创建源库表空间 SQL语句

2021-10-07 22:19 1136 0 原创 oracle
作者: hbhe0316

1.创建测试表空间

http://www.cndba.cn/hbhe0316/article/4902
http://www.cndba.cn/hbhe0316/article/4902

SQL> create tablespace tbs01 logging datafile '/oradata/orcl/tbs01.dbf' size 100m autoextend on next 50m maxsize 2048m extent management local;

Tablespace created.

2 创建c##hbhe用户并指定表空间

http://www.cndba.cn/hbhe0316/article/4902
http://www.cndba.cn/hbhe0316/article/4902

SQL> create user c##hbhe identified by wwwwww default tablespace tbs01 temporary tablespace TEMP1 profile default;

User created.

3 给c##hbhe用户授予权限

http://www.cndba.cn/hbhe0316/article/4902

SQL> grant connect,resource to c##hbhe;

Grant succeeded.

SQL> grant dba to c##hbhe;

Grant succeeded.

4.首先通过用户来获取迁移需要的表空间名称,注意,这里的C##HBHE必须大写http://www.cndba.cn/hbhe0316/article/4902

http://www.cndba.cn/hbhe0316/article/4902
http://www.cndba.cn/hbhe0316/article/4902

SQL> SELECT distinct ''''|| t.tablespace_name||''',' From dba_segments t WHERE t.owner in ('C##HBHE') and t.tablespace_name not in ('USERS','SYSTEM');

5.将第4步获取的表空间名称带入如下http://www.cndba.cn/hbhe0316/article/4902

http://www.cndba.cn/hbhe0316/article/4902

SQL> SELECT 'CREATE TABLESPACE ' ||D.TABLESPACE_NAME|| ' datafile ''/oradata/orcl/' ||LOWER(D.TABLESPACE_NAME)||'01.dbf'''|| ' size '|| 
case when (D.total_gb - F.free_gb) > 30 then 30 else round(D.total_gb - F.free_gb + 2) end ||'G autoextend off  EXTENT MANAGEMENT LOCAL;' 
  FROM (SELECT TABLESPACE_NAME,
               ROUND(SUM(BYTES) / (1024 * 1024 * 1024), 2) free_gb
          FROM SYS.DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) F,
       (SELECT DD.TABLESPACE_NAME,
               ROUND(SUM(DD.BYTES) / (1024 * 1024 * 1024), 2) total_gb
          FROM SYS.DBA_DATA_FILES DD
         GROUP BY DD.TABLESPACE_NAME) D
 WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+)
 AND D.TABLESPACE_NAME IN ('TBS01');
'CREATETABLESPACE'||D.TABLESPACE_NAME||'DATAFILE''/ORADATA/ORCL/'||LOWER(D.TABLE
--------------------------------------------------------------------------------
CREATE TABLESPACE TBS01 datafile '/oradata/orcl/tbs0101.dbf' size 2G autoextend
off  EXTENT MANAGEMENT LOCAL;

版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux,oracle

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:2698164次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ