
最近装了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.****.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=180355072
orcl10g.__java_pool_size=4194304
orcl10g.__large_pool_size=4194304
orcl10g.__shared_pool_size=88080384
orcl10g.__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.****.net/topics/320127215
另外介绍SGA