最近装了oracle,电脑实在太卡了,想要限制内存使用,结果碰到一系列问题:
要用SYS帐户登录,修改SGA使用,结果不知道SYS密码。用SYSTEM帐户权限不够。
试了几条语句后,有几个文件修改不了,怀疑是不是自己系统用户的权限不够,然后给系统的帐户提权限。
本身已经是管理员权限了,想要提升为传说中的超级管理员,结果试了几种方法,都没效果。
后来在网上找了资料,找到了可行的方案。
sys;//系统管理员,拥有最高权限system;//本地管理员,次高权限scott;//普通用户,密码默认为tiger,默认未解锁sys;//系统管理员,拥有最高权限system;//本地管理员,次高权限scott;//普通用户,密码默认为tiger,默认未解锁
登录:
sqlplus / as sysdba;//登陆sys帐户sqlplus sys as sysdba;//同上sqlplus scott/tiger;//登陆普通用户scott
一、用SYSTEM账户连接为SYS的,就可以修改SGA了
直接用SYS帐户登录,出现下面的错误:
ORA-01017: invalid username/password; logon denied
解决方法:
进入cmd,用下面的语句登录,
connect username/password as sysdba;
附上oracle忘了密码的解决方案:
#1、忘记除SYS、SYSTEM用户之外的用户的登录密码。# 用SYS (或SYSTEM)用户登录。 CONN SYSTEM/PASS_WORD AS SYSDBA;# 使用如下语句修改用户的密码。 ALTER USER user_name IDENTIFIED BY newpass; #注意:密码不能全是数字。并且不能是数字开头。否则会出现:ORA-00988: 口令缺失或无效#2、忘记SYS用户,或者是SYSTEM用户的密码。#如果是忘记SYSTEM用户的密码,可以用SYS用户登录。 CONN SYS//PASS_WORD AS SYSDBA; ALTER USER SYSTEM IDENTIFIED BY newpass;#如果是忘记SYS用户的密码,可以用SYSTEM用户登录. CONN SYSTEM//PASS_WORD ; ALTER USER SYSTEM IDENTIFIED BY newpass;#3、如果SYS,SYSTEM用户的密码都忘记或是丢失。#打开命令提示符窗口,输入如下命令: orapwd file=D:/oracle/product/10.2.0/db_1/database/pwdctcsys.ora password=newpass#这个命令重新生成了数据库的密码文件。密码文件的位置在ORACLE_HOME目录下的/database目录下。# 这个密码是修改sys用户的密码。除sys和system其他用户的密码不会改变。
参考:http://blog.csdn.net/fdgaq/article/details/5343274
二、修改内存使用大小
alter system set sga_max_size=800m scope=spfile;alter system set sga_target=... scope=spfile;alter system set pga_aggregate_target=... scope=spfile;
另一种方法,试了,找不到pfile文件。。。。
创建pfile
SQL> CREATE PFILE ROM SPFILE;
默认生成的目录在$ORACLE_HOME\database 下
orcl10g.__db_cache_size=180355072orcl10g.__java_pool_size=4194304orcl10g.__large_pool_size=4194304orcl10g.__shared_pool_size=88080384orcl10g.__streams_pool_size=4194304*.sga_target=287309824
把里面调小点
在用pfile 启动数据库 startup pfile=$ORACLE_HOME\database\initSID.ORA 创建spfile SQL>CREATE SPFILE FROM PFILE=$ORACLE_HOME\database\initSID.ORA
参考:http://bbs.csdn.net/topics/320127215
另外介绍SGA