A friend asked me a few days ago about oracle user password restrictions whether the oracle user password can be signed @. I was asked down for a moment and immediately flipped through the document. However, neither the Administrator's Guide nor Security Guide clearly stated which characters can be used as the oracle user password. Later, I thought it would be a problem. For example, the user is ziye and the password is ziye @ body. 1 sqlplus ziye/ziye @ body2 -- it will be parsed into: the user is ziye, the password is ziye, and the body is the connection identifier. Since the document does not explicitly limit the characters used by the password, there should be no limit on characters. Yes, it does. You only need to use double quotation marks ("") to identify the password. 1 sqlplus 'ziye/"ziye @ body" '@ rstdby2 -- 1 double quotation mark password, 1 single quotation mark username + password, that is: 'User name/"password" '@ service name here, there is also a common mistake, that is, creating an oracle object is, accidentally adding double quotation marks to the object name, the created object is not the expected object. A quoted identifier begins and ends with double quotation marks ("). If you name a schema object using a quoted identifier, then you must use the double quotation marks whenever you refer to that object.