- What's New
- Service Overview
- Getting Started
-
User Guide
- Database Evaluation
- Object Migration
- SQL Statement Conversion
- Conversion Configuration
- SQL Audit
- Data Source Management
- Permissions Management
- Interconnection with CTS
- Best Practices
- Security White Paper
-
API Reference
- Before You Start
- API Types
- Calling APIs
-
API
- API Version Management
- Quota Management
- SQL Statement Conversion
- Evaluation Project
-
Migration Project
- Creating a Migration Project
- Querying Migration Projects
- Querying the Status of a Migration Project
- Checking Target Database Permissions
- Querying Permission Check Results
- Querying Migration Project Details
- Submitting Syntax Conversion of Objects
- Querying Syntax Conversion Progress of Objects
- Submitting Verification
- Querying the Verification Progress
- Downloading a Migration Error Report
- Deleting a Migration Project
- Permissions Policies and Supported Actions
- Appendixes
- SDK Reference
-
FAQs
-
Product Consulting
- Instance Freezing, Release, and Deletion
- Which Schemas in Source Databases Are Ignored for Migration?
- What Are the Differences Between Syntax Conversion and Migration & Verification in a Migration Project?
- What Are the Database Schema Changes After an Oracle Database Is Migrated to the Target Database?
- Why Cannot I Use Some Functions?
- What Is the Function of the dsc_ora_ext Schema Generated After Migration to the Target Database?
- What Should I Do If Data Collection Fails or Is Slow Due to the Small Values of Certain Oracle SGA Parameters?
- What Should I Do If Data Collection Fails and a Message SNAPSHOT TOO OLD Is Displayed?
- What Is the Mapping Between the GaussDB Versions Displayed on the UGO Console and Self-built GaussDB Versions?
- What Are VPCEP Resource Quotas?
-
Database Connections
- What Should I Do If I Cannot Connect to the Source Oracle Database During Database Evaluation Project Creation?
- What Should I Do If I Failed To Connect to the Source Database as User sys?
- How Do I Create GaussDB Databases Compatible with Source Databases?
- What Should I Do If My Database Fails to be Connected?
- SQL Server Connection Test Failed (Error Code=0, SQLState=08S01)
-
Evaluation Project
- How Do I Select a Connection Method?
- How Does UGO Collect Data from Source Databases?
- How Does UGO Check Database Permissions?
- What Are the Possible Causes for an Object Collection Failure?
- In GaussDB, How Do I Configure a Search Path If A Statement Without Schema Name Fails To Be Executed?
- What Is Native Compatibility, Conversion Compatibility, Partial Compatibility, or Incompatibility?
- What Is the Relationship Between Migration Risk (Top 10 risk SQL) and Risky SQL Summary?
- What Are Reconstruction Statistics and How Are Reconstruction Points Measured?
- What Should I Do If An Object Collection Error (Closed Connection) Is Displayed During Evaluation Project Creation?
- What Should I Do If "ErrorCode=4036" Is Displayed During Evaluation Project Creation?
- What Should I Do If "ErrorCode=17002" Is Displayed During Evaluation Project Creation?
- What Do I Do If the Assessment Task Is Connected but the Pre-check Fails?
- What Is the Impact of the Collection on the Source Database?
-
Migration Project
- Why Is There No Available Evaluation Project During Migration Project Creation?
- When Should I Use the Conversion Config Function?
- What Should I Do If SQL Modifications Failed to Be Saved During Object Correction?
- How Do I Solve ERROR: syntax error at or near "@"?
- What Are the Possible Causes for an Object Verification Failure?
- What Are the Impacts of GUC Parameter Settings of GaussDB on Migration?
- How Do I Set GaussDB GUC Parameters?
- Why Is the Number of Indexes Different After Oracle Data is Migrated to GaussDB?
- What Should I Do If There Are ctid, xc_node_id, and tableoid Columns in GaussDB?
- Why Is Data Inconsistent When SELECT Statements Without ORDER BY Are Used for Query in Distributed GaussDB?
-
Product Consulting
- Videos
- General Reference
Copied.
How Does UGO Collect Data from Source Databases?
Oracle as the Source Database Type
Unless otherwise specified, DDL information about Oracle objects is obtained using the DBMS_METADATA.get_ddl system package function.
The basic information about an object is obtained from system views, which consists of DBA views and All views. The following uses the All views as an example.
INDEX: During index collection, all constraint information is queried from the ALL_INDEXES view, filter out the indexes that are created based on primary keys or unique key constraints. (If an index is created before a constraint is created and the constraint name is the same as the index name, the index will not be collected.)
PostgreSQL as the Source Database Type
UGO uses the following method to collect each object of the source database.
- SCHEMA: Run CREATE SCHEMA schema name;
- TABLE: Query the pg_catalog.pg_attribute, pg_catalog.pg_class, pg_catalog.pg_namespace, and pg_inherits system views to obtain the table name, field name, field type, and table partition information, and run the CREATE TABLE statement. Information about generated columns, table constraints, and foreign key constraints is not collected.
- INDEX: Query the pg_indexes view to obtain the indexdef field and run the CREATE INDEX statement.
- VIEW: Query the pg_views view to obtain the definition field and run the CREATE VIEW statement.
- FUNCTION/PROCEDURE: Use pg_get_functiondef to obtain the CREATE FUNCTION and CREATE PROCEDURE statements.
Note that pg_get_functiondef cannot process aggregate functions. User-defined aggregate functions cannot be collected.
- TRIGGER: Use pg_get_functiondef to obtain the trigger function definition, use pg_get_triggerdef to obtain the CREATE TRIGGER statement, and run the CREATE TRIGGER statement.
There are no specific methods for object DDL collection in PostgreSQL. The DDLs of some objects are obtained by querying metadata. As a result, the collected DDL information may be inconsistent with the DDL information in the source database, or even the information may be missing.
If the collected DDLs cannot meet your requirements, you can use pg_dump or a third-party database client tool to obtain object DDLs, and then convert the SQL statements.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot