oracle:手动同步数据库

文章目录


oracle:手动同步数据库

一、查询有哪些表空间(原库执行)

sql 复制代码
SELECT tablespace_name, status, contents, logging 
FROM dba_tablespaces 
ORDER BY tablespace_name;

二、生成创建表空间的语句(原库执行)

sql 复制代码
SELECT 
    'CREATE TABLESPACE ' || tablespace_name || ' ' ||
    'DATAFILE ''' || file_name || ''' ' ||
    'SIZE ' || ROUND(bytes/1024/1024, 0) || 'M ' ||
    'AUTOEXTEND ' || 
    CASE WHEN autoextensible = 'YES' 
         THEN 'ON NEXT ' || increment_by*8192/1024/1024 || 'M ' ||
              'MAXSIZE ' || 
              CASE WHEN maxbytes = 0 THEN 'UNLIMITED'
                   ELSE ROUND(maxbytes/1024/1024, 0) || 'M'
              END
         ELSE 'OFF'
    END || ';' AS create_tablespace_sql
FROM dba_data_files
ORDER BY tablespace_name, file_name;

三、查询现有的表空间的数据文件位置(现库执行)

sql 复制代码
--查询现有的表空间的数据文件位置
SELECT file_name, tablespace_name FROM dba_data_files;

四、创建表空间(现库执行)

将使用到原库的表空间都创建上

sql 复制代码
CREATE TABLESPACE 表空间名 DATAFILE 'D:\INSTALL\ORACLE\APP\xx\ORADATA\ORCL\文件名.DBF' SIZE 100M AUTOEXTEND ON NEXT 50M MAXSIZE 5120M;

五、创建用户(现库执行)

sql 复制代码
CREATE USER 用户名
IDENTIFIED BY "密码"
DEFAULT TABLESPACE 表空间名
TEMPORARY TABLESPACE TEMP;

六、授予角色与系统权限(现库执行)

sql 复制代码
GRANT CONNECT, RESOURCE TO 用户名;
GRANT CREATE SESSION TO 用户名;
ALTER USER 用户名QUOTA UNLIMITED ON 表空间名;

七、导出表结构(原库执行,DBeaver工具操作)

sql 复制代码
CREATE TABLE "ENT"."DM_BAS_CUSTOMER" 
   (	"OWNER_ID" NVARCHAR2(11), 
	"CUSTOMER_ID" NVARCHAR2(11) NOT NULL ENABLE, 
	"CREATE_BY" NVARCHAR2(64), 
	"CREATE_AT" DATE DEFAULT sysdate NOT NULL ENABLE, 
	"UPDATE_BY" NVARCHAR2(64), 
	"UPDATE_AT" DATE DEFAULT sysdate NOT NULL ENABLE, 
	 CONSTRAINT "SYS_C00173548" CHECK ("CUSTOMER_ID" IS NOT NULL) ENABLE, 
	 CONSTRAINT "SYS_C00173549" CHECK ("CREATE_AT" IS NOT NULL) ENABLE, 
	 CONSTRAINT "SYS_C00173550" CHECK ("UPDATE_AT" IS NOT NULL) ENABLE
   ) SEGMENT CREATION DEFERRED 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE( INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "TS_ENT" ;

COMMENT ON TABLE ENT.DM_BAS_CUSTOMER IS '客户档案';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.OWNER_ID IS '货主ID';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.IS_ENABLE IS '是否启用';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.CREATE_BY IS '创建者';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.CREATE_AT IS '建立时间';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.UPDATE_BY IS '修改者';
COMMENT ON COLUMN ENT.DM_BAS_CUSTOMER.UPDATE_AT IS '更新时间';

八、执行以上SQL(现库执行,DBeaver工具操作)

九、数据导出(原库执行,DBeaver工具操作)

九、数据导入(现库执行,DBeaver工具操作)

十、完成,优缺点说明

优点:灵活,手动操作,知根知底

缺点:每个表都要操作一次,繁琐。

相关推荐
努力攻坚操作系统11 小时前
ClickHouse详细教程
大数据·数据库·clickhouse
admin and root11 小时前
Blade站点的渗透测试到MySQL数据库权限接管
数据库·mysql·web安全·渗透测试·移动安全·培训·src赏金
Elastic 中国社区官方博客11 小时前
Elasticsearch:跨数据库与业务系统进行搜索
大数据·数据库·人工智能·elasticsearch·搜索引擎·全文检索
Lao A(zhou liang)的菜园11 小时前
深入理解Oracle Checkpoint
数据库·oracle
Lao A(zhou liang)的菜园11 小时前
Oracle 增量检查点(Incremental Checkpoint)I/O 优化方案
数据库·oracle
这个DBA有点耶12 小时前
SQL中的窗口函数进阶:滑动窗口与帧子句详解
数据库·sql·程序人生·mysql·oracle·学习方法·改行学it
tongyiixiaohuang12 小时前
跨平台数据库集成:SQLServer到MySQL的最佳实践
数据库·mysql·sqlserver
Undergoer_TW12 小时前
Colmap 进军嵌入式:SQLite 数据库从崩溃退出到自动治愈
jvm·数据库·sqlite
徐sir(徐慧阳)12 小时前
记一次麒麟 oracle 12c RAC安装迁移全过程
数据库·oracle