oracle创建表空间及用户

create tablespace api 
datafile '/home/software/oracle/api.dbf' 
size 1500M 
autoextend on next 5M maxsize 3000M;

# 删除表空间

drop tablespace api including contents and datafiles

# 建用户

create user api_user_rw identified by 123456 default tablespace api;
 

# 赋权

grant connect,resource to api_user_rw;
grant create any sequence to api_user_rw;
grant create any table to api_user_rw;
grant delete any table to api_user_rw;
grant insert any table to api_user_rw;
grant select any table to api_user_rw;
grant unlimited tablespace to api_user_rw;
grant execute any procedure to api_user_rw;
grant update any table to api_user_rw;
grant create any view to api_user_rw;

 

重启服务器后启动oracle步骤

1、启动oracle监听:

lsnrctl start

2、创建数据库的时候,实例名叫 orcl,那么先设置一下oralce的sid

export ORACLE_SID=orcl # 安装时实例名
export ORACLE_SID=geek # 安装后新建的一个实例名

sqlplus sys as sysdba

SQL> startup  # 这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入 shutdown immediate;等shutdown结束之后,再输入startup。

3、过几秒钟等命令运行完成。这个时候,输入”select * from user_tables;”测试一下,看是否有查询结果。

# 查看当前实例名

SQL> select instance_name from v$instance;

# 查看所有创建的实例
1、通过查看文件夹方式(可以看到已启动未启动的)

[oracle@localhost ~]$ ll /home/software/oracle/oradata
total 0
drwxr-x--- 2 oracle dba 179 May 11 14:57 geek
drwxr-x--- 2 oracle dba 179 May 11 14:42 orcl

2、通过查看进程 (只能看到已启动的)

[oracle@localhost ~]$ ps aux | grep smon
oracle     2530  0.0  1.6 2087972 103580 ?      Ss   10:52   0:01 ora_smon_orcl
oracle     5135  0.0  1.4 2087972 91068 ?       Ss   11:31   0:00 ora_smon_geek

#监听端口
netca (oracle net configuration assistant)

# 创建数据库
dbca (database configuration assistant)

# 监听命令
listener control 简写lsnr ctl

启动监听:lsnrctl start
停止监听:lsnrctl stop
重启监听:lsnrctl reload
查看监听:lsnrctl status

# 安装时默认创建的几个账号
SYS
SYSTEM
SYSMAN
DBSNMP

oracle中sql学习

# 查询

SELECT * from "user_info" where "id" = 2;
SELECT * from "user_info" where "user_info"."id" = 2;

# 更新

/* 下面sql执行会报错 > ORA-00942: table or view does not exist */
/* 原因就是oracle数据库是区分大小写的,而且oracle的默认为大写的,也就是说在sql脚本上面写的sql语句,oracle运行的时候,它会自动转化为大写,参考 https://www.cnblogs.com/javJoker/p/7069321.html*/
update user_info set password = "666" where id = 3;

/* 把表名和字段名都加上双引号来区分大小写 */
/* 加上双引号后执行报错 > ORA-00904: "666": invalid identifier */
/* 解决方法就是把666这个值改为单引号,原因是 password字段的类型为VARCHAR2,只能用单引号 */
update "user_info" set "password" = "666" where "id" = 3;

/* 正常sql */
update "user_info" set "password" = '777' where "id" = 3;

# 插入

/* > ORA-00984: column not allowed here 原因是 username和password字段的类型为VARCHAR2,只能用单引号把值包起来 */
INSERT INTO "user_info" ("id","username","password") VALUES (4,"ccc",'111111');

/* 正常sql */
INSERT INTO "user_info" ("id","username","password") VALUES (4,'ccc','111111');

# 删除

/* as 别名问题,执行报错 > ORA-00933: SQL command not properly ended ,原因就是oracle里不需要as关键词,直接空格+别名即可 */
DELETE from "user_info" as ui where ui."id" = 4;

/* 正常sql */
delete from "user_info" where "id" = 4;
DELETE from "user_info" ui where ui."id" = 4;

 

ORACLE_SID作用

ORACLE_SID 是Oracle System Identifier的缩写
在Oracle系统中,ORACLE_SID以环境变量的形式出现,在特定版本的Oracle软件安装(也就是ORACLE_HOME)下,当Oracle实例启动时,操作系统上fork的进程必须通过这个SID将实例与其他实例区分开来,这就是SID的作用。

参考:  https://www.qycn.com/xzx/article/13626.html

redhat5.5 安装oracle10

    系统环境:redhat5.5_x64 oracle 10.2

1、先安装所需的rpm包
yum install -y binutils compat-db control-center gcc gcc-c++ glibc glibc-common libstdc++ libstdc++-devel make pdksh sysstat xorg-x11-deprecated-libs glibc-devel
2、添加相关的用户及组
[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# useradd -g oinstall -G dba oracle
[root@oracle ~]# passwd oracle
3、修改配置文件
[root@oracle ~]# vi /etc/sysctl.conf    //If the current value of any parameter is higher than the value listed in this table, then do not change the value of that parameter.

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

[root@oracle ~]# vi /etc/security/limits.conf

oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536

[root@oracle ~]# vi /etc/pam.d/login
session    required     pam_limits.so

切换到oracle
[root@oracle ~]# su – oracle

添加以下部分:
[oracle@oracle ~]$ vi .bash_profile

if [ $USER = “oracle” ]; then
        if [ $SHELL = “/bin/ksh” ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi

修改系统版本信息
[root@oracle ~]#echo redhat-4 > /etc/redhat-release

[root@oracle ~]# mkdir -p /u01/app/oracle/oraInventory
[root@oracle ~]# chown -R oracle:oinstall /u01/app/oracle/
[root@oracle ~]# chmod -R 775 /u01/app/oracle/

reboot server into GUI with oracle user.

export LANG=en   //如果系统安装选的中文,则执行。oracle10不支持中文,要不会出现图形乱码

然后 ./runInstaller开始安装。

PS:

为什么文档里面没有配置环境变量的参数。