之前有安装oracle11g,但都是装好了不会用,今天试了下能安装成功、配置好、然后可以用客户端连接使用,这里肯定要查很多的相关资料,不然也弄不好。
下面简单记录一步骤:
1、下载
下载文件一共有两部分:
https://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_1of2.zip
https://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_2of2.zip
下载到同一个目录,右键选择“解压到当前文件夹(X)”,两个文件都解压好之后,都会被解压到当前目录下面database文件夹中
2、安装
双击setup.exe打开安装向导。
不同小版本可能界面不太一样,但大致差不多,参考: https://blog.csdn.net/wudiyong22/article/details/78904361
检查先决条件时,如果检查不过可以忽略、继续安装(我电脑内存16G,完全不用担心,如果是内存、硬盘不足估计忽略也是安装不下去的,这就没办法了)
默认实例 ORCL,如无必要,建议不用改。
记住安装时你输入的管理口令,后面登录系统要用。
3、配置监听程序
打开:开始菜单->Oracle - OraDb11g_home1->配置和移值工具->Net Manager
点击默认的listener,原来只有地址1(默认只能通过localhost连接),点击左下角添加一个地址2,如图,端口与地址1一样,把localhost换成ip地址(比如:192.168.0.11),才能被外部访问或者自己用ip访问
原来的:
新加的:
(配置后要重启实例)
4、把oracle服务设置为手动启动
避免每次开机都慢,在服务中,把这几个设置为手动启动就好了。
还有为了以后方便快速启动oracle,可以做两个bat来启动和停止服务
启动Oracle服务.bat
net start "OracleDBConsoleorcl" net start "OracleMTSRecoveryService" net start "OracleOraDb11g_home1TNSListener" net start "OracleServiceORCL" pause
停止Oracle服务.bat
net stop "OracleDBConsoleorcl" net stop "OracleMTSRecoveryService" net stop "OracleOraDb11g_home1TNSListener" net stop "OracleServiceORCL" pause
放在桌面就好,文件不大,net命令需要管理员权限,右键“以管理员身份运行(A)”就行:
停止:
启动:
5、创建登录用户、然后创建表、操作表测试
oracle自家的免费客户端:Oracle SQL Developer
windows有两个链接,一个是with jdk 8(电脑没装jdk 8 时使用) ,一个是不包含jdk 8(如果你电脑上已经装了jdk 8 就使用这个)
下载页面:https://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
新建数据库连接,用SYS用户:
创建tester用户,并授权
create role opr_db;--创建一个专用角色,用来控制测试用户的权限 grant create session,create table,update table,insert table,create view,create SEQUENCE,create TRIGGER,create procedure to opr_db; create user tester identified by test123456;--创建一个测试用户 --grant opr_db to tester;--给测试用户授予角色权限 --revoke opr_db from tester; grant dba to tester;--权限太多,如果只是自己测试,直接给DBA权限,省事
创建新连接,使用tester用户
执行创建表、插入数据等sql:
--使用测试用户创建表、序列、触发器 CREATE TABLE T_USERS ( ID NUMBER NOT NULL , NAME VARCHAR2(20) NOT NULL , AGE INT NOT NULL , REMARK VARCHAR2(200) ); CREATE UNIQUE INDEX IX_T_USERS_ID ON T_USERS (ID ASC); COMMENT ON COLUMN T_USERS.ID IS '主键'; COMMENT ON COLUMN T_USERS.NAME IS '姓名'; COMMENT ON COLUMN T_USERS.AGE IS '年龄'; COMMENT ON COLUMN T_USERS.REMARK IS '备注'; --创建序列,处理自增字段 -- drop SEQUENCE SEQ_USERS_ID; CREATE SEQUENCE SEQ_USERS_ID INCREMENT BY 1 START WITH 1 NOMAXvalue NOCYCLE NOCACHE; --创建触发器,在新增数据时更新自增列 CREATE OR REPLACE TRIGGER T_USERS_ID_SEQ_TRIGGER BEFORE INSERT ON T_USERS REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW DECLARE BEGIN SELECT SEQ_USERS_ID.NEXTVAL INTO :NEW.ID FROM DUAL; END T_USERS_ID_SEQ_TRIGGER; --测试新增一条数据 insert into T_USERS(NAME,AGE) values('tester1',16); --查询数据 select * from T_USERS;
到此整个过程算是完成了。
其实作为软件设计工程师,哪里要搞这些东西,平时就只要建表、建存储过程,然后对数据增、删、改、查就好了,这些东西要搞也没权限,有专门的DBA,咱怎么可能有这权限?呵呵。
要学习这些东西,只有在自己电脑上装个数据库去玩了,建议电脑内存少于8G的就不用玩了,太卡,16G内存开oracle然后操作几下,内存占8G左右(可能是动态占用)。