用svrmgr32启动数据库报错
SVRMGR> startup
LCC-00161: ORACLE error (possible syntax error) parameter [NULL]
ORA-01031: insufficient privileges
第一个错误似乎是说参数文件有问题,但是参数文件只有一行
db_name=ORCL
请问这是什么原因
WIN: LCC-00161 and ORA-01031 on Startup (Doc ID 1027964.6) To BottomTo Bottom
Checked for relevance on 26-Sep-2010
Problem Description:
LCC-161 (null), ORA-1031 at startup
This problem is noticed on Windows NT, but may apply to other platforms as well.
When doing STARTUP after CONNECT INTERNAL, you get errors as the following screen
output shows:
SVRMGR> connect internal
Connected to an idle instance
SVRMGR> startup
LCC-00161: ORACLE error (possible syntax error) parameter [NULL]
ORA-01031: insufficient privileges
If you rerun Server Manager, CONNECT INTERNAL, and do STARTUP NOMOUNT, you may get:
SVRMGR> connect internal
Connected to an idle instance.
SVRMGR> startup nomount
ORACLE instance started.
ORA-01012: not logged on
SVRMGR> connect internal
Password:
ORA-12705: invalid or unknown NLS parameter valuue specified
Notice the first connect internal is successful without a password because
DBA_AUTHORIZATION=BYPASS is set for this database.
However, after failure of STARTUP NOMOUNT the second CONNECT INTERNAL is prompted
with a password.
Solution Explanation:
On the Windows NT platform, these errors usually occur when the parameter file
cannot be read by Oracle upon database startup
This can be caused by either:
a) a corrupted parameter file (init
b) corrupted Windows NT services
c) Corrupted password file
d) If you get an ORA-12705, it can also be due to invalid NLS parameters
Solution Description:
a) If the parameter file (init<sid>.ora is corrupted
-------------------------------------------------
Create a new parameter file by copying the initorcl.ora file from the Oracle
installation CD and editing the new file with a DOS Editor.
Note: Do not cut and paste from the original file.**
1. Stop your OracleService<SID> by opening Control Panel > Services.
2. Rename your original init<sid>.ora (where <sid> is the sid of the database)
The default location for your init<sid>.ora file is in the Oracle Home\DATABASE folder
The default Oracle Home is \ORANT.
3. Insert the Oracle installation CD into CD-ROM drive and find the initorcl.ora file:
For Oracle8, it is located in the NT_X86\V8\RDBMS folder.
For Oracle7, it is located in the NT_X86\V7\RDBMS folder.
4. Open the DOS Editor by typing EDIT at a Command Prompt window.
- Click on the START button.
- Click on RUN.
- Type in: command
- Click on OK.
5. Open the initorcl.ora file and change the parameters to match the contents
of your original init<sid>.ora.
6. Save the file as the original init<sid>.ora to your Oracle Home\Database
directory and close the DOS Editor.
7. Start your OracleService<SID> via Control Panel > Services.
8. Startup your Database as usual.
This is almost always caused by bad bytes (garbage binary) in the parameter file
which can be embedded into the file by editing the init<sid>.ora in Microsoft Word or Notepad
b) If the problem is due to corrupted NT services
----------------------------------------------
Delete the SID and services:
Note: You MUST be logged into the Windows NT system as the user Administrator
-OR- a user within the Windows NT Administrative Group with full
administrative rights to perform the following steps.
1. Open a Command Prompt window:
- Click on the START button.
- Click on RUN.
- Type in: command
- Press OK.
2. Type in the following command: ORADIMxx -DELETE -SID <sid>
where: xx stands for the Oracle release (i.e., 73 or 80)
<sid> is the sidname of your database (i.e., ORCL)
In 8i and 9i, the comman d is just "oradim" (i.e., no xx)
3. Recreate the sid and services: ORADIMxx -NEW -SID sid -INTPWD password
-STARTMODE AUTO -PFILE <full path to initsid.ora>
c) Recreate the password file with the following steps
---------------------------------------------------
1. Stop the database services by going in to Control Panel (Click START >
Settings > Control Panel).
Highlight the OracleServiceSID and then OracleStartSID and selecting Stop.
2. Run Explorer (Right-Click START) and change to the ORANT\DATABASE directory.
To launch Explorer go to Start, select Programs, select Windows NT Explorer.
3. Show all files by selecting View from the pulldown menu.
Then select Options and highlight the "Show all files" radio button
from the View screen.
Click OK to close the window.
4. In the ORANT\DATABASE directory find the password file.
Look for a file that follows the format pwdSID.ora or pwdSID.
5. Rename the file and then close Explorer.
6. Go to a DOS prompt and recreate the password file.
To do this run oradim with the following parameters:
C:> orapwdXX file=<filename> password=<password> entries=<max # of DBA users>
7. Start the services that were stopped in step #1.
8. Launch svrmgr23 (or svrmgr30, or svrmgrl) and connect to the database.
Creating a new password file replaces the corrupted password file.
d) If ORA-12705: invalid value of NLS_LANG set in the registry
-----------------------------------------------------------
No matter what startup option is used it should have displayed ORA-12705 error,
preferably mentioning NLS_LANG parameter.
It appears to be a bug that an LCC-161 error is raised with [NULL] parameter.
This gives a false impression that there is something wrong with the initialization
parameter (initSID.ora) file.
Refer Note:179133.1 The correct NLS_LANG in a Windows Environment
Note:77442.1 ORA_NLS (ORA_NLS32, ORA_NLS33, ORA_NLS10) Environment
Variables explained.
To correct the problem, fix the NLS_LANG parameter.
It has the format:
<language>_<territory>.<character set>
The correct value for a U.S. windows environment is:
NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252
In Oracle8, when getting an ORA-12705 or an ORA-1012, check the following
by running REGEDT32:
* You should use caution in editing the registry. Your system may not boot up
* if you inadvertently modify a critical system parameter. Before editing this
* file you may want to view the 'Help' in the registry. Review the topics,
* "Exporting all or part of the registry to a text file", "Importing some or
* all of the registry", and "Restoring the registry"
1. Add the following two value entries to the registry under
HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE
2. Choose Edit -> Add Value
Value Name: NLSRTL33
Data Type: REG_EXPAND_SZ
String: D:\ORANT\NLSRTL33 (This assumes that D:\ORANT is ORACLE_HOME)
Value Name: ORA_NLS33
Data Type: REG_EXPAND_SZ
String: D:\ORANT\NLSRTL33\DATA
If you have access to another Windows NT box with Oracle installed, you can
check it to compare.
Make sure that these directories already exist.
They most likely do; the registry entries aren't there because Oracle was
reinstalled with an empty registry and the RSFs were already there.
This may be because of a reinstall due to a system disk crash or other failure
where the Oracle registry entries are lost but the Oracle files remain intact
In this scenario, if you do not specifically choose the RSFs when reinstalling,
they are skipped because the Oracle Installer detects them as existing already.
Therefore some registry entries are assumed to be there already.
Also check to make sure that the RDBMS80 entries are there in the registry.
Note that if this was 7.3, the entries would be NLSRTL32, ORA_NLS32 and RDBMS73
Was this document helpful?
Document Details
Email link to this documentOpen document in new windowPrintable Page
Type:
Status:
Last Major Update:
Last Update:
PROBLEM
PUBLISHED
04-Aug-2018
15-Feb-2022
Related Products
Information Centers
Document References
Recently Viewed
WIN: LCC-00161 and ORA-01031 on Startup [1027964.6]
Node Number Changes After a Node is Removed and Added Back to a Cluster [1421675.1]
Database Instance Resources Sequence in "crsctl stat res -t" Output Mismatches With Output of "olsnodes -n" [1580894.1]
ORA-25510: Quiesce Not Supported [2411437.1]
EMCA Release 10.1 to 11.1 Puts the Database in Quiesce And No New Connections or Operations Can Be Performed During the DB Control Repository Creation [375946.1]
Show More
Didn't find what you are looking for?Ask in Community...
评论
有用 0
不行呢,这是在Win11上,用系统管理员运行了svrmgr32,还是同样的错误
评论
有用 0> 管理员在ora_dba组吗
由于安装文件无法安装,我是直接复制压缩包的相关文件的,也就是说没有经过安装的过程。你说的ora_dba组不存在(另外,这是在Windows上,你说的ora_dba是Linux上的吧)
评论
有用 0学习了。这oracle7很久远的时代了。估计在2000年左右用的,已经20多年了。
评论
有用 1搞好了,还是在d上,一直以为NLS_LNAG是服务器端的,而实际上是要设置SVRMGR23端(客户端),客户端的NLS_LANG一直设置为American_America.AL32UTF8,这个貌似Oracle7还不支持,改为American_America.US7ASCII后好了。
评论
有用 1
墨值悬赏


