Quantcast
Channel: Helios's Blog
Viewing all 52 articles
Browse latest View live

RMAN backup end with ORA-19809 ORA-19804 RMAN-03009 errors

$
0
0

I faced with that issue on 11.2.0.4 db which is running on Exadata machine.

RMAN backup to disk failed with below error messages:

ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 2144337920 bytes disk space from 3221225472000 limit
RMAN-03009: failure of backup command on t4 channel at time_here


By default RMAN backup goes to Flash Recovery Area if it is set . Whenever there is space pressure, the RDBMS will try to delete obsolete backups in FRA in order to make more space. In case its not able to make more space and required space exceeds the limit of flash recovery area then its fails with those error message.

Its because of the FRA’s space limit. Flash Recovery Area has a defined size when the required space exceed the limit of the FRA those errors are expected.

You can check and to determine the disk quota and current disk usage in the flash recovery area, query the view
V$RECOVERY_FILE_DEST.

Here is the solutions:

– Increase the size of FRA
SQL> alter system set db_recovery_file_dest_size=xxxxG SCOPE=BOTH; — Higher_size

– Take a backup of FRA to tape
RMAN> BACKUP RECOVERY AREA;

By the way sizing the flash recovery area is described in detail in the below notes&MOS:
– RMAN backup to Flash Recovery Area failed with ORA-19809 , ORA-19804 or ORA-19815 (Doc ID 831225.1)
– 10g Database Backup and Recovery Basics guide ( http://download.oracle.com/docs/cd/B19306_01/backup.102/b14192/rpfbdb003.htm#BABJJCHF )
– 11g Backup and Recovery User’s Guide ( http://download.oracle.com/docs/cd/B28359_01/backup.111/b28270/rcmconfb.htm#BRADV89422 )



catupgrd.sql end with Segmentation fault (core dumped) error during 11g Upgrade

$
0
0

I face with that issue during 10.2.0.5 to 11.2.0.3 database upgrade. My os is : SUN-Sparc x86-64

Here is the steps:

1. Set 11R2 Oracle_home

2. Open 10.2.0.5 database

sqlplus “/as sysdba”

SQL*Plus: Release 10.2.0.5.0 – Production

Copyright (c) 1982, 2010, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> startup UPGRADE

ORACLE instance started.

Total System Global Area 1253031936 bytes
Fixed Size 2158896 bytes
Variable Size 822087376 bytes
Database Buffers 419430400 bytes
Redo Buffers 9355264 bytes
Database mounted.
Database opened.

SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql

The below error is received while running catupgrd.sql script

SQL> set errorlogging on table sys.registry$error;
SP2-0735: unknown SET option beginning “errorloggi…”
SQL> set errorlogging on identifier ‘RDBMS’;

SQL> insert into props$ (name, value$, comment$)
2 (select ‘DEFAULT_PERMANENT_TABLESPACE’, ‘SYSTEM’,
3 ‘Default Permanent Tablespace ID’ from dual
4 where ‘DEFAULT_PERMANENT_TABLESPACE’ NOT IN
5 (select name from props$ where name = ‘DEFAULT_PERMANENT_TABLESPACE’));

Segmentation fault (core dumped)

There was no any other error on trc file or alertlog.

After investigate issue I found MOS Segmentation fault (core dumped) – Upgrade to 11.2.0.2 (Doc ID 1401297.1)

Here is the steps:
Set environment variable for LD_LIBRARY_PATH to 11.2.0.2 or TARGET DATABASE
export LD_LIBRARY_PATH=/<path to the 11.2 Oracle_Home>/lib

Connect to 11gR2 database as sysdba and Start upgrade

SQL> sqlplus “/ as sysdba”
SQL> startup upgrade
SQL> @$ORACLE_HOME/rdbms/admin/catupgrd.sql


Snapshot Standby Database Feature

$
0
0

As a DBA, many time We need to make some tests on our databases(such as performance, load test etc… ) Many times its very hard to create same setup to get correct result for our tests.

For this purpose Oracle database can support Guaranteed Restore points feature . And now If you have dataguard system than you can use also snapshot standby database feature for your test purposes.

We can convert existing physical standby database to snapshot standby database which is as close as to the production database.  Snapshot standby database can  be open in write/open mode.

After related tests have been done,We can  convert snapshot standby database to physical standby database easily in minutes.

What Is a Snapshot Standby Database?
A snapshot standby database is a fully updateable standby database created by converting a physical standby database into a snapshot standby database.

A snapshot standby database receives and archives, but does not apply, redo data from a primary database. The redo data received from the primary database is applied once a snapshot standby database is converted back into a physical standby database, after discarding all local updates to the snapshot standby database.
A snapshot standby can be created from Enterprise Manager, the Data Guard Broker command-line interface (DGMGRL) or from SQL*Plus.

In this case I will use SQL*Plus

Step A:.
On Primary db stop log apply:

primarydb> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=DEFER SID='*' scope=spfile;
System altered.

On Standby db :

standby> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
Database altered.

Step B:
Follow below steps on standby db:

standby> SHUTDOWN IMMEDIATE;
standby> STARTUP MOUNT;
standby> ALTER DATABASE FLASHBACK ON;
standby> ALTER DATABASE CONVERT TO SNAPSHOT STANDBY;

PS: You can also create restore point in this steps..Its optional

standby> CREATE RESTORE POINT GUARANTEE_POINT GUARANTEE FLASHBACK DATABASE;
SQL> select open_mode from v$database;
OPEN_MODE
--------------------
MOUNTED

SQL> alter database open;
Database altered.

SQL> select open_mode from v$database;
OPEN_MODE
--------------------
READ WRITE

Step C:
Do your test on Snapshot standby database

Step D:
Convert snapshot standby database to physical standby database.

standby> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
ERROR at line 1:
ORA-01126: database must be mounted in this instance and not open in any instance
standby> SHUTDOWN IMMEDIATE;

standby> STARTUP MOUNT;
standby> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
standby> ALTER DATABASE FLASHBACK OFF;

SQL> ALTER DATABASE FLASHBACK OFF;
ALTER DATABASE FLASHBACK OFF
*
ERROR at line 1:
ORA-01507: database not mounted


SQL> select open_mode from v$database;
select open_mode from v$database
 *
ERROR at line 1:
ORA-01507: database not mounted

SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-00750: database has been previously mounted and dismounted

SQL> shutdown immediate;
ORA-01507: database not mounted


SQL> startup mount;
ORACLE instance started.

SQL> ALTER DATABASE FLASHBACK OFF;
Database altered.

Step D:
Check parameters Kontroller yapılır

SQL> select database_role from v$database;

DATABASE_ROLE
----------------
PHYSICAL STANDBY
On Primary db:
primary> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SID='*' scope=spfile;
System altered.
On Standby db
standby> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT;

ORA-02236: invalid file name

$
0
0

I face wiht this issue when try to add standby file on standalone 11.2.0.1 database with ASM on AIX operating system:

Symptoms:

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 size 5G;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 size 5G
*
ERROR at line 1:
ORA-02236: invalid file name

SQL> show parameter DB_CREATE_FILE_DEST

NAME                                                   TYPE                         VALUE
———————————— ———– ——————————
db_create_file_dest                     string

Solution:

SQL> alter database add standby logfile size 5G;

Database altered.


My Oracle Cloud Computing Presentation

$
0
0

Cloud Computing is the most important topics those days.

I used that Presentation on my speech at Yeditepe university. Now time to share it with my followers.

So here is the my Cloud Computing Presentation

Hope you enjoy it!

Cloud_Computing


12cR2 Image is available on Oracle Cloud

ORA-29516: Aurora assertion failure: Assertion failure at joez.c:1635

$
0
0

If you are using RMI connection than possibly this error should be familiar…

We face with that error after  our 10.2.0.5 to 11.2.0.4.6 upgrade. Some of functions just stopped. Those functions are use RMI connection and return some value from one other database.

After reboot database, function started to run again. After made some research I found the root cause.

Here is the steps;

Complete error is:

Errors in file /XXX/trace/DB_NAME_m000_13318.trc:
ORA-29516: Aurora assertion failure: Assertion failure at joez.c:1635
jom-* object not found on intern-table lookup

In trace file we see:

*** Dumping OJVM call stack
*** Java stack trace for the active thread
at oracle.aurora.zephyr.vm.VMClass.isSubtypeOf(VMClass.java:-2)
at oracle.aurora.zephyr.analysis.OptimizationProfile$IntraProceduralBlockAnalyzer.apply(OptimizationProfile.java:618)
at oracle.aurora.zephyr.BasicBlock.mapDFS(BasicBlock.java:3552)
at oracle.aurora.zephyr.analysis.OptimizationProfile.analyzeInstructions(OptimizationProfile.java:558)
at oracle.aurora.zephyr.analysis.OptimizationProfile.<init>(OptimizationProfile.java:547)
at oracle.aurora.zephyr.analysis.OptimizationProfile.ensureOptimizationProfile(OptimizationProfile.java:432)
at oracle.aurora.zephyr.bytecode.ByteCodeToMIR.translateMethod(ByteCodeToMIR.java:1048)
at oracle.aurora.zephyr.bytecode.ByteCodeToMIR.translateMethod(ByteCodeToMIR.java:4872)
at oracle.aurora.zephyr.JITDriver.jitMethod(JITDriver.java:130)
at oracle.aurora.zephyr.JITDriver.jitMethod(JITDriver.java:76)
at oracle.aurora.vm.OracleRuntime.jitOneMethod(OracleRuntime.java:-2)
at oracle.aurora.vm.OracleRuntime.jitSomeMethods(OracleRuntime.java:-3)
*** Dumping machine code for on-stack JIT-compiled methods
Dumping native code for method oracle/aurora/vm/OracleRuntime.jitSomeMethods:(I)I :
Platform disassembler unavailable; dumping raw instruction memory
Code start at: 0x79c00048

So, For investigate issue I have been followed below notes&steps:

1. Script output from below Note to check the status of JVM within Database.
Note.456949.1 Script to Check the Status of the JVM within the Database

2. JIT status from below query :
select name,value from v$parameter where name=’java_jit_enabled’;

For step 1 there is no issue
For step 2 my setting is TRUE which is Operating system-dependent.

Issue with the JVM . The JVM is inside the database.

Once the database is restarted the PGA memory will clear out and hence it starts working.

To prevent this I set this parameter from TRUE to false

 


CLSRSC-175 & CLSRSC-594

$
0
0

We faced with that issue while we are trying to install Oracle12cR2 database on Solaris 11
While we tried to install grid software on solaris root.sh ended by below syntax:

DATE CLSRSC-4001: Installing Oracle Trace File Analyzer (TFA) Collector.
DATE CLSRSC-4002: Successfully installed Oracle Trace File Analyzer (TFA) Collector.
DATE CLSRSC-594: Executing installation step 2 of 19: 'ValidateEnv'.
DATE CLSRSC-175: Failed to write the checkpoint 'ROOTCRS_STACK' with status 'START' (error code 1)
DATE CLSRSC-177: Failed to add (property/value):('VERSION'/'12.2.0.1.0') for checkpoint 'ROOTCRS_STACK' (error code 1)
DATE CLSRSC-363: User ignored prerequisites during installation
DATE CLSRSC-594: Executing installation step 3 of 19: 'CheckFirstNode'.
DATE CLSRSC-594: Executing installation step 4 of 19: 'GenSiteGUIDs'.
DATE CLSRSC-594: Executing installation step 5 of 19: 'SaveParamFile'.
DATE CLSRSC-175: Failed to write the checkpoint 'ROOTCRS_PARAM' with status 'START' (error code 1)
DATE  CLSRSC-594: Executing installation step 6 of 19: 'SetupOSD'.
DATE CLSRSC-594: Executing installation step 7 of 19: 'CheckCRSConfig'.
DATE CLSRSC-594: Executing installation step 8 of 19: 'SetupLocalGPNP'.
DATE CLSRSC-175: Failed to write the checkpoint 'ROOTCRS_GPNPSETUP' with status 'START' (error code 1)
DATE CLSRSC-175: Failed to write the checkpoint 'ROOTCRS_GPNPSETUP' with status 'SUCCESS' (error code 1)
DATE CLSRSC-175: Failed to write the checkpoint 'ROOTCRS_GPNPSETUP' with status 'SUCCESS' (error code 1)
DATE  CLSRSC-175: Failed to write the checkpoint 'ROOTCRS_STACK' with status 'FAIL' (error code 1)
Died at /u01/app/12.2.0/grid/crs/install/crsutils.pm line 4120.
The command '/u01/app/12.2.0/grid/perl/bin/perl -I/u01/app/12.2.0/grid/perl/lib -I/u01/app/12.2.0/grid/crs/install /u01/app/12.2.0/grid/crs/install/rootcrs.pl ' execution failed

After made some search on metalink there is a bug for 12cR1 release which is related to gris user permisson on installation path.

I followed:
root.sh fails with CLSRSC-46 CLSRSC-175 as su command to grid user not working (Doc ID 2017629.1)

Below command runs without any issue:
root@node1:/tmp# /bin/su oracle -c ' echo CLSRSC_START; pwd '
CLSRSC_START
/tmp

We run runcluvfy.sh to be sure our setups are correct.

/u01/app/12.2.0/grid/runcluvfy.sh stage -pre crsinst -n node1,node2 -fixup -verbose

It fails with below erros:

checking response for name "node1" from each of the name servers specified
 in "/etc/resolv.conf"

Node Name Source Comment Status
 ------------ ------------------------ ------------------------ ----------
 node1 10.x.x.x IPv4 failed
 node1 10.x.x.x IPv4 failed
 node1 10.x.x.x IPv4 failed

checking response for name "node2" from each of the name servers specified
 in "/etc/resolv.conf"

Node Name Source Comment Status
 ------------ ------------------------ ------------------------ ----------
 node2 10.x.x.x IPv4 failed
 node2 10.x.x.x IPv4 failed
 node2 10.x.x.x IPv4 failed
 Verifying (SunOS) resolv.conf Integrity ...FAILED (PRVG-10048)

Verifying resolv.conf Integrity ...FAILED
node2: PRVG-10048 : Name "node2" was not resolved to an address of the
 specified type by name servers o"10.x.x.x".
node2: PRVG-10048 : Name "node2" was not resolved to an address of the
 specified type by name servers o"10.x.x.x ".
node2: PRVG-10048 : Name "node2" was not resolved to an address of the
 specified type by name servers o"10.x.x.x".
node2: Check for integrity of file "/etc/resolv.conf" failed


node1: PRVG-10048 : Name "node1" was not resolved to an address of the
 specified type by name servers o"10.x.x.x".
node1: PRVG-10048 : Name "node1" was not resolved to an address of the
 specified type by name servers o"10.x.x.x ".
node1: PRVG-10048 : Name "node1" was not resolved to an address of the
 specified type by name servers o"10.x.x.x".
node1: Check for integrity of file "/etc/resolv.conf" failed


 Verifying (SunOS) resolv.conf Integrity ...FAILED
 node2: PRVG-10048 : Name "node2" was not resolved to an address of the
 specified type by name servers o"10.x.x.x".
 node2: PRVG-10048 : Name "node2" was not resolved to an address of the
 specified type by name servers o"10.x.x.x ".
 node2: PRVG-10048 : Name "node2" was not resolved to an address of the
 specified type by name servers o"10.x.x.x".

node1: PRVG-10048 : Name "node1" was not resolved to an address of the
 specified type by name servers o"10.x.x.x".
 node1: PRVG-10048 : Name "node1" was not resolved to an address of the
 specified type by name servers o"10.x.x.x ".
 node1: PRVG-10048 : Name "node1" was not resolved to an address of the
 specified type by name servers o"10.x.x.x".

Similar issue mention MOS note:
11.2 Grid Install Fails with SEVERE: [FATAL] [INS-13013], and PRVF-5640 or a Warning in “Task resolv.conf Integrity” (Doc ID 1271996.1)

  • Our resolv.conf seems fine,
  • Our /etc/hosts has correct entery
  • Our /etc/nsswitch.conf file is –> “hosts:  files dns”  which mean check first /etc/hosts file than go dns)

We started to digging logs… I checked below log first:

I checked rootcrs.log
tail -100f  $GRID_HOME/crsdata/node1/crsconfig/rootcrs_node1_DATE.log

This log bring me to below log:
more /u01/app/grid/crsdata/node1/crsconfig/cluutil3.log

In that log I noticed below line:

[main] [ DATE ] [ClusterwareCkpt.:162] UnknownHostException caught
Complete log:
[ DATE ] [nativesystem.OCRNative.Native] JNI: error = Error retrieving ocrconfig_loc property.
[main] [ DATE ] [nativesystem.OCRNative.Native] getConf: procr_get_conf failed: invalid configuration
[main] [ DATE ] [OCR.isCluster:1059] OCR Result status = false
[main] [ DATE ] [OCR.isCluster:1066] error Message = [Ljava.lang.String;@64b8f8f4
[main] [ DATE ] [Cluster.isCluster:234] Failed to detect cluster: Error retrieving ocrconfig_loc property.
Failed to detect cluster: Error retrieving ocrconfig_loc property.
oracle.ops.mgmt.cluster.Cluster.isCluster(Cluster.java:283)
oracle.ops.mgmt.cluster.Cluster.isCluster(Cluster.java:223)
oracle.cluster.util.SRVMContext.init(SRVMContext.java:123)
oracle.cluster.util.SRVMContext.init(SRVMContext.java:84)
oracle.ops.util.ClusterUtil.main(ClusterUtil.java:301)
[main] [ DATE ] [SRVMContext.init:126] No CRS configuration found
[main] [ DATE ] [ClusterUtil.parseArgs:138] m_ckpt=true
[main] [ DATE ] [ClusterUtil.parseArgs:139] m_copy=false
[main] [ DATE ] [ClusterUtil.parseArgs:140] m_isshared=false
[main] [ DATE ] [ClusterUtil.parseArgs:141] m_exec=false
[main] [ DATE ] [ClusterUtil.parseArgs:142] m_rmFile=false
[main] [ DATE ] [ClusterUtil.parseArgs:143] m_help=false
[main] [ DATE ] [ClusterwareCkpt.:162] UnknownHostException caught
[main] [ DATE ] [ClusterUtil.main:338] node1: DNS server failure [response code 2]
oracle.ops.util.ClusterwareCkpt.(ClusterwareCkpt.java:163)
oracle.ops.util.ClusterUtil.execute(ClusterUtil.java:157)
oracle.ops.util.ClusterUtil.main(ClusterUtil.java:332)

So problem is clearly related with DNS… I checked /etc/hosts file one more times and it was correct. In 11g we dont need to register IPs to DNS.. But seems its neccessary for 12cR2.
After We register our IPs to DNS root.sh has been ended without any issue.



ORA-02249 when using DBCA on exadata

$
0
0

We have x6-2 Exadata machine. When trying to create a single-instance database on one of the database nodes on Exadata system by using DBCA it throws :

ORA-02249 – missing or invalid value for MAXLOGMEMBERS.

For testing, I can create  RAC database without any issue.
My steps are:

1) Start DBCA
2) Select Create Single Instance DB
3) Select OLTP database, 2×2
4) Provide the required values to create the database
5) database creation fails with ORA-02249 – missing or invalid value for MAXLOGMEMBERS.

After made search at metalink, I found this is bug 10403920 .

You need to use the Custom database or General Purpose choose instead. After choose Custum database, DBCA has been ended without any issue.

Reference:
DBCA Errors with ORA-02249 When Creating Single-instance Database On Exadata (Doc ID 1456161.1)

 

 

 


How to Create Oracle 11g Database Manually on Linux

$
0
0

As you know dbca is a utility for create database. But if you get issue on x11 than you may need to create database manually.

My current setup versions are

db version –> 11.2.0.4
grid version –> 12.1.0.2
Os version –> RHEL 7

Here is the steps:

1. Create adump folder

mkdir -p /u01/app/oracle/admin/DB_SID/adump

2. Create init file such as :

*.audit_file_dest=’/u01/app/oracle/admin/DB_SID/adump’
*.audit_trail=’db’
*.compatible=’11.2.0.4.0′
*.db_block_size=8192
*.db_create_file_dest=’+DATA’
*.db_domain=”
*.db_name=’DB_SID’
*.diagnostic_dest=’/u01/app/oracle’
*.dispatchers='(PROTOCOL=TCP) (SERVICE=DB_SIDXDB)’
*.open_cursors=300
*.pga_aggregate_target=1G
*.processes=1500
*.remote_login_passwordfile=’EXCLUSIVE’
*.sessions=1655
*.sga_target=6G
*.undo_tablespace=’UNDOTBS1′
3. Prepare database creation script:

You can change those params for your env.

CREATE DATABASE “DB_SID”
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 1000
MAXINSTANCES 1
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ‘+DATA’ SIZE 2048M,
GROUP 2 ‘+DATA’ SIZE 2048M,
GROUP 3 ‘+DATA’ SIZE 2048M
DATAFILE
‘+DATA’ size 1000m,
‘+DATA’ size 1000m
sysaux datafile ‘+DATA’ size 1000m
undo tablespace UNDOTBS1
datafile ‘+DATA’ size 500m
CHARACTER SET AL32UTF8;

4. Follow below steps:

$ export ORACLE_SID=DB_SID
cd $ORACLE_HOME/rdbms/admin

$ sqlplus / as sysdba

SQL> @DB_SID_Create.sql
Database created.

SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql

SQL> CREATE TEMPORARY TABLESPACE TEMP2 TEMPFILE ‘+ORAFRA’ SIZE 25600M AUTOEXTEND OFF EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

SQL> show parameter control << take this info and put it in init.ora file SQL> shutdown immediate;

SQL> create spfile from pfile;
SQL> startup;


About Devart Company Products Part I

$
0
0

I got the email from Devart company which is founded in 1997.  They Have Lots of Products which are related many fields in IT.  If you click the product list on their page, You will see lots of products are available for many different usages.

For Checking Devart company and their products, the main link click here.

I am dba, so I just download and make some tests which are related to Oracle Database. There are some tools also available for Mongo&SQL server etc. under.

I tested some tool which is under dbForge Tools for Oracle side. Here is the link

Devart Suggest 3 tools for us.

1 – Schema Compare

If you have many databases and If you need to compare schemas, in the same database or dev to test object related compare it is an easy way to use this tool. Its also allows generating customized Oracle schema synchronization script. The tool is safe, easy to manage and has a user-friendly interface.

For demo please click here

2 – Data Compare

It helps you quickly compare data in two or more tables, find the differences and it also generates a script to effortlessly synchronize data. Those are bringing easy table manages to dba and developers. This tool is also safe, easy to manage and has user-friendly interface
For demo please click here

3 – Data Generator

If you are making OS vendor product test such as AIX vs Sparc or Hp vs Exdata, you need to create the same load for both systems. There is similar program is available but this one is also very nice. Again the tool is easy to manage and has a user-friendly interface.
For demo please  click here

If you need some compare data, schema compares or load test I advise to use this tool.

One more Good new is, If you decide to buy this tool or some other you will get %10 discounts.

 


About Devart Company Products Part II

$
0
0

In my previous post, I tested dbForge Tools for Oracle side. In this post, I am going to share my thought about dbForge Studio for MySQL product.

The main link is here.

There some product available for Mysql but I can tell dbForge Studio for MySQL is one of the best in all those products. It has many features such as:

– Intelligent SQL Coding
– Database Compare and Sync
– Visual Query Builder
– Database Designer
– Import/Export Data
– Database Backup
– Database Administration

All those features in available in one product which is called dbForge Studio for MySQL

The good thing product support is very good and version of a product is released frequently. You can many things in dbForge Studio for MySQL with a simple friendly interface.

Its really to manage all DB task such as taking a backup, compare code, DB design.

I strongly suggest checking product demo which is available at this link 

Demos are very simple and very usable for learning product interface and commands.

One more Good new is, If you decide to buy this tool or some other you will get %10 discounts.

 


Viewing all 52 articles
Browse latest View live


Latest Images