with the help of laztoapk v0.9.0.35, which speeds up the setup in windows platform.
However, I hit below error when complile the example project.
D:\laztoapk\downloads\laz4android\fpc\3.0.0\bin\i386-win32\arm-linux-androideabi-ld.bfd.exe: cannot find crtbegin_so.o
after reading http://wiki.freepascal.org/Android_tutorial#Compile_the_demo_.22androidlcl.22
I notice the library path in default value of "project option/compilation option/path / library " is not correct, where it is
D:\android-ndk-r10e\platforms\android-8\arch-arm\usr\lib\;D:\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.9\
they are not my actual path, Missing the "prefix" path - "D:\laztoapk\downloads" for my environment.
Corrected them as shown below, and recompilation succeed!
D:\laztoapk\downloads\android-ndk-r10e\platforms\android-8\arch-arm\usr\lib\;D:\laztoapk\downloads\android-ndk-r10e\toolchains\arm-linux-androideabi-4.9\prebuilt\windows\lib\gcc\arm-linux-androideabi\4.9\
and I contributed the answer to http://forum.lazarus.freepascal.org/index.php/topic,22414.30.html
Hope this help the author if this is a bug.
Monday, August 29, 2016
Wednesday, August 17, 2016
Integration of Oracle Client and Lazarus
In Linux64/Windows64, when launch Lazarus 1.6, it reports can't find oci.dll. And even worse in Windows64, the TOracleConnection icon is not found in sqldb component tab. (While in windows32, at least I can see component tab).
From these symptoms, I conclude something wrong with the integration between Lazarus and Oracle client.
Googled one article says, 11g client is buggy, while 12c works better. As such, I upgraded my oracle client from 11.2.0.1 to 11.2.0.4 to prevent this issue. (No time to verify his finding)
From some more articles related to install Oracle InstantClient, I realize the environment variable LD_LIBRARY_PATH is the key to tell Lazarus where to find the relevant library file like oci.dll.
I compared and found oci.dll is under $ORACLE_HOME/bin, (surprisingly not $ORACLE_HOME/lib ), thus I set LD_LIBRARY_PATH to the bin directory. with this setting I see no more missing oci.dll message.
Next, I follow the same article to continue fixing the missing TOracleConnection component. step1, 2, 3, compiling ... , restart IDE, Finally I see the icon there.
Big Thanks to Sebastian Folz, M. Sc.
Here, add some more info related to his step 3.
Step 3: Enabling the TOracleConnection in your Lazarus installation again. You have to go to the "Package" menu entry. Select "Open loaded Package". In the dialog you select the package "sqldblaz". Now click "add" and go to the tab "Add files". Then browse to the file "oracleconnection.pp" under "[Lazarus directory]\fpc\2.6.2\source\packages\fcl-db\src\sqldb\oracle" and add it to the package. The next step is, to change the file "registersqldb". Search for the first occurence of
{$DEFINE HASORACLECONNECTION}
It's in an {$IFNDEF WIN64} section. You need to move it out there. I moved it under the line
{$DEFINE HASSYBASECONNECTION}
. Then save the file, compile the package via "compile" button. If it compiled successfully, click the button "use" and then "install". Now your Lazarus should be build new. After strating the IDE again,
The registersqldb is D:\lazarus64\components\sqldb\registersqldb.pas, and my modification to file as shown in the screenshot.
From these symptoms, I conclude something wrong with the integration between Lazarus and Oracle client.
Googled one article says, 11g client is buggy, while 12c works better. As such, I upgraded my oracle client from 11.2.0.1 to 11.2.0.4 to prevent this issue. (No time to verify his finding)
From some more articles related to install Oracle InstantClient, I realize the environment variable LD_LIBRARY_PATH is the key to tell Lazarus where to find the relevant library file like oci.dll.
I compared and found oci.dll is under $ORACLE_HOME/bin, (surprisingly not $ORACLE_HOME/lib ), thus I set LD_LIBRARY_PATH to the bin directory. with this setting I see no more missing oci.dll message.
Next, I follow the same article to continue fixing the missing TOracleConnection component. step1, 2, 3, compiling ... , restart IDE, Finally I see the icon there.
Big Thanks to Sebastian Folz, M. Sc.
Here, add some more info related to his step 3.
Step 3: Enabling the TOracleConnection in your Lazarus installation again. You have to go to the "Package" menu entry. Select "Open loaded Package". In the dialog you select the package "sqldblaz". Now click "add" and go to the tab "Add files". Then browse to the file "oracleconnection.pp" under "[Lazarus directory]\fpc\2.6.2\source\packages\fcl-db\src\sqldb\oracle" and add it to the package. The next step is, to change the file "registersqldb". Search for the first occurence of
{$DEFINE HASORACLECONNECTION}
It's in an {$IFNDEF WIN64} section. You need to move it out there. I moved it under the line
{$DEFINE HASSYBASECONNECTION}
. Then save the file, compile the package via "compile" button. If it compiled successfully, click the button "use" and then "install". Now your Lazarus should be build new. After strating the IDE again,
The registersqldb is D:\lazarus64\components\sqldb\registersqldb.pas, and my modification to file as shown in the screenshot.
Tuesday, June 14, 2016
RMAN-06214: Archivelog , controlfile copy
1. for archived log file
RMAN-06207: WARNING: 677 objects could not be deleted for DISK channel(s) due
RMAN-06208: to mismatched status. Use CROSSCHECK command to fix status
RMAN-06210: List of Mismatched objects
RMAN-06211: ==========================
RMAN-06212: Object Type Filename/Handle
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_219_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_220_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_221_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_222_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_223_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_224_1.arc
This is simple to clear with one command: crosscheck archivelog all;
After which, just issue : DELETE NOPROMPT OBSOLETE device type disk;
RMAN-06207: WARNING: 677 objects could not be deleted for DISK channel(s) due
RMAN-06208: to mismatched status. Use CROSSCHECK command to fix status
RMAN-06210: List of Mismatched objects
RMAN-06211: ==========================
RMAN-06212: Object Type Filename/Handle
RMAN-06213: --------------- ---------------------------------------------------
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_219_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_220_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_221_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_222_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_223_1.arc
RMAN-06214: Archivelog /archive/testdb01/arch_822080339_224_1.arc
This is simple to clear with one command: crosscheck archivelog all;
After which, just issue : DELETE NOPROMPT OBSOLETE device type disk;
2. for controlfile copy, I have to crosscheck for each file copy name. i.e.
run {
allocate channel c1 ;
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_DAL_testdb01.2015516.210';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_AL_testdb01.2015517.30';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_DAL_testdb01.2015517.90';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_AL_testdb01.2015517.150';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_DAL_testdb01.2015517.210';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_AL_testdb01.2015518.30';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_DAL_testdb01.2015518.90';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_AL_testdb01.2015518.150';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_DAL_testdb01.2015518.210';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_AL_testdb01.2015519.30';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_DAL_testdb01.2015519.90';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_AL_testdb01.2015519.151';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_DAL_testdb01.2015519.210';
crosscheck controlfilecopy '/oracle/node1/admin/testdb01/cntrl/ctrlf.BILLDB21_AL_testdb01.2015520.30';
DELETE NOPROMPT OBSOLETE device type disk;
release channel c1;
}
Thursday, June 02, 2016
Ah, 11g OEM can't support my 12c PDB acting as Recovery Catalog
See the SID being used ? In 12c, I don't see there is SID for 12c portable database. That is the problem.
NMO not setuid-root (Unix-only)
come across with above error when using Enterprise Manager, dealing with backup & recovery.
Referred to below two pages, to confirm they are same problem & solution.
https://community.oracle.com/thread/383358?start=0&tstart=0
https://dba010.wordpress.com/2011/07/18/error-connection-to-host-as-user-oracle-failed-error-nmo-not-setuid-root-unix-only/
My problem solved after ask system administrator to help run the root.sh too.
Referred to below two pages, to confirm they are same problem & solution.
https://community.oracle.com/thread/383358?start=0&tstart=0
https://dba010.wordpress.com/2011/07/18/error-connection-to-host-as-user-oracle-failed-error-nmo-not-setuid-root-unix-only/
My problem solved after ask system administrator to help run the root.sh too.
Monday, May 30, 2016
ORA-17628: Oracle error 17629 returned by remote Oracle server
when resync catalog
rman target / catalog rman/@RCAT
RMAN> RESYNC CATALOG FROM DB_UNIQUE_NAME DGs;
RMAN>
user interrupt received
RESYNC CATALOG FROM DB_UNIQUE_NAME DG;
resyncing from database with DB_UNIQUE_NAME DG
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of resync from db_unique_name command on default channel at 05/26/2016 16:19:54
ORA-17629: Cannot connect to the remote database server
changed to use password connection
orarac2poc:DGS:/home/oracle/ops/logs> rman target sys/ catalog rman/@RCAT
Recovery Manager: Release 11.2.0.4.0 - Production on Thu May 26 16:20:01 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: DG (DBID=1716975309)
connected to recovery catalog database
RMAN> RESYNC CATALOG FROM DB_UNIQUE_NAME DG;
resyncing from database with DB_UNIQUE_NAME DG
starting full resync of recovery catalog
full resync complete
RMAN> RESYNC CATALOG FROM DB_UNIQUE_NAME all;
resyncing from database with DB_UNIQUE_NAME DG
starting full resync o
rman target / catalog rman/
RMAN> RESYNC CATALOG FROM DB_UNIQUE_NAME DGs;
RMAN>
user interrupt received
RESYNC CATALOG FROM DB_UNIQUE_NAME DG;
resyncing from database with DB_UNIQUE_NAME DG
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of resync from db_unique_name command on default channel at 05/26/2016 16:19:54
ORA-17629: Cannot connect to the remote database server
changed to use password connection
orarac2poc:DGS:/home/oracle/ops/logs> rman target sys/
Recovery Manager: Release 11.2.0.4.0 - Production on Thu May 26 16:20:01 2016
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
connected to target database: DG (DBID=1716975309)
connected to recovery catalog database
RMAN> RESYNC CATALOG FROM DB_UNIQUE_NAME DG;
resyncing from database with DB_UNIQUE_NAME DG
starting full resync of recovery catalog
full resync complete
RMAN> RESYNC CATALOG FROM DB_UNIQUE_NAME all;
resyncing from database with DB_UNIQUE_NAME DG
starting full resync o
Friday, May 27, 2016
data guard SwitchOver using cloud control
When encounter this message in cloud control "You must reconnect to the current standby apply instance to perform the operation".
This means I have to connect to standby database as target, before the switch over can be performed. As currently I am connecting to primary database as target, which is not correct.
Subscribe to:
Posts (Atom)






