I saw two verbs for making new oath.
Take an oath Swear an oath
What is the difference between them ?
Which one we should use ?
There is no difference in literal meaning.
When you "swear", you're making a solemn declaration or affirmation by some sacred being and binding yourself by oath.
When you "take an oath" (see def. 7), you swear solemnly, vow.
So, as you can see, whether you say "swear an oath" or "take an oath," it doesn't change the literal meaning.
You can also say "make an oath" or "affirm an oath" and have it mean the same thing.
But there can be a huge difference in ideological meaning.
In some people's religions, especially Christian religions, it is against their religion to "swear." That is based on a scripture in the New Testament that reads:
"But I say unto you, Swear not at all; neither by heaven; for it is God's throne."
-Jesus Christ, The Sermon on the Mount (Matthew 5:24)
While not all Christian religions follow the letter of this law, many do. As a result, adherents of those religions refuse to "swear" an oath on religious grounds, believing it to be sin, blasphemy, even.
Since there are many situations where an oath is required -- like becoming President, testifying in court, and joining the military, to name a few -- and since the First Amendment guarantees people's rights to practice their religion without interference, Christians who have a religious objection to being required to swear an oath can't be made to and can't be impugned in any way for not doing so. So what to do?
Enter the verb "take." For people who have a religious objection to saying "swear" or to "swearing an oath," the convention has been established that they may instead say "take" instead of "swear, as in "take an oath" instead of "swear and oath," allowing oaths to be entered into asking anyone to violate their religious beliefs by having to "swear."
Maybe this helps you understand why you sometimes here "take" and sometimes here "swear" in reference to forming an oath, not that people who use "take" are necessarily thinking of the religious implications or lack thereof. While "take an oath" in lieu of "swear an oath" may be splitting hairs and pure semantics since the literal meaning is the same, to religious for whom to "swear" to anything is a sin against God, the absence of the actual word "swear" is a difference that makes all the difference.
The difference is the difference in meaning between the two words take and swear, when combined with oath.
You can take an apple from a fruit bowl, take your clothes to the cleaners and take your questions to ELU. You can take very ordinary everyday objects, and you can also take a solemn oath.
Not so with swear. Swear relates directly to the object of the sentence, the oath. It serves to re-emphasize the seriousness of the action. Implicit in the phrase is that you are swearing by something, be that 'the gods', your own values, or some nobler wider set of values (e.g. the Knight's Code).
For this reason
To swear an oath
Emphasizes the commitment and duty on the part of the oath taker. This additional emphasis is not present when take is used in place of swear.