暂无图片
Oracle7 启动问题
我来答
分享
L
lolo
2022-12-10
Oracle7 启动问题

用svrmgr32启动数据库报错

SVRMGR> startup
LCC-00161: ORACLE error (possible syntax error) parameter [NULL]
ORA-01031: insufficient privileges


第一个错误似乎是说参数文件有问题,但是参数文件只有一行

db_name=ORCL

请问这是什么原因

我来答
添加附件
收藏
分享
问题补充
9条回答
默认
最新
农夫三拳
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.ora) or
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
暂无图片
Oracle
2022-12-10
mark,mark,mark,mark,mark,mark,mark,mark,mark,mark,mark,mark,mark,
lolo
题主
2022-12-10
好文章,谢谢,现在太晚了,我明天看看。
watson
2022-12-11
没接触过,还是需要向大佬学习下。
展开全部评论(2条)
T
Ty3306

这不是提示权限不足么,检查下你文件的权限

暂无图片 评论
暂无图片 有用 0
农夫三拳

SVRMGR这玩意估计很多人都没见过

最老只见过805,现在还有用7的?

暂无图片 评论
暂无图片 有用 0
lolo
题主
2022-12-10
是啊,我搞着玩的
L
lolo

不行呢,这是在Win11上,用系统管理员运行了svrmgr32,还是同样的错误

暂无图片 评论
暂无图片 有用 0
农夫三拳
2022-12-10
管理员在ora_dba组吗
lolo
题主
2022-12-10
应该是svrmgr23,我想当然的以为是32位的意思。
L
lolo

> 管理员在ora_dba组吗

由于安装文件无法安装,我是直接复制压缩包的相关文件的,也就是说没有经过安装的过程。你说的ora_dba组不存在(另外,这是在Windows上,你说的ora_dba是Linux上的吧)

暂无图片 评论
暂无图片 有用 0
农夫三拳
2022-12-10
9,10,11在win上d都会自动建ora_dba
Oracle

都是大佬,听都没听过,学习了,学习了

暂无图片 评论
暂无图片 有用 1
鸿惊九天
2022-12-11
没接触过,还是需要向大佬学习下。
L
lelepapa

学习了。这oracle7很久远的时代了。估计在2000年左右用的,已经20多年了。

暂无图片 评论
暂无图片 有用 1
lelepapa
答主
2022-12-11
学习了。这oracle7很久远的时代了。估计在2000年左右用的,已经20多年了。
L
lolo

搞好了,还是在d上,一直以为NLS_LNAG是服务器端的,而实际上是要设置SVRMGR23端(客户端),客户端的NLS_LANG一直设置为American_America.AL32UTF8,这个貌似Oracle7还不支持,改为American_America.US7ASCII后好了。

暂无图片 评论
暂无图片 有用 1
农夫三拳
2022-12-12
oracle7能在win11上启动,是不是说明win在20年的时间都没啥大的变化
L
lolo

这说明Windows向后兼容性好 :)

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏