1,忘记sys密码
打开CMD命令窗口,执行以下操作:
1,SQLPLUS /NOLOG; 2, 3,CONNECT / AS SYSDBA 4, 5,ALTER USER SYS IDENTIFIED BY 新密码 6, 7,ALTER USER SYSTEM IDENTIFIED BY 新密码 8,
第二种方法:
重建密码文件 需要重建密码文件,具体步骤如下: 1.首先,确定你的密码文件的路径和名称: 在windows下 密码文件路径oracle_homedatabase 密码文件名称pwd+sid.ora 在unix下 密码文件路径oracle_home/dbs 密码文件名称pwd+sid Sid为实例名称,查看实例名称 Select instance_name from v$instance; select 'pwd'||instance_name||'.ora' from v$instance; 2. 将原密码文件重命名为pwd+sid+back.ora 在windows命令提示符下重建密码文件: Orapwd file=….. Password=…. 密码文件中含有sys的密码 例如: orapwd file=F:oracleproduct10.2.0db_1databasePWDorcl.ora password=123 这样就建立了SYS的密码为123,可以登录了.
2,以sys账号登陆
建立用户表空间,索引表空间,创建用户,授权,分配配额:
--创建用户表空间--基础区 CREATE TABLESPACE TABLESPACE_NAME DATAFILE 'd:/oracledata/TABLESPACE_NAME01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED; --创建索引表空间--基础区 CREATE TABLESPACE TPPAML_BSE_IDX DATAFILE 'd:/oracledata/TABLESPACE_NAME_IDX01.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
--创建临时表空间--基础区
create temporary tablespace user_temp tempfile
'd:/oracledata/TEBLESPACE_NAME01_ODS.dbf' size 100M autoextend on next 10M maxsize 100M;
--创建用户
CREATE USER USERNAME IDENTIFIED BY "USER_PASSWORD" DEFAULT TABLESPACE TABLESPACE_NAME;
-- 给用户TPPAML授权
GRANT CONNECT TO USERNAME;
GRANT RESOURCE TO USERNAME;
GRANT CREATE TABLE TO USERNAME;
--建表权限
--Debug权限
GRANT debug any procedure, debug connect session TO username
GRANT CREATE ALL TABLE TO USERNAME;
--在所有表空间下建表权限(考虑是否需要)
--1 System Privilege for username
GRANT UNLIMITED TABLESPACE TO USERNAME;
-- 1 Tablespace Quota for username 无限制的空间限额
ALTER USER USERNAME QUOTA UNLIMITED ON TABLESPACE_NAME;
3,用新建的账号登陆建表即可
CREATE TABLE TABLE_NAME ( ID VARCHAR2(32) NOT NULL, NAME VARCHAR2(32) ) TABLESPACE TABLESPACE_NAME PCTFREE 10 INITRANS 1 MAXTRANS 255 STORAGE ( INITIAL 1M NEXT 1M MINEXTENTS 1
MAXEXTENTS UNLIMITED PCTINCREASE 0 ); ALTER TABLE TABLE_NAME ADD CONSTRAINT PRIMART_TABLE PRIMARY KEY (ID) --外键 USING INDEX TABLESPACE TABLESPACE_NAME PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE ( INITIAL 1M NEXT 1M MINEXTENTS 1
MAXEXTENTS UNLIMITED PCTINCREASE 0 );