一、安装Oracle_11g_R2
1、安装所必要的软件包:(CentOS)
参见官方文档
-rw-r--r--. 1 oracle oinstall 1358454646 Feb 5 22:57 p10404530_112030_Linux-x86-64_1of7.zip
-rw-r--r--. 1 oracle oinstall 1142195302 Feb 5 22:57 p10404530_112030_Linux-x86-64_2of7.zip
2、添加用户,用户组
groupadd oinstall;groupadd dba;useradd -g oinstall -G dba oracle
3、设置内核参数(添加到文件末尾)
vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
配置/etc/hosts文件中IP 主机名映射关系
IP hostname主机名
4、设置文件限制 (添加到文件末尾)
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
5、设置bash(添加到文件末尾)
vi /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
source /etc/profile
6、创建Oracle产品目录
mkdir -p /u01/app/oracle/product/11.2.0.3/db_1
7、修改Oracle产品目录的所属和用户
chown -R oracle:oinstall /u01
8、设置Oracle用户环境变量 (添加到文件末尾)
su - oracle
vi .bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.3/db_1
export ORACLE_SID=masc
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
解压Oracle安装包
[oracle@node130 oracle]$ unzip p10404530_112030_Linux-x86-64_1of7.zip
[oracle@node130 oracle]$ unzip p10404530_112030_Linux-x86-64_2of7.zip
[oracle@node130 oracle]$ cd database/
[oracle@node130 database]$ ls
doc install readme.html response rpm runInstaller sshsetup stage welcome.html
[oracle@node130 ~]$ cd /opt/Oracle/database/
9、安装Oracle
--如果没有安装图形界面,则需要先安装。
# yum grouplist
# yum groupinstall "X Window System"
# yum groupinstall Desktop
yum install xterm
yum install xclock
配置xmanager
打开xstart
输入主机host,协议protocal,ssh,输入登陆的用户名;身份验证,点击设置,输入密码;命令点击三角符号,选择第三个:xterm(Linux:Type 2)如下图所示:
填好之后点击运行即可;如下图所示:
现在可以在远程连接窗口中输入命令,如下图所示:
安装过程中只安装Oracle软件。
oracle 用户
netca 配置监听
dbca 创建数据库
export ORACLE_SID=prod
[oracle@node133 database]$ lsnrctl start #启动监听
[oracle@node130 database]$ sqlplus "/as sysdba"
SQL*Plus: Release 11.2.0.3.0 Production on Mon Feb 6 17:15:47 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>startup #启动数据库
SQL> create table test_tb(id int);
Table created.
SQL> insert into test_tb values(1);
1 row created.
SQL> select * from test_tb;
ID
----------
1
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
超级用户解锁普通用户
默认的scott用户是被锁定的,先解锁就能登陆上了。 使用下面的语句解锁scott:
[oracle@node130 Desktop]$ sqlplus /"as sysdba"
SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 13 18:39:38 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> start;
SP2-1506: START, @ or @@ command has no arguments
SQL> startup;
ORACLE instance started.
Total System Global Area 776646656 bytes
Fixed Size 2232392 bytes
Variable Size 545263544 bytes
Database Buffers 226492416 bytes
Redo Buffers 2658304 bytes
Database mounted.
Database opened.
SQL> alter user scott account unlock;
User altered.
SQL> alter user scott identified by 123456;
User altered.
SQL> exit;
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@node130 Desktop]$ sqlplus scott/123456@prod
SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 13 18:59:02 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select * from bonus;
no rows selected
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> select * from emp;
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7369 SMITH CLERK 7902 17-DEC-80 800
20
7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300
30
7521 WARD SALESMAN 7698 22-FEB-81 1250 500
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7566 JONES MANAGER 7839 02-APR-81 2975
20
7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400
30
7698 BLAKE MANAGER 7839 01-MAY-81 2850
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7782 CLARK MANAGER 7839 09-JUN-81 2450
10
7788 SCOTT ANALYST 7566 19-APR-87 3000
20
7839 KING PRESIDENT 17-NOV-81 5000
10
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7844 TURNER SALESMAN 7698 08-SEP-81 1500 0
30
7876 ADAMS CLERK 7788 23-MAY-87 1100
20
7900 JAMES CLERK 7698 03-DEC-81 950
30
EMPNO ENAME JOB MGR HIREDATE SAL COMM
---------- ---------- --------- ---------- --------- ---------- ----------
DEPTNO
----------
7902 FORD ANALYST 7566 03-DEC-81 3000
20
7934 MILLER CLERK 7782 23-JAN-82 1300
10
14 rows selected.
SQL> select * from salgrade;
GRADE LOSAL HISAL
---------- ---------- ----------
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999
QL> create user test_user identified by 123456;
User created.
SQL> grant create session to test_user;
Grant succeeded.
[oracle@node130 Desktop]$ sqlplus test_user/123456@prod
SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 13 19:18:11 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> create table test_table(id int);
Table created.
SQL> insert into test_table values (1);
insert into test_table values (1)
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'USERS'
锁用户
[oracle@node130 Desktop]$ sqlplus / "as sysdba"
SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 13 19:20:44 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter user test_user account lock;
User altered.
SQL> exit;
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@node130 Desktop]$ sqlplus test_user/123456@prod
SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 13 19:22:21 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
ERROR:
ORA-28000: the account is locked
Enter user-name:
[oracle@node130 Desktop]$ sqlplus / "as sysdba"
SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 13 19:23:07 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter user test_user account unlock;
User altered.
SQL> grant dba to test_user;
Grant succeeded.
SQL> exit;
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@node130 Desktop]$ sqlplus test_user/123456@prod
SQL*Plus: Release 11.2.0.3.0 Production on Thu Apr 13 19:23:50 2017
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> insert into test_table values(1);
1 row created.
SQL> select * from test_table;
ID
----------
1