Math

Reading List for Self-Study University Mathematics

The Map of Mathematics by Dominic Walliman. https://www.flickr.com/people/95869671@N08/

I believe that If one couldn’t study something well, is not because of the problem of one’s own, but just not yet find out a good book or a reasonable learning path. Here’s a selection of my favorite books in math study. Listed in the suggested reading order.

All of them available online, e.g. Amazon Kindle or Google Books, etc. Some free source can be found from internet shared by others, try Google with operator “filetype:pdf”

My suggestion is to go enjoy reading and the feeling of learning new things. Make sure to understand each concept clearly one by one, don’t rush for completing, so that you won’t get lost and frustrated in later chapters. Take a break when you feel tired, but do read a few pages everyday, so that even you feel progress slow, it’s still slowly progressing. In this way you will be keep motivated and rewarded continuously, which I think is the key factor for a successful self-pace study in Math.

1. How to Ace Calculus: The Streetwise Guide (微積分之屠龍寶刀) by C.Adams, et al.
2. How to Ace the Rest of Calculus: The Streetwise Guide (微積分之倚天宝剑) by C.Adams, et al.

Comment: As titled it’s written in a rocky style, fun but very clear and detailed calculation steps, from the basic of Limits up to Triple Integrals. I read the Chinese version which is very well translated by 師明睿.

3. Immersive Linear Algebra by J. Ström, et al.

Comment: It’s a book written online: http://immersivemath.com/. Clear demos and detailed proofs.

4. Analysis I by Terence Tao
5. Analysis II by Terence Tao

Comment: Brilliant book by Professor Tao 陶哲軒, leading reader to develop analysis with his thinking and understanding of mathematics. Suggest start reading from volume I Appendix A: The basics of mathematical logic.

6. Linear Algebra and Its Applications by David Lay, et al.
7. The Road to Reality: A Complete Guide to the Laws of the Universe by Roger Penrose
8. Differential Geometry of Curves and Surfaces by Do Carmo
9. A Visual Introduction to Differential Forms and Calculus on Manifolds by Fortney

To be continued.

Oracle

Troubleshoot dbms_scheduler by event 27402. bug 17981015 still exist in 19c: scheduler jobs can manual run but will not auto run, only in specific PDB. “Exiting jsksDBObjLock with status 942” at LAST_OBSERVED_EVENT

User reported their dbms_scheduler jobs can be manual run, but will not auto run follow by schedule.

Checked all the scheduler jobs in that particular PDB has not been running for 2 days (UAT environment). And such issue only happened in this one PDB, but not in other PDBs in the same CDB.

Search around MOS doc found one helpful with diagnose details: Scheduler Stuck Executing Jobs And CJQ0 Locking SYS.LAST_OBSERVED_EVENT (Doc ID 2341386.1)

Setup below event 27402 in CDB root container for spooling scheduler debug traces.

alter system set events '27402 trace name context forever, level 65355';

Tested this event can be setup online and it will take effect immediately. It can be easily disable anytime by below command:

alter system set events '27402 trace name context off';

Check the scheduler job coordinator process CJQ0 tracefile path:

SQL> select pname,tracefile from v$process where pname ='CJQ0';
PNAME   TRACEFILE                                                                           
CJQ0     /u01/app/oracle/diag/rdbms/c19_apollo_x6e3/C19APOLL/trace/C19APOLL_cjq0_56770.trc    

tail -f the tracefile you will see large amount of debug logs flooding. So let’s only grab abnormal status (status <> 0)

$ tail -f C19APOLL_cjq0_381904.trc|grep status|grep -v "status 0"
SCHED 12-23 17:28:25.414 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):Exiting jsksDBObjLock with status 942
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):Exiting jsksDBObjLock with status 942
...

Let’s focus on those 942 errors:

$ tail -f C19APOLL_cjq0_381904.trc|grep -A6 -B4 "status 942"
--
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksKglGetObj):Exiting with status 0
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):KGL handle: 0x1dce069820, Lock: 0x1eb4df33c0, Pin: 0x1eba418400
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):Object does not exist
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):Releasing lock 0x1eb4df33c0 and pin 0x1eba418400
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):Exiting jsksDBObjLock with status 942
*** 2020-12-23T17:28:25.671841+08:00 (CDB$ROOT(1))
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):Entering jsksDBObjLock
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):Name: SYS.LAST_OBSERVED_EVENT
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):Type: 77, NSpace: 51, Mode: 2, Dur: 0
SCHED 12-23 17:28:25.671 1 00 381904 CJQ0 1(jsksDBObjLock_CDB):Calling lock routine

Can see it’s exactly the same symptom as described in MOS Doc ID 2341386.1. The Doc and bug 17981015 and related patches started since 11.2.0.3 in 2013 and only cover up to 12.1, says the issue has been fixed in 12.2. However the issue still happens in our 19.6 version DB in 2020.

$ head -18 C19APOLL_cjq0_381904.trc
Trace file /u01/app/oracle/diag/rdbms/c19_apollo_x6e3/C19APOLL/trace/C19APOLL_cjq0_381904.trc
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.6.0.0.0
Build label:    RDBMS_19.3.0.0.0DBRU_LINUX.X64_190417
ORACLE_HOME:    /u01/app/oracle/product/19.6.0/dbhome_1
System name:	Linux
Node name:	hkx6e3db01.lfinfra.net
Release:	4.1.12-124.26.12.el7uek.x86_64
Version:	#2 SMP Wed May 8 22:25:03 PDT 2019
Machine:	x86_64
Storage:	Exadata
Instance name: C19APOLL
Redo thread mounted by this instance: 1
Oracle process number: 880
Unix process pid: 381904, image: oracle@hkx6e3db01.lfinfra.net (CJQ0)
*** 2020-12-23T17:10:21.323093+08:00 (CDB$ROOT(1))

Solution:

Tested another workaround described in the doc: to flush shared_pool in both CDB and PDB indeed cannot resolve the issue.

Then the only way left is to arrange a restart of the CDB.

Tested it works. Issue fixed for now.

Fired a SR #3-24805039671 : Bug 17981015 occur in 19.6 DB, and will follow up with Oracle support, hopefully can get a solution and a update to this blog post.

Oracle

ORA-12641: Authentication service failed to initialize; klist: Credentials cache cannot be found

User configuring a new windows VM, trying to connect to Oracle DB with Kerberos authentication, hitting error:

ORA-12641: Authentication service failed to initialize.

Try to verify with cmd> klist, error:

Credentials cache C:\Users\xxx\krb5cc_xxx cannot be found

Further look at klist by cmd> where klist. Found there’s two klist.exe exist. If execute cmd> C:\Windows\System32\klist.exe, correct results returned.

Solution:

Update windows Enviroement Variables: Path, Move Up %SystemRoot%\system32 in front of the other klist.exe paths.

Issue fixed.

Reference:

Windows Single Sign-On to an Oracle database using Kerberos | jolliffe.hk

Oracle

Create standby in OEM 13c Error: “This operation is not supported while the standby database is being created.”

While trying to add a new standby by OEM 13c, error “This operation is not supported while the standby database is being created”.

A previous standby DB showing message: “Creation Status unknown”. Although checked in dgmgrl the standby status is healthy.

Solution:

1. Remove the database from Dataguard Broker but preserve the log shipping.

2. Add back the existing standby DB by “manage an existing standby database with Data Guard borker” function.

Issue resolved.

Reference: MOS Doc ID 1455165.1

Oracle

Create standby in OEM 13c Error: “Param destForwarderCredentials not provided”

Tried to create Dataguard standby in OEM 13c, error out “Param destForwarderCredentials not provided”. No information could be found from Google or MOS.

Solution:

Tried two step to workaround the issue:

  1. Login OEM by SYSMAN
  2. For step 2 and 3: type in OS login and password again in “New Credentials” instead of “Named Credentials”.

Issue resolved and OEM can proceed the standby creation.