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工具操作)

十、完成,优缺点说明

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

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

相关推荐
ClouGence1 天前
当 AI 开始直接操作数据库,传统数据库管理工具还有必要吗?
数据库·后端·agent
渣渣盟1 天前
误删数据之后:MySQL、PostgreSQL、Oracle三库紧急恢复完全实操手册
mysql·postgresql·oracle
Hugh-Yu-1301231 天前
zhangxuefeng-skill配置教程
数据库
布莱克6051 天前
理解B+树:原理、特性与应用场景
数据结构·数据库·mysql
冰暮流星1 天前
mysql之排序查询
数据库·mysql
7177771 天前
让权限治理成为可复制资产:Gitee Team 空间配置方案与安全级别落地详解
数据库·gitee
今天AI了吗1 天前
Agent & AI 名词大扫盲
数据库·人工智能·python·sql·rust
葡萄城技术团队1 天前
告别宽表拖拽:SpreadJS 如何让 Web 表格承接 Excel 操作习惯
数据库·html·excel
2603_966437261 天前
格式化之后数据还能恢复吗?说清恢复条件
linux·运维·数据库
倔强的石头1061 天前
时序数据库的难题不只在写入速度
数据库·时序数据库